Author: ZmnSCPxj 2017-09-26 07:50:42
Published on: 2017-09-26T07:50:42+00:00
Patrick Sharp, a recent computer science graduate, posted an idea on bitcoin-dev mailing list proposing trimming and demurrage. He acknowledged that demurrage is a prohibited change, but argued that without some sort of limit on the maximum length or size of the blockchain, it is unsustainable in the long run and becomes more centralized as it becomes more unwieldy. Trimming old blocks whose transactions are now spent holds no real value and meaningful trimming is expensive and inhibited by unspent transactions. Old unspent transactions add unnecessary and unfair burden. Patrick proposed that the blockchain length be limited to either 2^18 blocks (slightly less than 5 years) or 2^19 blocks, slightly less than 10 years. Each time a block is mined, the oldest block(s) beyond this limit is trimmed from the chain and its unspent transactions are allowed to be included in the reward of the mined block. ZmnSCPxj responded to Patrick's post, saying that demurrage is simply impossible and already implemented OP_CHECKLOCKTIMEVERIFY in Bitcoin. The opcode requires that a certain block height or date has passed before the output can be spent. It can be used to make an "in trust for" address, where you disallow spending of that address. ZmnSCPxj said that it would be better to put such additional features as demurrage in a sidechain rather than on mainchain. In response to Patrick's side question, he suggested searching for "Rolling UTXO Set Commitments" by Pieter Wuille for storing the hash of the current or previous UTXOs in the block header so that pruned nodes can verify their UTXOs are accurate without having to check the full chain.
Updated on: 2023-06-12T19:04:56.498590+00:00