skip to main content
10.1145/3299869.3319889acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article

Towards Scaling Blockchain Systems via Sharding

Authors Info & Claims
Published:25 June 2019Publication History

ABSTRACT

Existing blockchain systems scale poorly because of their distributed consensus protocols. Current attempts at improving blockchain scalability are limited to cryptocurrency. Scaling blockchain systems under general workloads (i.e., non-cryptocurrency applications) remains an open question. This work takes a principled approach to apply sharding to blockchain systems in order to improve their transaction throughput at scale. This is challenging, however, due to the fundamental difference in failure models between databases and blockchain. To achieve our goal, we first enhance the performance of Byzantine consensus protocols, improving individual shards' throughput. Next, we design an efficient shard formation protocol that securely assigns nodes into shards. We rely on trusted hardware, namely Intel SGX, to achieve high performance for both consensus and shard formation protocol. Third, we design a general distributed transaction protocol that ensures safety and liveness even when transaction coordinators are malicious. Finally, we conduct an extensive evaluation of our design both on a local cluster and on Google Cloud Platform. The results show that our consensus and shard formation protocols outperform state-of-the-art solutions at scale. More importantly, our sharded blockchain reaches a high throughput that can handle Visa-level workloads, and is the largest ever reported in a realistic environment.

References

  1. Intel SGX SDK for Linux. https://github.com/01org/linux-sgx.Google ScholarGoogle Scholar
  2. Proof of Elapsted Time. https://sawtooth.hyperledger.org/docs/core/ releases/latest/introduction.html.Google ScholarGoogle Scholar
  3. Ripple. https://ripple.com.Google ScholarGoogle Scholar
  4. The Coco Framework. http://aka.ms/cocopaper.Google ScholarGoogle Scholar
  5. Trusted Computing Group. http://www.trustedcomputinggroup.org/.Google ScholarGoogle Scholar
  6. 2018. Intel Software Guard Extensions Developer Guide. https://download.01.org/intel-sgx/linux-1.7/docs/Intel_SGX_ Developer_Guide.pdf.Google ScholarGoogle Scholar
  7. Mustafa Al-Bassam, Alberto Sonnino, Shehar Bano, Dave Hrycyszyn, and George Danezis. 2017. Chainspace: A Sharded Smart Contracts Platform. arXiv preprint arXiv:1708.03778 (2017).Google ScholarGoogle Scholar
  8. Tiago Alves and Don Felton. 2004. Trustzone: Integrated hardware and software security. Technical Report. ARM.Google ScholarGoogle Scholar
  9. Ittai Anati, Shay Gueron, Simon Johnson, and Vincent Scarlata. 2013. Innovative technology for CPU based attestation and sealing. In HASP.Google ScholarGoogle Scholar
  10. Johannes Behl, Tobias Distler, and Rüdiger Kapitza. 2017. Hybrids on Steroids: SGX-Based High Performance BFT. In EuroSys. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Bitcoin Wiki. 2018. Scalability. en.bitcoin.it/wiki/scalability.Google ScholarGoogle Scholar
  12. Ferdinand Brasser, Urs Muller, Alexandra Dmitrienko, Kari Kostiainen, Srdjan Capkun, and Ahmad-Reza Sadeghi. 2017. Software Grand Exposure: SGX Cache Attacks Are Practical. In USENIX Security. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Vitalik Buterin. 2014. Ethereum: A next-generation smart contract and decentralized application platform. https:// github.com/ ethereum/ wiki/ wiki/White-Paper (2014).Google ScholarGoogle Scholar
  14. Miguel Castro. 2001. Practical Byzantine Fault Tolerance. Ph.D. Dissertation. Massachusetts Institute of Technolog.Google ScholarGoogle Scholar
  15. Miguel Castro, Barbara Liskov, et al. 1999. Practical Byzantine fault tolerance. In OSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Xiaoxin Chen, Tal Garfinkel, Christopher Lewis, Pratap Subrahmanyam, Carl A. Waldspurger, Dan Boneh, Jeffrey Dwoskin, and Dan R.K. Ports. 2008. Overshadow: A Virtualization-Based Approach to Retrofitting Protection in Commodity Operating Systems. In ASPLOS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Byung-Gon Chun, Petros Maniatis, Scott Shenker, and John Kubiatowicz. 2007. Attested append-only memory: Making adversaries stick to their word. In OSR. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Victor Costan, Ilia Lebedev, and Srinivas Devadas. Sanctum: Minimal hardware extensions for strong software isolation. https://eprint.iacr. org/2015/564.pdf.Google ScholarGoogle Scholar
  19. Thomas Dickerson, Paul Gazzillo, Maurice Herlihy, and Eric Koskinen. 2017. Adding Concurrency to Smart Contracts. In PODC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Tien Tuan Anh Dinh, Rui Liu, Meihui Zhang, Gang Chen, and Beng Chin Ooi. 2017. Untangling blockchain: a data processing view of blockchain systems. TKDE (2017).Google ScholarGoogle Scholar
  21. Tien Tuan Anh Dinh, Ji Wang, Gang Chen, Rui Liu, Beng Chin Ooi, and Kian-Lee Tan. 2017. BLOCKBENCH: A Framework for Analyzing Private Blockchains. In SIGMOD.Google ScholarGoogle Scholar
  22. James C. Corbett et al. 2012. Spanner: Google's Globally-Distributed Database. In OSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Fr8 Network. 2018. Blockchain enabled logistic. https://fr8.network.Google ScholarGoogle Scholar
  24. Hector Garcia-Molina. 2008. Database systems: the complete book.Google ScholarGoogle Scholar
  25. Arthur Gervais, Ghassan O Karame, Karl Wüst, Vasileios Glykantzis, Hubert Ritzdorf, and Srdjan Capkun. 2016. On the security and performance of proof of work blockchains. In CCS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Eleftherios Kokoris Kogias, Philipp Jovanovic, Nicolas Gailly, Ismail Khoffi, Linus Gasser, and Bryan Ford. 2016. Enhancing bitcoin security and performance with strong consistency via collective signing. In USENIX Security.Google ScholarGoogle Scholar
  27. Eleftherios Kokoris-Kogias, Philipp Jovanovic, Linus Gasser, Nicolas Gailly, and Bryan Ford. 2017. OmniLedger: A Secure, Scale-Out, Decentralized Ledger. IACR Cryptology ePrint Archive (2017).Google ScholarGoogle Scholar
  28. Jae Kwon. Tendermint: Consensus without mining. https://tendermint. com/static/docs/tendermint.pdf.Google ScholarGoogle Scholar
  29. Leslie Lamport et al. 2001. Paxos made simple. ACM Sigact News (2001).Google ScholarGoogle Scholar
  30. Dave Levin, John R Douceur, Jacob R Lorch, and Thomas Moscibroda. 2009. TrInc: Small Trusted Hardware for Large Distributed Systems. In NSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Lightning Network. 2018. Lightning network: scalable, instant Bitcoin/ blockchain transactions. https://lightning.network.Google ScholarGoogle Scholar
  32. Shengyun Liu, Paolo Viotti, Christian Cachin, Vivien Quéma, and Marko Vukolic. 2016. XFT: Practical Fault Tolerance beyond Crashes. In OSDI.Google ScholarGoogle Scholar
  33. Loi Luu, Viswesh Narayanan, Chaodong Zheng, Kunal Baweja, Seth Gilbert, and Prateek Saxena. 2016. A secure sharding protocol for open blockchains. In CCS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Sinisa Matetic, Mansoor Ahmed, Kari Kostiainen, Aritra Dhar, David Sommer, Arthur Gervais, Ari Juels, and Srdjan Capkun. 2017. ROTE: Rollback Protection for Trusted Execution. In USENIX Security. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Frank McKeen, Ilya Alexandrovich, Alex Berenzon, Carlos V Rozas, Hisham Shafi, Vedvyas Shanbhogue, and Uday R Savagaonkar. 2013. Innovative instructions and software model for isolated execution. In HASP. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Medilot. 2018. Transforming healthcare for all. https://medilot.com.Google ScholarGoogle Scholar
  37. Silvio Micali. 2016. ALGORAND: the efficient and democratic ledger. arXiv preprint arXiv:1607.01341 (2016).Google ScholarGoogle Scholar
  38. Andrew Miller, Iddo Bentov, Ranjit Kumaresan, Christopher Cordi, and Patrick McCorry. 2017. Sprites and state channels: payment networks that go faster than lightning. https://arxiv.org/pdf/1702.05812.pdf.Google ScholarGoogle Scholar
  39. Shuai Mu, Lamont Nelson, Wyatt Lloyd, and Jinyang Li. 2016. Consolidating Concurrency Control and Consensus for Commits under Conflicts. In OSDI. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Satoshi Nakamoto. 2008. Bitcoin: A peer-to-peer electronic cash system.Google ScholarGoogle Scholar
  41. Diego Ongaro and John K Ousterhout. 2014. In search of an understandable consensus algorithm. In USENIX ATC. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Rafael Pass, Lior Seeman, and Abhi Shelat. 2017. Analysis of the blockchain protocol in asynchronous networks. In EUROCRYPT.Google ScholarGoogle Scholar
  43. Florian Tramer, Fan Zhang, Huang Lin, Jean-Pierre Hubaux, Ari Juels, and Elaine Shi. 2017. Sealed-glass proofs: Using transparent enclaves to prove and sell knowledge. In EuroS&P.Google ScholarGoogle Scholar
  44. Jo Van Bulck, Marina Minkin, OfirWeisse, Daniel Genkin, Baris Kasikci, Frank Piessens, Mark Silberstein, Thomas F Wenisch, Yuval Yarom, and Raoul Strackx. 2018. FORESHADOW: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order Execution. In USENIX Security. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Sheng Wang, Tien Tuan Anh Dinh, Qian Lin, Zhongle Xie, Meihui Zhang, Qingchao Cai, Gang Chen, Wanzeng Fu, Beng Chin Ooi, and Pingcheng Ruan. 2018. ForkBase: An Efficient Storage Engine for Blockchain and Forkable Applications. In VLDB. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Xinan Yan, Linguan Yang, Hongbo Zhang, Xiayue Charles Lin, Bernard Wong, Kenneth Salem, and Tim Brecht. 2018. Carousel: low-latency transaction processing for globally-distributed data. In SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Mahdi Zamani, Mahnush Movahedi, and Mariana Raykova. 2018. RapidChain: Scaling Blockchain via Full Sharding. In CCS.Google ScholarGoogle Scholar
  48. Irene Zhang, Naveen Kr. Sharma, Adriana Szekeres, Arvind Krishnamurthy, and Dan R. K. Ports. 2015. Building Consistent Transactions with Inconsistent Replication. In SOSP. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards Scaling Blockchain Systems via Sharding

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            SIGMOD '19: Proceedings of the 2019 International Conference on Management of Data
            June 2019
            2106 pages
            ISBN:9781450356435
            DOI:10.1145/3299869

            Copyright © 2019 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 25 June 2019

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            SIGMOD '19 Paper Acceptance Rate88of430submissions,20%Overall Acceptance Rate785of4,003submissions,20%

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader