Technical Report MSC-2019-17

Title: A Generic Sharding Scheme for Blockchain Protocols
Authors: Zuphit Fidelman
Supervisors: Roy Friedman
PDFCurrently accessibly only within the Technion network
Abstract: 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.

CopyrightThe above paper is copyright by the Technion, Author(s), or others. Please contact the author(s) for more information

Remark: Any link to this technical report should be to this page (, rather than to the URL of the PDF files directly. The latter URLs may change without notice.

To the list of the MSC technical reports of 2019
To the main CS technical reports page

Computer science department, Technion