Blockchain State Sharding With Space-Aware Representations

State sharding is a common solution to the scalability problem in blockchain systems, allowing nodes to hold a partial view of the system state. With sharding, the processing of a transaction might not be completed locally within a node and potentially requires involvement of multiple shards. Such cross-shards transactions have a negative impact on system performance and are frequent with traditional state partition solutions which are often based on a simple mapping of data into shards. By locating together parts of the system state accessed by frequent transactions, the amount of cross-shard transactions can be reduced. On the other hand, the representation of such particular mappings can be memory intensive. In this article, we study traffic-aware sharding that can be described in memory-efficient mappings. We first survey existing mapping schemes in common blockchains. We indicate the tradeoff between the size of the mapping of data to shards and the required transaction processing time and suggest algorithms for finding memory-light sharding of low cross-shard rate. We generalize the approach towards an efficient incremental computation of shards and probabilistic representation of the mapping to shards. We examine the efficiency of the solutions and the required frequency of sharding computation based on real information of the Ethereum network.

[1]  My T. Thai,et al.  OptChain: Optimal Transactions Placement for Scalable Blockchain Sharding , 2019, 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS).

[2]  Joachim Zahnentferner,et al.  Chimeric Ledgers: Translating and Unifying UTXO-based and Account-based Cryptocurrencies , 2018, IACR Cryptol. ePrint Arch..

[3]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[4]  Elaine Shi,et al.  On Scaling Decentralized Blockchains - (A Position Paper) , 2016, Financial Cryptography Workshops.

[5]  Ori Rottenstreich,et al.  Scalable Block Execution via Parallel Validation , 2020, 2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC).

[6]  Yaniv Altshuler,et al.  Social Signals in the Ethereum Trading Network , 2018, ArXiv.

[7]  Wei Yu,et al.  A Survey of Blockchain: Techniques, Applications, and Challenges , 2018, 2018 27th International Conference on Computer Communication and Networks (ICCCN).

[8]  Sourav Das,et al.  Efficient Cross-Shard Transaction Execution in Sharded Blockchains , 2020, ArXiv.

[9]  Angelo De Caro,et al.  Channels: Horizontal Scaling and Confidentiality on Permissioned Blockchains , 2018, ESORICS.

[10]  George Danezis,et al.  Chainspace: A Sharded Smart Contracts Platform , 2017, NDSS.

[11]  Prateek Saxena,et al.  A Secure Sharding Protocol For Open Blockchains , 2016, CCS.

[12]  Gabriel Kliot,et al.  Streaming graph partitioning for large distributed graphs , 2012, KDD.

[13]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[14]  Mariana Raykova,et al.  RapidChain: Scaling Blockchain via Full Sharding , 2018, CCS.

[15]  David S. Johnson,et al.  Some simplified NP-complete problems , 1974, STOC '74.

[16]  George Danezis,et al.  Replay Attacks and Defenses Against Cross-shard Consensus in Sharded Distributed Ledgers , 2019, 2020 IEEE European Symposium on Security and Privacy (EuroS&P).

[17]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[18]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[19]  Philipp Jovanovic,et al.  OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding , 2018, 2018 IEEE Symposium on Security and Privacy (SP).

[20]  Nir Kshetri,et al.  Blockchain-Enabled E-Voting , 2018, IEEE Software.

[21]  Haim Kaplan,et al.  Clustering in Hypergraphs to Minimize Average Edge Service Time , 2020, ESA.

[22]  S. Nakamoto,et al.  Bitcoin: A Peer-to-Peer Electronic Cash System , 2008 .

[23]  Albert-László Barabási,et al.  Statistical mechanics of complex networks , 2001, ArXiv.

[24]  Richard Beigel,et al.  The polynomial method in circuit complexity , 1993, [1993] Proceedings of the Eigth Annual Structure in Complexity Theory Conference.

[25]  George Danezis,et al.  Centrally Banked Cryptocurrencies , 2015, NDSS.

[26]  Ittay Eyal,et al.  Ostraka: Secure Blockchain Scaling by Node Sharding , 2019, 2020 IEEE European Symposium on Security and Privacy Workshops (EuroS&PW).

[27]  Hao Wang,et al.  Monoxide: Scale out Blockchains with Asynchronous Consensus Zones , 2019, NSDI.

[28]  David Mazières,et al.  Kademlia: A Peer-to-Peer Information System Based on the XOR Metric , 2002, IPTPS.

[29]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[30]  Carlo Curino,et al.  Schism , 2010, Proc. VLDB Endow..

[31]  Christopher Frost,et al.  Spanner: Google's Globally-Distributed Database , 2012, OSDI.

[32]  Xiaodong Lin,et al.  Understanding Ethereum via Graph Analysis , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

[33]  Daniel Davis Wood,et al.  ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER , 2014 .

[34]  Silvio Micali,et al.  Algorand: Scaling Byzantine Agreements for Cryptocurrencies , 2017, IACR Cryptol. ePrint Arch..

[35]  Deke Guo,et al.  Optimizing Bloom Filter: Challenges, Solutions, and Comparisons , 2018, IEEE Communications Surveys & Tutorials.