Skip Navigation

The case for dropping old blocks to keep Monero blockchain size under control and future proof

Monero is striving to be a currency that everyone can use, the growth of the blockchain is starting to hamper this goal IMO.

I think we should consider dropping blocks off of the chain tail once we reach block height of 4000000. This will give us 10 years of storage capacity, more than enough IMO.

Similar to how you have to exchange bills of cash once they get worn, you would simply churn your coins to get your outputs into younger blocks.

We are trying to be digital cash not an inheritance vault. If we had this feature from the start 99% of the community would agree with it.

Please consider this.🙂

*Edit: @4KB/tx * 100,000tx/day we are looking at ~400MB chain growth daily, this is not sustainable, let's take care of this now before it becomes a big problem

**Edit: A possible solution could be that nodes would have the option to set chain retention duration. So when syncing a new node you can select that you would like to retain 5 years of chain data, with a minimum boundary enforced that retains sufficient security. This way the network decides in a fair way how much chain data is useful to store.

51

You're viewing a single thread.

51 comments
  • Can the older data be compressed somehow? Instead of being removed?

    • I think the best option would be if node operators can decide how much they want to store with some safe minimum imposed of say 1 year.

      • I think every node needs the same dataset for the blockchain to be valid.

        Maybe a rolling dataset, with the earliest transactions falling off after their data is somehow archived (but accessible to the current nodes)?

        OR

        The current nodes could do a hardfork (NewNodes), with the ability to reference the legacy chain snapshot for the next X years.

        Wallet1 created in 2015. Contains 1 XMR. Hardfork in 2025 to truncate the entire DB which becomes a balance reference copy. After the snapshot, they would have a balance on the "new" chain. In order to transact, they'd have to use a New Node which knows their previous balance from the legacy chain.

        Is that possible?

        • I don't think so. Since the data is all encrypted you need to have all the data to validate if someone had a balance. Unless someone invented a type of proof where you can create a transaction from the old chain and the network would be able to validate it even though the network no longer has that data or maybe some small part of the old data could be saved to allow for this.

You've viewed 51 comments.