Author

Topic: Soft forking to increase the block size (Read 1219 times)

legendary
Activity: 1792
Merit: 1111
hero member
Activity: 543
Merit: 501
November 26, 2014, 01:38:11 PM
#1
This is a technique which hopes to demonstrate a way to extend the block size via a soft fork. I haven't seen anything similar other than sidechains, but this doesn't require SPV proofs.

Blocks would be flagged as having extensions, and those extensions would be broadcasted alongside the block.
The block would have a hash somewhere (like the spend hash of the Nth transaction, for example) indicating the hash of the extended data.
A new utxo set would be created that contains utxos described in block extensions but not found in the unextended chain.
We'll call the new set the 'extended set', and the old set the 'primary set'.
Coins are moved into the extended set through the addition of a new opcode 'conditions for spending found in extended block'.
You can have a transaction with N inputs and a single output that says 'check extended block', and then put all of the actual outputs into the extended uxto set.
Coins can be moved out of the extended set with an opcode in the extended set saying 'move X coins to primary set'.

The end result is a Bitcoin with two blockchains, one that everyone is mining/viewing (the primary set), and one that is 'extended', and only available to people tracking the extended set. The extended set could have lower value transactions, and the coins can be freely moved between the extended set and the primary set. As the fees get higher and higher on the primary set, more low-value transactions would be moved to the extended set. As networks continue to get better, this could be repeated again, creating a primary set, an extended set, and a double extended set. And so on. You could even change the consensus rules within the extended set to allow or forbid things that would cause a hardfork if applied to the primary set.

The security of the extended set is the full security achieved by any soft fork to Bitcoin, because the extended set cannot be reorganized without also reorganizing the primary Bitcoin blockchain. (extensions must be tethered to a block, and they must acknowledge all prior extensions).
Jump to: