Sidechains seem an inevitable tool for scaling. They allow Bitcoins to be 
transferred from the main blockchain into external blockchains, of which there 
can be any number with radically different approaches.
In current thinking I have encountered, sidechains are isolated from each 
other. To move Bitcoin between them would involve a slow transfer back to the 
mainchain, and then out again to a different sidechain.
Could we instead create a protocol for addressable blockchains, all using a 
shared proof of work, which effectively acts as an Internet of Blockchains?
Instead of transferring Bitcoin into individual sidechains, you move them into 
the master sidechain, which I'll call Angel. The Angel blockchain sits at the 
top of of a tree of blockchains, each of which can have radically different 
properties, but are all able to transfer Bitcoin and data between each other 
using a standardised protocol.
Each blockchain has its own address, much like an IP address. The Angel 
blockchain acts as a registrar, a public record of every blockchain and its 
properties. Creating a blockchain is as simple as getting a createBlockchain 
transaction included in an Angel block, with details of parameters such as 
block creation time, block size limit, etc. A decentralised DNS of sorts.
Mining in Angel uses a standardised format, creating hashes which allow all 
different blockchains to contribute to the same Angel proof of work. Miners 
must hash the address of the blockchain they are mining, and if they mine a 
hash of sufficient difficulty for that blockchain they are able to create a 
block.
Blockchains can have child blockchains, so a child of Angel might have the 
address aa9, and a child of aa9 might have the address aa9:e4d. The lower down 
the tree you go, the lower the security, but the lower the transaction fees. If 
a miner on a lower level produces a hash of sufficient difficulty, they can use 
it on any parents, up to and including the Angel blockchain, and claim fees on 
each.
Children always synchronise and follow all parents (and their reorganisations), 
and parents are aware of their children. This allows you to do some pretty cool 
things with security. If a child tries to withdraw to a parent after spending 
on the child (a double spend attempt) this will be visible instantly, and all 
child nodes will immediately be able to broadcast proof of the double spend to 
parent chain nodes so they do not mine on those blocks. This effectively means 
children can inherit a level of security from their parents without the same 
PoW difficulty.
There are so many conflicting visions for how to scale Bitcoin. Angel allows 
the free market to decide which approaches are successful, and for 
complementary blockchains with different use cases, such as privacy, high 
transaction volume, and Turing completeness to more seamlessly exist alongside 
each other, using Bitcoin as the standard medium of exchange.
I wrote this as a TLDR summary for a (still evolving) idea I had on the best 
approach to scale Bitcoin infinitely. I've written more of my thoughts on the 
idea at 
https://seebitcoin.com/2016/09/introducing-buzz-a-turing-complete-concept-for-scaling-bitcoin-to-infinity-and-beyond/
Does anybody think this would be a better, more efficient way of implementing 
sidechains? It allows infinite scaling, and standardisation allows better 
pooling of resources.
Thanks,
John [email protected]                                                   
                          
_______________________________________________
bitcoin-dev mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

Reply via email to