|M.Sc Student||Fidelman Zuphit|
|Subject||A Generic Sharding Scheme for Blockchain Protocols|
|Department||Department of Computer Science||Supervisor||Professor Roy Friedman|
Bitcoin was the first successful attempt at creating a decentralized cryptographic payment system. Overcoming the trusted third party hurdle, which plagued earlier solutions for decades, it paved the way for a whole family of blockchain protocols. However, its fully replicated design prevents Bitcoin from scaling. The scalability crisis is not unique to Bitcoin as this issue extends to most of its descendant blockchain protocols. A new paradigm that enables to systematically scale blockchain protocols seems due.
This thesis introduces a formal general framework for scaling blockchain protocols by sharding. The framework is modular and it can be adjusted for different needs or sets of assumptions. We prove that sharded protocols obtained by following our scheme (with correct modules in place) live up to the same safety and liveness guarantees as their non-sharded counterparts. The proof is general and relies on well-defined specifications of certain components. This lays the ground for simple proofs of correctness for sharded protocols obtained by following the proposed scheme.
The framework is not left as an obscure specification of some high level structure; explicit use is demonstrated by applying it to shard Algorand. As part of this concrete construction, a tamper-proof mechanism to assign nodes to shards is introduced. This mechanism is constructed by using verifiable random functions and can safely withstand a powerful adaptive adversary.