Robust and Fast Blockchain State Synchronization

Authors Enrique Fynn, Ethan Buchman, Zarko Milosevic, Robert Soulé, Fernando Pedone



PDF
Thumbnail PDF

File

LIPIcs.OPODIS.2022.8.pdf
  • Filesize: 0.8 MB
  • 22 pages

Document Identifiers

Author Details

Enrique Fynn
  • Università della Svizzera italiana (USI), Lugano, Switzerland
Ethan Buchman
  • Informal Systems, Guelph, Canada
Zarko Milosevic
  • Informal Systems, Guelph, Canada
Robert Soulé
  • Yale University, New Haven, CT, USA
Fernando Pedone
  • Università della Svizzera italiana (USI), Lugano, Switzerland

Cite AsGet BibTex

Enrique Fynn, Ethan Buchman, Zarko Milosevic, Robert Soulé, and Fernando Pedone. Robust and Fast Blockchain State Synchronization. In 26th International Conference on Principles of Distributed Systems (OPODIS 2022). Leibniz International Proceedings in Informatics (LIPIcs), Volume 253, pp. 8:1-8:22, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)
https://doi.org/10.4230/LIPIcs.OPODIS.2022.8

Abstract

State synchronization, the process by which a new or recovering peer catches up with the state of other operational peers, is critical to the operation of blockchain-based systems. Existing approaches to state synchronization typically involve downloading snapshots of system state. Such approaches introduce an attack vector from malicious peers that can significantly degrade performance. Moreover, the process of creating snapshots leads to performance hiccups. This paper presents a technique for peers to catch up with operational peers without trusting any particular peer and gracefully recover from misbehavior during the process. We have integrated our design into a production blockchain middleware. Our evaluation shows that during operation, the transaction throughput is consistently higher without pauses for snapshot construction. Moreover, the time it takes for a new peer to join the blockchain is halved, while at the same time tolerating Byzantine peers.

Subject Classification

ACM Subject Classification
  • Computer systems organization → Reliability
  • Computer systems organization → Availability
  • Computer systems organization → Redundancy
  • Computing methodologies → Distributed algorithms
Keywords
  • state synchronization
  • replication
  • blockchain

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Adr 053: State sync prototype. URL: https://github.com/tendermint/tendermint/blob/master/docs/architecture/adr-053-state-sync-prototype.md.
  2. Cosmos network. URL: https://cosmos.network/.
  3. Cosmos sdk. URL: https://github.com/cosmos/cosmos-sdk.
  4. Go ethereum faq. URL: https://geth.ethereum.org/docs/faq.
  5. Iavl+ implementation. URL: https://github.com/tendermint/iavl.
  6. The interblockchain communication protocol. URL: https://github.com/cosmos/ics/blob/master/spec.pdf.
  7. Official go implementation of the ethereum protocol. URL: https://github.com/ethereum/go-ethereum.
  8. Openethereum warpsync. URL: https://openethereum.github.io/wiki/Warp-Sync.
  9. Snapshot sync proposal. URL: https://research.codechain.io/t/snapshot-sync-proposal/21.
  10. Turbo-geth programmer’s guide. URL: https://github.com/ledgerwatch/turbo-geth/blob/master/docs/programmers_guide/guide.md.
  11. Urkel tree implementation. URL: https://github.com/handshake-org/urkel.
  12. George M Adel’son-Vel’skii and Evgenii Mikhailovich Landis. An algorithm for organization of information. In Doklady Akademii Nauk, volume 146, pages 263-266. Russian Academy of Sciences, 1962. Google Scholar
  13. Alysson Bessani, Marcel Santos, João Felix, Nuno Neves, and Miguel Correia. On the efficiency of durable state machine replication. In Presented as part of the 2013 USENIX Annual Technical Conference (USENIX ATC 13), pages 169-180, 2013. Google Scholar
  14. Dan Boneh, Benedikt Bünz, and Ben Fisch. Batching techniques for accumulators with applications to iops and stateless blockchains. In Annual International Cryptology Conference, pages 561-586. Springer, 2019. Google Scholar
  15. Ethan Buchman, Jae Kwon, and Zarko Milosevic. The latest gossip on BFT consensus. CoRR, abs/1807.04938, 2018. URL: http://arxiv.org/abs/1807.04938.
  16. Miguel Castro and Barbara Liskov. Practical byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst., 20(4):398-461, November 2002. URL: https://doi.org/10.1145/571637.571640.
  17. Miguel Castro and Barbara Liskov. Practical byzantine fault tolerance and proactive recovery. ACM Transactions on Computer Systems (TOCS), 20(4):398-461, 2002. Google Scholar
  18. Allen Clement, Manos Kapritsos, Sangmin Lee, Yang Wang, Lorenzo Alvisi, Mike Dahlin, and Taylor Riche. Upright cluster services. In Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, pages 277-290, 2009. Google Scholar
  19. Rasmus Dahlberg, Tobias Pulls, and Roel Peeters. Efficient sparse merkle trees. In Nordic Conference on Secure IT Systems, pages 199-215. Springer, 2016. Google Scholar
  20. Ittay Eyal and Emin Gün Sirer. Majority is not enough: bitcoin mining is vulnerable. Commun. ACM, 61(7):95-102, 2018. Google Scholar
  21. Ramakrishna Kotla, Lorenzo Alvisi, Mike Dahlin, Allen Clement, and Edmund Wong. Zyzzyva: Speculative byzantine fault tolerance. In Proceedings of Twenty-First ACM SIGOPS Symposium on Operating Systems Principles, pages 45-58, 2007. URL: https://doi.org/10.1145/1294261.1294267.
  22. L. Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558-565, July 1978. Google Scholar
  23. Ralph C. Merkle. A digital signature based on a conventional encryption function. In Carl Pomerance, editor, Advances in Cryptology - CRYPTO '87, A Conference on the Theory and Applications of Cryptographic Techniques, Santa Barbara, California, USA, August 16-20, 1987, Proceedings, volume 293 of Lecture Notes in Computer Science, pages 369-378, 1987. URL: https://doi.org/10.1007/3-540-48184-2_32.
  24. Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system. Technical report, bitcoin, 2008. Google Scholar
  25. Michael Szydlo. Merkle tree traversal in log space and time. In International Conference on the Theory and Applications of Cryptographic Techniques, pages 541-554. Springer, 2004. Google Scholar
  26. Gavin Wood et al. Ethereum: A secure decentralised generalised transaction ledger. Ethereum project yellow paper, 151(2014):1-32, 2014. Google Scholar
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail