Skip to content

Latest commit

 

History

History
48 lines (43 loc) · 1.51 KB

README.md

File metadata and controls

48 lines (43 loc) · 1.51 KB

Stateless Ethereum Syncing - Comparing Beam Sync

This is the topic of my bachelor (undergrad) thesis that I wrote over the course of 2020. It was scientifically sufficient to graduate with this :) If you have any questions or I can be of any assistance, feel free to reach out or raise an Issue.

Contents

  1. Introduction
  • Overview
  • Contributions
  • Outline
  1. Basics
  • Ethereum-Blockchain
  • State
  • Modified Merkle Patricia Trie
    • Merkle Tree
    • Patricia Trie
    • Modification
  1. Stateful Tech Tree
  • Theoretical Concept
  • Practical Implementation
    • Full Sync Clients
    • Fast Sync Client: Geth
    • Warp Sync Clients: OpenEthereum (a.k.a. Parity)
  • Time Complexity Class
  1. Stateless Tech Tree
  • Theoretical Concept
    • Witness Size + Specification, Size, Indexing, Gas Accounting, Chunking, Stateless Transaction Validation
    • Binary Trie, Overlay Conversion Method
    • Code Merklization
    • Ethereum Virtual Machine Changes
  • Praxtical Implementation
    • Beam Sync
    • Clients: Trinity + Nethermind
  • Time Complexity Class
  • Problems, Opportunities and Vectors of Attack
  1. Conclusion

Special thanks to

Jussi Salzwedel, my first examiner. Jason Carver, my second examiner. Christoph Burgdorf who guided me through the whole thought-process and was my mentor and supervisor. Kurt Merbeth who always had an open ear and was immensely helpful in gaining understanding through discussion :)

License

If you want to use any of this, feel free.