Monday, November 30, 2015

Can Drivechain make bitcoin sidechains a reality?

Posted by Luke Parker on 30 November 2015 | Comments
Imagine there is a Bitcoin-like system out there that you’d like to use, but would rather not go through the risk and effort of buying the native tokens for. Sidechains offer a solution where the value of bitcoins can be transferred onto other blockchains, so that bitcoin users can take advantage of the properties of these separate systems.
Smart contracts, voting, super-fast confirmation times, and even a way for competing bitcoin versions to live side by side. Whatever the function you require from a blockchain solution, sidechains promise to make access seamless, trustless and decentralised.
- Paul Sztorc, Drivechain Author

Sadly, sidechains are nowhere near finished yet, despite some non-trivial VC investments.  Nonetheless, the overall concept promises access to limitless problem solving solutions, and a small collection of different teams are working on ways to implement the architecture that makes that happen.
In the original 2013 sidechain whitepaper, from Adam Back and the Blockstream development team, many ideas were explored in depth, but there was also so much missing.
At the core of any sidechain implementation is the idea that two digital currencies can be exchanged programmatically, without the need for a third party, or authorization. This ‘two-way peg' functionality was never fully explored in the 2013 paper, and many community voices openly worried that it could never work at all.
Conversations about fixing bitcoin's transaction limit, a problem that a sidechain with a working two way peg would solve, moved on to other alternatives, including the lightning network and bitcoin XT.
Paul Sztorc is one of the few developers actively exploring the concept. His latest project, dubbed "Drivechain - The Simple Two Way Peg" offers a new approach on plugging the hole in sidechains, with even more added features.
- Sztorc
In case the name Paul Sztorc sounds familiar, he's the big thinker behind several other projects in the Bitcoin space, including the prediction market protocol Truthcoin. With a number of big projects on his plate, it's clear that he desperately needs more coders to help make them a reality. He's asking for skilled developers to email him at the gmail address "truthcoin."
Drivechain is still a complicated collection of ideas to sort through at this point, and the details of his proposal are far too technical to explore here, but the new approach seems very interesting. Using a soft fork, merged mining, and some inventive, automated miner voting, Drivechain trades a very small amount of security for a whole lot of new functionality.
The gist of it is that to send bitcoins to a sidechain, it's as simple as sending your coins to a particular address, with no added changes of any kind to the bitcoin code itself. Meanwhile, releasing your coins later is harder, and it will take a soft-fork of the bitcoin blockchain. Participating miners will need to download new Bitcoin clients that support this function, enabling the release of these bitcoins.
The great news is that no hard-fork is needed, which has a lot of developers relieved. If sidechains are properly implemented, there should be no need for another hard fork, and the associated risks, all forking in the future could be done on sidechains.
However, the bad news is that there is an increased possibility for sabotage and perhaps theft. Groups of miners working together can 51% attack a sidechain that they mine, in order to steal any bitcoins that are locked into it. This would, however, only hurt the value of coins on that sidechain, not the original bitcoins. While this is a genuine concern, it is one that Sztorc sees as very close to the same problem bitcoin itself already has, and he claims to have figured out how to minimize the threat, through a process where miners vote to keep things honest.
The miners themselves would not have to manually vote, but they would have to merge-mine the sidechain that they can vote on. “If they merge mine, it can all be 100% automated,” Sztorc recently said on Reddit. This means that there aren’t many blockchains that would be compatible with Drivechain's implementation, at least not yet.
Scrypt-based altcoins, including Litecoin and Doge, are not compatible since miners of bitcoin can only merge-mine SHA 256 blockchains, like Namecoin, Ixcoin, and Devcoin. This may mean that all sidechains in the future will be brand-new chains, custom created from scratch for the purpose.
While sending bitcoins to the sidechain has never been a problem, releasing the bitcoins into the hands of a new owner has been a constant thorn in the side of this whole concept. Drivechain's solution is complex, but far more complete than the Blockstream solution was.
Sztorc proposes that whenever you want to change your sidechain coins back to bitcoins again, you send a “withdrawal transaction” (WT) from the alternative chain to a listening address, which destroys the sidechained coins, and specifies the bitcoin destination address.
Unfortunately, this release process is far from instant, because at this point you have to wait for it to be bundled with other WTs, and wait for the end of a minimum three-day period. This delay could be as much as two weeks, and is designed to give everyone involved the opportunity to ensure that the same WT is in both the Bitcoin blockchain and the sidechain. If the two blockchains disagree, everyone has plenty of time to contact each other, figure out what is going on, and redo the process until they get it right.
The process is obviously more complicated than this, but in simple terms; if there are problems, then a manual solution is available. If there are no problems, then everything proceeds automatically after the minimum three-day wait.
There is still quite a lot of coding and experimenting left to do, but the outcome looks sounds promising. Assuming that Sztorc and his team successfully finish, major problems with Bitcoin could be very quickly solved. BitcoinXT, for instance, could be run as an altcoin beside the Bitcoin core client that is mined now, and we could assess which of the proposals is better for bitcoin by watching them.
Better yet, a sidechain with a very short interval between blocks could be created. This could provide an exponential increase in the number of transactions per second, creating Visa-like processing capabilities, which would of course greatly increase investor confidence in bitcoin overall.
What does this mean for the value of altcoins in the future? It is conceivable that their market caps will all move into bitcoin over time. According to Sztorc, altcoins would eventually become obsolete, at least as far as their price goes.
Regardless of the value of any future altcoins, the value of bitcoin could grow substantially once sidechains become a reality, due to all of the added utility. This in turn attracts more miners and further secures the bitcoin blockchain, adding even more utility. A very fortunate positive feedback loop could be started.

No comments: