wavesplatform / Waves

⛓️ Reference Waves Blockchain Node (client) implementation on Scala
https://wavesplatform.com/
MIT License
1.17k stars 418 forks source link

Blockchain optimization #1642

Open username1565 opened 6 years ago

username1565 commented 6 years ago

Hello. I see, on the site http://wavesexplorer.com/ now waves-blockchain contains over 1,200,000 blocks. Maybe need long time to syncrhonize this all on full node.

Can you add in the future the optimization functions for blockchain height? How I see this?

  1. Old long blockhain is archived to zip-archive.
  2. Calculating the hash from archive.
  3. Including the hash of archive - to the first genesis block of new blockchain.
  4. Generating few blocks with all tokens to all users.
  5. Continue LPOS mining from last block of optimized blockchain.

In this case the syncronization between the nodes will be faster, and old transactions will be excluded from the optimized blockchain. And each node can verify new blockchain. Also, in the first block can be included the magnet link with hash, to download old blockchain, parse this, and see old transaction history.

Maybe fast synchronization can be realized, using checkpoints, but full blockchain need to save for each node. And what about long time? For example, Ethereum have blockchain height over 6,000,000 blocks!!!

Best regards.

Karasiq commented 5 years ago

@phearnot

username1565 commented 5 years ago

Bump this issue! This is a future request.

To do implementation of this, you can read this russian topic: https://bitcointalk.org/index.php?topic=5178621 and this russian topic - too: https://bitcointalk.org/index.php?topic=5138639

In this case, total blockchain height and blockchain size will does not matter and will not have a significant value - for the time of the first synchronization on new node, even if system will work 100 years and more, in future.