bitcoin-dev

Scaling Bitcoin with Subchains

Scaling Bitcoin with Subchains

Original Postby Andrew

Posted on: June 16, 2015 18:43 UTC

In an email exchange between Peter Todd and another individual, the question of whether merge-mined sidechains are a solution to scaling was raised.

Peter argued that they are not because they do not solve the scaling problem for miners. Instead, he proposed a treechain-like subchain where what part of the tree miners can mine is constrained to preserve fairness. While this could be a decentralized scaling solution, no solid design has been developed yet that is ready for production. Peter's own treechains do not qualify for transactions yet but may be useful for other proof-of-publication uses.The other individual then proposed their own idea that would solve the miner decentralization problem. Their proposal involves only the direct parent and children chains being merge mined. Each chain that is a child of a chain of level n has level n+1. For any chain C, a block is accepted if the hash of its header has an appropriate number of trailing zeros. It can also be accepted with special transactions. However, for any i in {0,1,...,9} and any j in {0,1,...,9}, any solution to the mining problem of C cannot be inserted as a special transaction inside of child Cij of Ci. This limits merge mining to localized parts of the chains rather than all chains.The email exchange also briefly touched on the possibility of getting rid of the 1 MB block size limit by requiring more than just the header to be hashed. However, this is a side topic and can be done as a soft fork with sidechains in the future.