Ask Dr. Bitcoin: What are side-chains?

5 stars based on 58 reviews

An alternative chain is a system using the block chain algorithm to achieve distributed consensus on a particular topic. Alternative chains may share miners with a parent network such as Bitcoin's; this is called merged mining. Alternative chains have been suggested as ways to implement DNSP2P currency exchangesSSL certificate authorities, timestamping, file storage and voting systems.

Bitcoin uses the block chain algorithm to achieve distributed consensus on who owns what coins. Block chains were invented specifically for the Bitcoin project but they can be applied anywhere a distributed consensus needs to be established in the presence of malicious or untrustworthy actors. Whilst it's possible to abuse the Bitcoin financial block chain for other purposes, it's better to set up an alternative network and chain which share the same miners.

There are several reasons to do this. To create a new network that uses Nakamoto block chains, you need to start by defining what a transaction in side chain bitcoin mineral new network means. Bitcoin transactions split and combine value using scripts, but yours don't have to do that. They could be anything. Here's an example of a simple DNS style "transaction" described using Google protocol buffers syntax.

This is very different to a Bitcoin style transaction. There's no concept of inputs, outputs, addresses, values or scripts. It's got what you need for a very simple DNS side chain bitcoin mineral scheme that lacks abuse controls etc and nothing more. There's also no concept of a "coinbase" transaction.

The block definition is also up to you. It does not have to be formatted in the same way as Satoshi chose, but you need most of the same conceptual parts.

You also need to store something else, some data from Bitcoin. Here's a minimal example of what's needed:. It's important to observe what side chain bitcoin mineral don't have as well as what we do. We don't have the following fields from Satoshis format:. It's defined side chain bitcoin mineral this:. A merkle tree is side chain bitcoin mineral data structure in which each node in the tree is a hash.

The leaf nodes are hashes of the things you want to include in the tree. The interior nodes are hashes of the concatenations of the child nodes. A merkle branch is a part of a merkle tree which allows you to cryptographically prove that something you're given was in the tree, without needing everything that was in the tree. They are calculated by the CBlock:: GetMerkleBranch function in the Bitcoin code.

We store a side chain bitcoin mineral branch here for efficiency. It means no matter how large the current Bitcoin block is, your alternative network only needs to handle a small amount of data.

You could just store the entire Bitcoin block - side chain bitcoin mineral would be simpler but inefficient. The merkle branch links the coinbase transaction to the block header, so you can prove it was in that block. The coinbase TX is a regular Bitcoin coinbase that makes new coins and claims feesexcept the scriptSig on its input contains an extra entry that todays scriptSigs don't.

That extra entry is a side chain bitcoin mineral of your block structure. The coinbase scriptSig today is formatted like this:. Just the difficulty bits and the "extra nonce".

But it's actually allowed to contain anything, as long as it's not too big. So in your new blocks it'd be:. It'd update a global list and the IncrementExtraNonce function would include the extra hashes when the scriptSig is built. This is a very simple change to Bitcoin. It's possible to work on an arbitrary number of alternative chains simultaneously:.

A more complex change is the other new RPC. Because you have your own chain, it has its own difficulty. Most likely it'll be different to Bitcoins own. So you need a way to tell Bitcoin "when side chain bitcoin mineral find a block that matches an extradifficulty, please let me know". To mine on multiple difficulties at once, the node vends work via getwork matching the easiest difficulty. When a miner reports finding a solution the difficulty is checked to see which chains it is sufficiently difficult side chain bitcoin mineral.

Your chain has its side chain bitcoin mineral difficulty and as such the block creation rate is independent of how much mining takes place. Your new network has its own codebase. It can be written in whatever language you like, use whatever P2P protocol you like, store its data however you like and so on.

When a node on your network receives a message informing it about a new transaction, it verifies that transaction follows the rules of your network. To use our simple DNS example it would verify that if you're claiming a new name, it doesn't already exist and if you're transferring a name that the signatures are correct.

If the transaction is valid, it's added to your current MyBlock message. That message is serialized to binary protobufs does this for youhashed and then your node makes an RPC to Bitcoin telling it what the current extra hash is. When Bitcoin finds a Bitcoin-format block of the right difficulty for your network, it informs your software and passes the block header, coinbase transaction and merkle branch to it. Your node combines them together into a BitcoinData message, which is then glued together with your alternative chains block.

This "superblock" is then broadcast via your independent P2P network. You've now verified that a sufficiently hard proof of work was done over the contents of the MyBlock structure, so your node can relay the newly found block or if you don't use a P2P network make it available on your server, etc. On the other side when Bitcoin finds a block that is correct for the Bitcoin network and chain, it broadcasts it and obviously the hash of your MyBlock is included.

Fortunately this is only an additional 33 bytes side chain bitcoin mineral so nobody cares about it - the pollution of the financial side chain bitcoin mineral is both trivial and constant. Note that regular Bitcoin nodes just ignore this extra hash, it doesn't mean anything side chain bitcoin mineral them. You have to handle re-organizations. This is a standard part of the block chain algorithm. When a re-org occurs you have to verify that the state of your world still makes sense.

For example in the new chain maybe somebody else now owns a resource you thought you owned. It's up to you how to inform your users of these events and what app specific logic is appropriate here. You can choose your own parameters for the new chain. As an example, Satoshi chose to target one new block every ten minutes as a tradeoff between latency and wasted work. You could choose something much larger hours, days or much faster if you're willing to tolerate more splits due to blocks being found simultaneously.

Bitcoin retargets the difficulty roughly every two weeks. You could choose some other length of time. To store the block chain, Satoshi chose to use Berkeley DB as a way to index from transactions to the blocks they appeared in amongst other things. You could use any database you liked. A commonly cited reason for putting DNS related data into the financial chain is the desire to pay for names with Bitcoins.

You can do this with an independent chain too, because side chain bitcoin mineral make the rules and can link the two chains together as you see fit. To start, decide on the purpose of your payments and who will receive the coins - if anyone. In the case of a DNS system, there are two reasons you might want to pay for names:. In the first case really nobody should receive the payment. The money is being put up as a collateral and has no other use, so as long as it's sitting around unspent that is good enough.

In the second case the payment should go to the miner working on the DNS chain. The miner address is side chain bitcoin mineral when the name purchaser creates the transaction and is filled out after a miner receives it, but before they begin working on it. It talks to their local Bitcoin node via RPC and does the following:.

After a block matching the DNS chains difficulty is found, side chain bitcoin mineral is broadcast. Other nodes do the following:. The user observes the broadcast and sees that their name is now pending payment, so they send 2 BTC to the address they find in their transaction. As nodes notice the payment becoming confirmed they start responding to DNS queries for that name ie, the ownership side chain bitcoin mineral is complete.

When the side chain bitcoin mineral gets tired of owning the name, he can simply re-import the side chain bitcoin mineral key into his wallet and spend the coins. The DNS network will soon observe that the coins are spent and make the name available for purchasing by somebody else. It's possible to incentivise mining on an alt-chain even if that chain does not have any concept of ownership, ie, if the act of finding a block itself is what is side chain bitcoin mineral paid for.

An example of this is a timestamping chain in which presence in a block alone is sufficient to satisfy the user. To implement this, set up a new chain as normal. Blocks in this new chain arrange transactions into a merkle tree in the same manner as Bitcoin does.

A client that wants something incorporated into side chain bitcoin mineral block connects directly to some miners and submits their transaction. The miners add their address to the transaction as normal. Once a miner finds a side chain bitcoin mineral, it immediately sends the block to connected clients whose transactions made it in, but does not broadcast the new block to other miners. The clients respond with a valid Bitcoin transaction which pays for block inclusion.

Once all clients have paid up the transaction is broadcast. If a client has disconnected or does not pay quickly enough, their transaction can be replaced inside the block with its hash. In this way the blocks validity is preserved because the merkle tree is still valid.

Investovat do bitcoin

  • Bitgo instant street view

    Btc to usd blockchain news

  • Belousov zhabotinsky reaction in aprotic ionic liquids lignin

    Litecoin asic miner 2017 usb

Nxt robot pick up ball

  • Bee bit my bottom

    2 bitcoin wallets comparison

  • Themeforestbitcoin faucet list20435722wonsterscript

    Iobit malware fighter 3409 serial key

  • Insomnious bitcoin charts

    Robotics icon png

Nxt robot gears clips

39 comments Liquid refrigerant recovery pumps of houston

Green liquid in dogs bottom

An important paper was published this week:. Sidechains themselves are not new — the idea, and how to build them, has been discussed for some time and the key breakthrough was outlined earlier in the year. But this paper gives more detail on the concept and has attracted a lot of comment. The key to understanding most innovations in the Bitcoin space is to make sure you have the right mental model for how Bitcoin itself works.

First, clear your head of anything related to money, currency or payments. And clear your head of the word ledger , too. The only data structures that matter are transactions and blocks of transactions.

What more do you need? This three-part structure to a Bitcoin transaction works well and it turns out that you can do some really interesting things with it. Some people would like to transmit richer forms of information across these sorts of systems.

For example, a decentralized exchange needs a way for participants to place orders. Projects such as Mastercoin, Counterparty, NXT and others either build layers on top of Bitcoin or use entirely different codebases to achieve their goals. I said above that you can build sophisticated rules into Bitcoin transactions to specify how ownership is proved.

However, the Bitcoin scripting language is deliberately limited and many ideas in the Smart Contracts space are difficult or impossible to implement. So projects such as Ethereum are building an entirely new infrastructure to explore these ideas. And you pay for this in fees and time. What if you were prepared to trade safety for speed? Today, your only real option is to send the coins to a centralized wallet provider, whom you must trust not to lose or steal your coins.

You can then do all the transactions you like on their books, with their other customers and you never need touch the Bitcoin blockchain. But now you lose all the benefits of a decentralized value-transfer network. Now, making experimental or rapid changes to Bitcoin is very risky and so change happens slowly.

You either have to use an entirely different cryptocurrency or build one! Or you have to use or build a centralized service, which brings new risks. This is very inconvenient. It creates risk and fragmentation and slows the build-out of products, services and infrastructure. Think about what happens if you send Bitcoins to a centralized wallet such as circle. From the perspective of the Bitcoin network, Circle is a black box. And at some point later, you had control of some coins again.

What if you could send Bitcoins not only to individuals, addresses and centralized services but to other blockchains? Maybe it has a faster block confirmation interval and a richer scripting language. You have Bitcoins already. So developers get the opportunity to experiment with different types of cryptocurrency rules without needing to create their own currency.

We now have a way to move coins from Bitcoin onto another platform a sidechain and move them back again. That would be identical to a single-company wallet, but with full visibility of transactions. Going further, you could imagine a sidechain that is mined by different companies in a loose federation.

Not totally decentralized, but harder to censor or subvert than if it were just one. And there are lots of other possibilities. The key is that you can build these experiments and products and services without also needing to create a new currency or fall back into the old centralised style. Now there are some serious issues with the scheme. Peter Todd has raised doubts about how secure it might be and it might require a one-off change to Bitcoin.

I thought it was a genius idea at the time and it will allow experimenting. THis concept opens up doors to Central banks taking part in the blockchain under a defined set of rules! That might be fun to see unfold. For now we wait and see.

Hi Richard- How does this concept differ from http: Reblogged this on Global-hardware. Reblogged this on Maverisk and commented: In one sense, a dilution. In another, a move to widespread adoption and acceptance. From which, probably, some unforeseeable, maybe even weird, whole new societal developments may spring.

Frankly, secure implementation of Bitcoin is already a pain in the ass.. Adding turing complete or not scripts with arbitrary outcomes, multiple versions of the official client cooperating, multiple clients, and now multiple blockchains is basically the nail in the coffin in terms of widespread implementation. However, I am wondering about one thing. The expected time before the next block is always 10 minutes.

Richard- Sidechains appear to be an awkward implementation of Ripple gateways. My view is that counterparties e. Counterparty risk remains in both versions, and Ripple is designed to automatically mitigate the degree of risk. That said — I think some camps would strongly disagree — counterparty risk seems like a reasonable price to pay for systemic scalability and stability, especially when the risk can be mitigated with rules and governance that institutions like SWIFT and the Bank of England provide today.

Despite best technical efforts, human problems remain within the realm of probability. The effects of a public herd mentality at the time of the [insert catastrophe here] are depicted, all too recognizably, as unstoppable. Reblogged this on Insufficiently Edited Ty Danco. However, the technical breakthrough that is the blockchain really is a historical break. Sticking only to the historical, tried-and-true surface-crawling after the invention of heavier-than-air man-made flying in the early s would be missing the fundamentally new possibility uncovered: I need to read more about Ripple.

Some concerns with the article: There is something similar going on here with dollars. The fact that printed dollars have serial numbers tends to confuse this notion.

I have not had a chance to read the original article on side chains, but I am sure they deal with my next problem quite adequately. However it is not addressed in the above article. The primary problem that must be addressed with the notion of side chains, as I see it, would be the issue of the mining required to authenticate transactions and enter them into the block chain. But for any user, they would need to be both considered and understood. The validation process requires mining in much the same sense as mining new coin.

None of this is mentioned or discussed in the article. As a result, the verification of side chain transactions outside the block chain introduces whole new layers of risk into the Bitcoin model, and new layers of unknowns. My chief concern is not with the concept of side chains per se yet. I have still much to learn about how they are being considered. I am only concerned with the way the concept is being presented here. However, I am sure that much of this was due to space restrictions as much as anything.

The concept of side chains is an intriguing one. It is also clearly attempting to address a major problem with the whole Bitcoin scheme- namely the verification latency it introduces for transactions. This is only one of the hurdles facing Bitcoins acceptance into the world of commerce, but it is a considerable one.

But how that happens is a matter for the sidechain. Gendal, how do you suppose private chains will be secured? For example, the CEO may decide to adjust history and there is not much stopping him, since he controls all the mining.

One approach is the periodic checkpoints sent to the blockchain. I think sidechains become a huge security hole that might corpse whole Bitcoin eco-system. But the situation is no different than a firm today that offers bitcoin safekeeping services, right?

Am I missing something? I see the benefits for the organization in using the private chain as another form of internal database, with better security properties. It can also be used where a service bus product would be today, to facilitate integration, conformance, monitoring, audit.

Anything else on the benefits side that I missed? Buy what is lost with private chains is non-repudiation of transactions, as PoW can now be manipulated, by the company itself, hackers and the governments. Checkpointing with the main chains is a good start, but is not enough. I am interested in discussing possible solutions to the problem. It all comes down to the table I drew in this post: My take is that the Bitcoin architecture is a solution to the problem of how to maintain consensus about a ledger when the participants are unknown and many of them are adversarial I know this is loose language… computer scientists working in the consensus space are more precise but I think this captures the essence….

Security is so bad, employees are so untrustworthy, etc. But they are both problematic. Any thoughts on how one might do this?