Blocktree: A Scaling Scheme for Blockchain
I posted a proposal to the bitcoin-dev mailing list, Voluntary Split, which I propose to use the hard fork as a method to increase the transaction capacity of the blockchain.
Here I revised to proposal and introduce a new structure of blockchain: blocktree.
Hard fork and Blocktree
hard forks are often caused by community disagreements. In the last year, bitcoin has several hard forks, which always generated a new cryptocurrency such as bitcoin cash (BCH). However, if the community voluntarily and overwhelmingly agrees to split the blockchain into two blockchains (e.g. chain.0 and chain.1) and abandon the original one. The blockchain simply split into two blockchains following the original one. If this process repeated several times, it is basically a blocktree (e.g. chain.0 -> chain.00 and chain.01, chain.1 -> chain.10 and chain.11). The capacity of the blocktree is much larger than the original blockchain, since most small transactions might only happen on one blockchain of the entire blocktree leaves.
After the fork, if the two blockchains are same as the original original one except for some identifiers to distinguish them (there must be some identifiers to distinguish them or they won't split by definition of blockchain), that basically means one token on the original blockchain is split into two tokens. We can imagine the value must halves due to double total supply, similar to a stock split.
However, we don't want increase total supply in most cases. This is also simple to solve. Just divide the amount of the original chain. Or simple add a divisor into the new forked blockchains. The wallet will interpret and display the right amount as long as the community can achieve a consensus.
First of all, split the blockchain, i.e., hard fork. The two forked blockchains cannot interfere each other. So, replay protection should be deployed, or one token on one chain might be spent twice on two blockchains.