Invited Talk: Coded-sharding: Blockchain design with linearly scaling efficiency and trust
Today's blockchains do not scale in a meaningful sense. As more nodes join the system, the efficiency of the system (computation, communication, and storage) degrades, or at best stays constant. A leading idea for enabling blockchains to scale efficiency is the notion of sharding: different subsets of nodes handle different portions of the blockchain, thereby reducing the load for each individual node. However, existing sharding proposals achieve efficiency scaling by compromising on trust - it is sufficient for the nodes in a given shard to get corrupted in order to lose that portion of the data. We observe that sharding is similar to replication coding, which is known to be inefficient and fragile in the coding theory community. In this talk, we demonstrate a new protocol for coded storage and computation in blockchains. In particular, we propose PolyShard: ``Polynomially coded sharding'' scheme that achieves information-theoretic lower bounds on storage, computational costs as well as on trust, thus enabling a truly scalable system. We show why existing sharding proposals cannot achieve these lower bounds, and highlight practical considerations in building such a system.