The authors of the new Bitcoin Sidechains paper “Enabling Blockchain Innovations with Pegged Sidechains,” published on the Blockstream website, hosted a Reddit AMA yesterday.
AMA means “Ask Me Anything” – Reddit users can ask the host all sorts of questions about any topic. Reddit AMAs use the site’s comment system for both questions and answers, and are similar to online text-only press conferences open to all Reddit users. Many celebrities have hosted Reddit AMAs to connect with a global online audience, including President Barack Obama in 2012, Julian Assange, Bill Gates, and Madonna. Gavin Andresen, Chief Scientist at the Bitcoin Foundation, hosted a Reddit AMA a few days ago.
The Bitcoin Sidechains paper is nothing short of revolutionary. It lays down the conceptual foundations of an ecosystem of “sidechains” separate from the main Bitcoin blockchain but interoperable with it. A sidechain can carry Bitcoin as currency, in which case users will be able to seamlessly transfer bitcoins between the sidechain and the main blockchain. At the same time, the sidechain can implement changes from Bitcoin Core. For example, a sidechain can implement more powerful scripting features.
That sounds like a Bitcoin 2.0 revolution. It’s interesting to make an analogy with the Internet itself, which achieved its full potential with the introduction of interoperability protocols between different autonomous islands.
Sidechains can be seen as a threat to, or even a death spell for most altcoins. In fact, it seems likely that all important features of useful altcoins (useful in the sense that they offer features not available in Bitcoin) could be replicated in a sidechain while retaining the important advantage of interoperability with Bitcoin. That will permit to follow Andrew Barisser’s recommendation to build on top (in this case, on the side) of the pure Bitcoin blockchain, rather than creating alternatives, without sacrificing the flexibility of altcoins. In other words, sidechains will offer the best of both worlds: the ability to rapidly experiment innovative solutions in a separate “greenhouse” while still using Bitcoin as currency.
The deployment of sidechains interoperable with Bitcoin requires the implementation of suitable hooks in Bitcoin Core, which will take some time. However, the required changes can be implemented in a test sidechain first, and imported in Bitcoin when they are fully tested and operational.
We report some interesting highlights from the AMA below.
Highlights from the Reddit AMA
Is there an alpha sidechain to play with? If not, are you creating one?
No. Yes. Keep an eye on https://github.com/blockstream.
Can a sidechain implement a Turing-complete scripting system for Bitcoin?
Turing completeness is not very useful generally, and has a number of irritating risks to deal with. [More] powerful scripting, OTOH, is very much among the things we care about and we’re hoping to fund people specifically to work on that.
Ethereum scripting is general purpose enough to implement two-way peg logic. Ethereum can be made to work as a sidechain.
If a sidechain carries a currency that is not Bitcoin (as mentioned in the whitepaper) how is the transfer of assets from/to the main Bitcoin blockchain handled?
You cant readily transfer the non-Bitcoin asset to the bitcoin blockchain (as bitcoin is designed to handle one asset) without a protocol similar to colored coins. However, you can transfer it to any other properly-equipped sidechain. A sidechain implementing a two-way peg with Bitcoin cannot transfer any of its native assets natively to Bitcoin, no. But those other assets can be transferred to other sidechains.
When you invented hashcash, when it was obviously not in the context of Bitcoin… What the heck was it for?
I was operating an anonymous remailer at the time and hashcash was to throttle spam in anonymous networks because you cant ideally rely on identity there. there were a number of applications of hashcash. https://hashcash.org/papers/hashcash.pdf
Bitcoin also is independent from identity, so there is a common theme there. see also b-money https://www.weidai.com/bmoney.txt by Wei Dai and bit-gold by Nick Szabo two ecash ideas that predate bitcoin that propose to use hashcash mining. also Hal Finney’s RPOW also uses hashcash mining.
Will Blockstream be developing sidechains?
Of course Blockstream will be developing some sidechains, but sidechains is an open idea which anyone can (and should!) use to make any sidechain they want.
How open will the development process be? Will it be accessible to other developers, or will you guys just be doing NXT style black box development and then handing down code once it is complete?
Absolutely not! As we work more on concrete development everything will be as open as possible (ie it will not be a Blockstream project, it will be as open as any other Bitcoin Core development).
How would altchains merge with sidechains on a protocol level?
Altchain is a generic term that includes both altcoins and sidechains. If you mean “Can an altcoin chain be a sidechain too?” The answer is yes. You can read more about this in section “6.1 Hashpower attack resistance”, in the point “Subsidy”.
If one wanted to turn an existing altchain into a sidechain or sidechain-compatible altchain, it would need to (just like Bitcoin) either use a softfork or federated pegging. Once that is in place, it would be up to the other sidechains whether they wish to accept that altchain’s assets being moved in or not in addition to (or instead of) bitcoins. If the current altchain is also desired to accept other assets (like bitcoins) being transferred in as a parallel asset to its native altcoin, it would be easiest done as a hardfork.
How will Sidechain impact existing and future altcoins?
Sidechains/the two way peg mechanism are a protocol not specific to Bitcoin. As noted in the paper, while we think sidechains will see the most use on Bitcoin due to its network effects, I wouldn’t be surprised to see an altcoin ship an early sidechain implementation before Bitcoin has a chance to have a community debate and (maybe) do a soft fork.
Sidechains are quite flexible such that a wide-range of economic and technical experiments can be conducted on them.
Would the success of sidechains be bullish or bearish the bitcoin (-as-a-currency-) price in your opinion?
What we hope to accomplish is allow more innovation in the Bitcoin ecosystem, without needing a different currency. If that means a positive impact for bitcoin’s value, so much the better.
Is Blockstream a for-profit company and, if so, what are its expected sources of revenue?
Blockstream is, indeed, a for-profit company. [W]e believe there is a vacuum in the industry (not just Bitcoin, but computing in general) for cryptographically strong trustless technology. It’s much easier and faster to build centralized systems, and the skills required to build trustless ones are of limited availability and scattered. Bitcoin is pretty much the first majorly successful implementation of cypherpunk technology beyond encryption and anonymizers. We think there is a tremendous business potential in building and supporting infrastructure in this space, some connected to Bitcoin and some not. E.g. by acting as a technology and services provider for other businesses in helping them migrate to a more Bitcoin-like way of doing business. Right now our focus is on building out the base infrastructure so that there is actually a place to build the revenue producing business we’d like to have, and then we hope to circulate that back into building more good technology.
How do you address concerns that there may be a conflict in having 3/7 of the top Bitcoin core devs working on both the core, and for a private company (Blockstream) which could promote soft or hard forks from the core in the future?
Pieter and I (the blockstream co-founders with commit access on the Bitcoin Core repository) had written into our employment agreements a clause that if we ever feel Blockstream is acting unethically we can depart and Blockstream will continue to pay most of our salary for a year for us to continue working on Bitcoin core.
In Bitcoin core today, consensus as a practice means all the commiters. We don’t merge things that any of us are strongly opposed to… and of course anyone else that wants to speak up against something can, and there is nothing that we can do to stop them.
How does the initial distribution of tokens on a sidechain work? Do bitcoins have to be transferred to the sidechain for any units of account to exist on that sidechain?
Sidechains can have as many different kinds of assets as the sidechain creator wishes it to, which can all be distributed however the creator sets down in the rules for the blockchain. The significant limitation is that external assets, such as bitcoins, can only be transferred out in the same quantity they have been transferred in – so if only 5 BTC gets moved onto the sidechain, only 5 BTC can be moved out of it.
Sidechains don’t need initial distribution as such. You transfer assets from another chain. For example, people holding bitcoin can transfer them to a bitcoin pegged sidechain.
What changes must you make to the bitcoin protocol to make sidechains a reality? What is a reasonable time scale for completing those changes?
In order to two-way-peg bitcoin (the asset), Bitcoin (the chain/protocol) must be extended to support the SPV proof of possession discussed in 3.2 of the paper as well as the contest period (and related reorg proofs). While these changes (if accepted by the greater Bitcoin community) will take some time to design, implement and deploy (ie merge into Bitcoin Core and soft-fork the Bitcoin network after miners have upgraded), we provide a more trusted method to perform tests of sidechains without changing Bitcoin in appendix A of the paper.
“The first sidechain” is up to the community. I’m sure “the first sidechain” will be identical to Bitcoin (for testing), but once they are readily available, rollout of all kinds of crazy sidechains will take weeks.
What do you think? Comment below!
Images from Blockstream and Shutterstock.