3
For example, every 10,000 blocks, the new block would propose an opening balance for all addresses that are still being mentioned in the blockchain with non-zero unspent outputs. It would be an opening-balance transaction.
All validating nodes must then recompute the opening-balance transaction and verify that it is correct, after which all previous transactions in the blockchain can be deleted/forgotten. It would effectively be a new genesis block.
It should allow validating nodes to free a lot of disk space and permit nodes with less capacity to participate in the network.
Is there a reason that prevents us from introducing this?
Maybe you dont need to validate full blockchain only the last 10000 blocks everybody agrees upon? – croraf – 2017-11-02T00:34:44.803
1How does everyone agree on those blocks? You can't be sure whether the "opening transaction" that someone gave you and then a few thousand blocks mined after that are for Bitcoin and not some malicious chain. – Andrew Chow – 2017-11-02T00:59:40.243
We could separately blockchain the opening balances too: level 4 (every 10,000) bals4/1 --> bals4/2 --> ... bals4/N4 // level 5 (every 100,000) bals5/1 --> bals5/2 --> ... bals5/N5 // level 6 (every 1,000,000) ... // The very first balances block is chained against the genesis block During a download, we ask for the genesis block and the latest balances block of the highest level N. Next, we ask for the chain of subsequent N-1 balances, until we reach the chain of level 4, after which we download the transactions themselves that follow the latest lowest-level opening balances. – erik – 2017-11-02T07:10:46.567
@AndrewChow How are you nowadays sure that the opening block is indeed true and not a malicious genesis block with 1000 blocks given on top or that peers provided you with malicious side chain? This fits for a separate question I will post later, but you probably wait to recieve longer chain. – croraf – 2017-11-02T08:38:55.950
The genesis block is hard coded into the software itself. It is not something that is received from peers. – Andrew Chow – 2017-11-03T05:02:27.680
Ok, maybe I should rephrase my question: Is there a cryptographic feat possible that would allow us to drop lots of history? – erik – 2017-11-04T04:24:12.107
1@erik Yes, look up Mimblewimble. It's a radically different design than Bitcoin though. – Pieter Wuille – 2017-12-26T12:20:41.433