Free2Shard: Adversary-resistant distributed resource allocation for blockchains

Abstract

In this paper, we study a canonical distributed resource allocation problem arising in blockchains. While distributed resource allocation is a well-studied problem in networking, the blockchain setting additionally requires the solution to be resilient to adversarial behavior from a fraction of nodes. Scaling blockchain performance is a basic research topic; a plethora of solutions (under the umbrella of sharding ) have been proposed in recent years. Although the various sharding solutions share a common thread (they cryptographically stitch together multiple parallel chains), architectural differences lead to differing resource allocation problems. In this paper we make three main contributions: (a) we categorize the different sharding proposals under a common architectural framework, allowing for the emergence of a new, uniformly improved, uni-consensus sharding architecture. (b) We formulate and exactly solve a core resource allocation problem in the uni-consensus sharding architecture – our solution, Free2shard, is adversary-resistant and achieves optimal throughput. The key technical contribution is a mathematical connection to the classical work of Blackwell approachability in dynamic game theory. (c) We implement the sharding architecture atop a full-stack blockchain in 3000 lines of code in Rust – we achieve a throughput of more than 250,000 transactions per second with 6 shards, a vast improvement over state-of-the-art.

Citation

@article{rana2022free2shard,
  title={Free2shard: Adversary-resistant distributed resource allocation for blockchains},
  author={Rana, Ranvir and Kannan, Sreeram and Tse, David and Viswanath, Pramod},
  journal={Proceedings of the ACM on Measurement and Analysis of Computing Systems},
  volume={6},
  number={1},
  pages={1--38},
  year={2022},
  publisher={ACM New York, NY, USA}
}

Updated: