I think it's time to have a little discussion about the origins of Sidechains, and to dispute a claim made recently by a certain core developer that they have no application to Bitcoin scaling.
This post was prompted by a thread
here regarding the claimed origins of Sidechains and their relation to Mike Hearn's Lighthouse. I'm going to lay out an argument that this claimed history is not entirely accurate, and perhaps some of you can see how the Lighthouse is relevant to the discussion.
There has been a noticeable PR push over the past several months by Blockstream employees to make the claim that Sidechains 1) were the sole idea of Adam Back (aside from the attributions in the whitepaper itself, of course) and 2) are not useful for scaling Bitcoin. This is hogwash, as far as I'm concerned. And it needs to be disputed not only in the interest of historical accuracy, but for the good of the Bitcoin community.
Several years ago, I made a thought experiment. I asked myself "what is the best way to use Bitcoin as a true local currency, in an
isolated community with poor internet access, especially once it has begun to scale to accommodate millions of users?" Based on Satoshi's original plan of scaling up the block size, this would be a difficult task without relying on SPV wallets, which some consider flawed. But I decided there should be a way to do so, even with some limitations, and that perhaps these limitations could even be engineered to have economic benefits.
The result of this thought experiment was
Bencoin. Bencoin was simply a method to deposit Bitcoins, off-chain, with a trusted third party representing a separate more localized economy, while still being able to withdraw them at will. It represented a middle-ground between the then-common practice of trusting a third party with deposited Bitcoins, and using the blockchain directly for everything. It was basically a low-trust, rather than zero-trust or full-trust, method of handling Bitcoins off-chain (and thus scaling Bitcoin), without the limitations and costs imposed by tracking large blocks.
It did, however, still have other drawbacks. So I never pursued it beyond the proof-of-concept. Instead, I began thinking of ways to deposit Bitcoins somewhere else -- not with a third party, but on the blockchain itself. I started looking into the nLockTime feature, and eventually developed the first native
Bitcoin Bond, locking Bitcoins on the blockchain in a way that they could not be spent by a trusted third party without the authorization of the depositor.
This represented an improvement over Bencoin. The fundamental improvement of Bencoin was that Bitcoins deposited with a third party could be withdrawn at any time by the depositor alone, but the drawback remained that they could still be taken by the trusted third party. With the Bitcoin Bond, locked Bitcoins can still be withdrawn (after a specified time) by the depositor, and *cannot* be spent by the third party without authorization of the depositor.
All of this was done in public, and is documented in various places on the Bitcointalk forum and the #bitcoin-dev IRC channel. All of it occurred long before Blockstream was even a glimmer in its founders' eyes. And the short leap from Bencoin to Bitcoin Bonds to one-way pegged Sidechains is, I think, obvious.
So, knowing this, I found it somewhat interesting when a lot of other history and precursors were mentioned in the Sidechain whitepaper, yet none of this. I found it only mildly disturbing when the similarity was flatly denied by a Blockstream employee, having been pointed out to him on Reddit when the original Sidechains whitepaper was released. But, now, I find it outright insulting that Blockstream seems to be engaged in a publicity campaign to downplay the capabilities of "their own" invention.
In fact, it's almost as though Blockstream would rather seize control of this idea and keep it for themselves, instead of allowing for the possibility that the scalability benefits of Sidechains or similar be opened to the entire Bitcoin community. I'm beginning to think that may actually be what's going on.
Now, I'm not going to argue that Blockstream's proposed implementation of Sidechains is the best option for scaling Bitcoin. It may not even be a good option, as is. But it, or an idea like it such as
Extension Blocks, is a
valid option that should not be brushed aside based on the claims of a single developer that Sidechains have nothing to do with scaling.
These claims are wrong, at least, and disingenous, at worst. The actual history of Sidechains' precursors is that they have a lot to do with scaling. And there are likely
several ways to implement them in order to enable Bitcoin to scale in a flexible and completely voluntary fashion.
If anything, I hope this post will at least convince you to question the claim that Sidechains or similar have nothing to do with Bitcoin scaling, or are not even a valid option to be considered in the scaling debate.
In an attempt to avoid any coordinated or future censorship, I've also posted
a copy of this to Reddit.
Thank-you for your time.