zack-bitcoin / amoveo

A blockchain for trust-free markets in financial derivatives
Other
464 stars 110 forks source link

Sync mode that downloads blocks without merkel proofs, and generates the merkel proofs locally. #234

Closed zack-bitcoin closed 4 years ago

zack-bitcoin commented 5 years ago

If your internet connection is slow, the bottleneck is not on reading the hard drive or processing blocks. It is on bandwidth. One potential way to improve this is by not including the merkel proofs when we download blocks.

Would we need to generate the merkel proofs for each block locally? If so, then we wouldn't be able to process blocks in parallel.

zack-bitcoin commented 5 years ago

If we didn't have to store merkel with blocks, that would save a lot of hard drive space.

This could be a 10x improvement in hard drive space and in bandwidth costs.

The downside of this strategy is that you would need to read a lot of information from your hard drive to verify a block, and this step of reading your hard drive is not parallelizable, so it could become the bottleneck, especially if you don't have solid state. It would be about the same as updating all the info to the hard drive that we are already doing for each block. And updating to the hard drive is not a bottleneck on solid state currently. So I think this version of syncing would be faster for anyone using a solid state hard drive and had poor network connection in comparison to your processing power.

zack-bitcoin commented 4 years ago

Now that we store blocks in compressed batches, this update is not so possible. Also, if your bandwidth is low, it seems like it would be better to use a light node instead of a modified full node.