Core Concepts, Challenges, and Future Directions in Blockchain

Blockchains are a topic of immense interest in academia and industry, but their true nature is often obscured by marketing and hype. In this tutorial, we explain the fundamental elements of blockchains. We discuss their ability to achieve availability, consistency, and data integrity as well as their inherent limitations. Using Ethereum as a case study, we describe the inner workings of blockchains in detail before comparing blockchains to traditional distributed systems. In the second part of our tutorial, we discuss the major challenges facing blockchains and summarize ongoing research and commercial offerings that seek to address these challenges.

[1]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[2]  Yehuda Lindell,et al.  How To Simulate It - A Tutorial on the Simulation Proof Technique , 2016, IACR Cryptol. ePrint Arch..

[3]  Aggelos Kiayias,et al.  Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol , 2017, CRYPTO.

[4]  Stuart Haber,et al.  Improving the Efficiency and Reliability of Digital Time-Stamping , 1993 .

[5]  Ethan Heilman,et al.  Eclipse Attacks on Bitcoin's Peer-to-Peer Network , 2015, USENIX Security Symposium.

[6]  Dawn Xiaodong Song,et al.  Ekiden: A Platform for Confidentiality-Preserving, Trustworthy, and Performant Smart Contract Execution , 2018, ArXiv.

[7]  Petar Tsankov,et al.  Securify: Practical Security Analysis of Smart Contracts , 2018, CCS.

[8]  Albert Levi,et al.  A Survey on Anonymity and Privacy in Bitcoin-Like Digital Cash Systems , 2018, IEEE Communications Surveys & Tutorials.

[9]  Shen Noether,et al.  Ring Confidential Transactions , 2016, Ledger.

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

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

[12]  Yonatan Sompolinsky PHANTOM , GHOSTDAG : Two Scalable BlockDAG protocols , 2018 .

[13]  Ghassan O. Karame,et al.  Bitcoin and Blockchain Security , 2016 .

[14]  Adam Back,et al.  Hashcash - A Denial of Service Counter-Measure , 2002 .

[15]  Massimo Bartoletti,et al.  A Survey of Attacks on Ethereum Smart Contracts (SoK) , 2017, POST.

[16]  Jim Kurose,et al.  Computer Networking: A Top-Down Approach (6th Edition) , 2007 .

[17]  Ittai Abraham,et al.  Online detection of effectively callback free objects with applications to smart contracts , 2017, Proc. ACM Program. Lang..

[18]  Jeremy Clark,et al.  Bitcoin's academic pedigree , 2017, ACM Queue.

[19]  Marko Vukolic,et al.  Blockchain Consensus Protocols in the Wild , 2017, DISC.

[20]  Elaine Shi,et al.  Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts , 2016, 2016 IEEE Symposium on Security and Privacy (SP).

[21]  Prateek Saxena,et al.  Making Smart Contracts Smarter , 2016, IACR Cryptol. ePrint Arch..

[22]  Brad A. Myers,et al.  User-Centered Design of Permissions , Typestate , and Ownership in the Obsidian Blockchain Language , 2018 .

[23]  Ghassan O. Karame,et al.  Blockchain Beyond Bitcoin , 2016 .

[24]  Ittai Abraham,et al.  HotStuff: BFT Consensus in the Lens of Blockchain , 2018, 1803.05069.

[25]  Jeremy Clark,et al.  SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies , 2015, 2015 IEEE Symposium on Security and Privacy.

[26]  George Danezis,et al.  Consensus in the Age of Blockchains , 2017, ArXiv.

[27]  Ghassan O. Karame,et al.  On the Security and Scalability of Bitcoin's Blockchain , 2016, CCS.

[28]  Ari Juels,et al.  Enter the Hydra: Towards Principled Bug Bounties and Exploit-Resistant Smart Contracts , 2018, IACR Cryptol. ePrint Arch..

[29]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[30]  Jae Kwon,et al.  Tendermint : Consensus without Mining , 2014 .

[31]  Sunny King,et al.  PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake , 2012 .

[32]  Jim Kurose,et al.  Computer Networking: A Top-Down Approach , 1999 .

[33]  Marko Vukolic,et al.  Hyperledger fabric: a distributed operating system for permissioned blockchains , 2018, EuroSys.

[34]  Alex Biryukov,et al.  Findel: Secure Derivative Contracts for Ethereum , 2017, Financial Cryptography Workshops.

[35]  Arvind Narayanan,et al.  Bitcoin and Cryptocurrency Technologies - A Comprehensive Introduction , 2016 .

[36]  J. Gans,et al.  Some simple economics of the blockchain , 2016, Commun. ACM.

[37]  Christopher K. Frantz,et al.  From Institutions to Code: Towards Automated Generation of Smart Contracts , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

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

[39]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[40]  Vitalik Buterin,et al.  Casper the Friendly Finality Gadget , 2017, ArXiv.

[41]  Ilya Sergey,et al.  Scilla: a Smart Contract Intermediate-Level LAnguage , 2018, ArXiv.

[42]  Craig Gentry,et al.  Pinocchio: Nearly Practical Verifiable Computation , 2013, 2013 IEEE Symposium on Security and Privacy.

[43]  Alfred Menezes,et al.  Handbook of Applied Cryptography , 2018 .

[44]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[45]  Stuart Haber,et al.  How to time-stamp a digital document , 1990, Journal of Cryptology.

[46]  Gang Chen,et al.  Untangling Blockchain: A Data Processing View of Blockchain Systems , 2017, IEEE Transactions on Knowledge and Data Engineering.

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

[48]  Emin Gün Sirer,et al.  Bitcoin-NG: A Scalable Blockchain Protocol , 2015, NSDI.

[49]  Aviv Zohar,et al.  Secure High-Rate Transaction Processing in Bitcoin , 2015, Financial Cryptography.

[50]  Eli Ben-Sasson,et al.  Succinct Non-Interactive Arguments for a von Neumann Architecture , 2013, IACR Cryptol. ePrint Arch..

[51]  Aviv Zohar,et al.  PHANTOM: A Scalable BlockDAG Protocol , 2018, IACR Cryptol. ePrint Arch..

[52]  Eric Budish The Economic Limits of Bitcoin and the Blockchain , 2018 .

[53]  Nikhil Swamy,et al.  Formal Verification of Smart Contracts: Short Paper , 2016, PLAS@CCS.

[54]  Neha Narula,et al.  zkLedger: Privacy-Preserving Auditing for Distributed Ledgers , 2018, IACR Cryptol. ePrint Arch..

[55]  Yael Tauman Kalai,et al.  How to Leak a Secret: Theory and Applications of Ring Signatures , 2001, Essays in Memory of Shimon Even.

[56]  Michael J. Fischer,et al.  Scalable Bias-Resistant Distributed Randomness , 2017, 2017 IEEE Symposium on Security and Privacy (SP).

[57]  Hannes Hartenstein,et al.  Network Layer Aspects of Permissionless Blockchains , 2019, IEEE Communications Surveys & Tutorials.

[58]  Juan Chen,et al.  Secure distributed programming with value-dependent types , 2011, Journal of Functional Programming.

[59]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[60]  Elaine Shi,et al.  Thunderella: Blockchains with Optimistic Instant Confirmation , 2018, IACR Cryptol. ePrint Arch..

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

[62]  Yoad Lewenberg,et al.  SPECTRE: A Fast and Scalable Cryptocurrency Protocol , 2016, IACR Cryptol. ePrint Arch..

[63]  Nicolas Courtois,et al.  Stealth Address and Key Management Techniques in Blockchain Systems , 2017, ICISSP.

[64]  Eli Ben-Sasson,et al.  Zerocash: Decentralized Anonymous Payments from Bitcoin , 2014, 2014 IEEE Symposium on Security and Privacy.

[65]  Michael J. Coblenz Obsidian: A Safer Blockchain Programming Language , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[66]  Fergal Reid,et al.  An Analysis of Anonymity in the Bitcoin System , 2011, PASSAT 2011.

[67]  Nick Szabo,et al.  Formalizing and Securing Relationships on Public Networks , 1997, First Monday.

[68]  Ilya Sergey,et al.  A Concurrent Perspective on Smart Contracts , 2017, Financial Cryptography Workshops.

[69]  Dan Boneh,et al.  Bulletproofs: Short Proofs for Confidential Transactions and More , 2018, 2018 IEEE Symposium on Security and Privacy (SP).

[70]  Björn Scheuermann,et al.  Bitcoin and Beyond: A Technical Survey on Decentralized Digital Currencies , 2016, IEEE Communications Surveys & Tutorials.

[71]  Adi Shamir,et al.  Quantitative Analysis of the Full Bitcoin Transaction Graph , 2013, Financial Cryptography.

[72]  A.W.G. de Vries Bitcoin's Growing Energy Problem , 2018 .

[73]  Torben P. Pedersen Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing , 1991, CRYPTO.

[74]  Moni Naor,et al.  Pricing via Processing or Combatting Junk Mail , 1992, CRYPTO.

[75]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[76]  Stuart Haber,et al.  Secure names for bit-strings , 1997, CCS '97.

[77]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[78]  Hubert Ritzdorf,et al.  On the Security and Performance of Proof of Work Blockchains , 2016, IACR Cryptol. ePrint Arch..

[79]  L. Goodman Tezos : A Self-Amending Crypto-Ledger Position Paper , 2014 .

[80]  Vitalik Buterin A NEXT GENERATION SMART CONTRACT & DECENTRALIZED APPLICATION PLATFORM , 2015 .

[81]  Maurice Herlihy,et al.  Blockchains from a distributed computing perspective , 2019, Commun. ACM.

[82]  Massimo Bartoletti,et al.  Financial Cryptography and Data Security , 2017, Lecture Notes in Computer Science.

[83]  Miguel Oom Temudo de Castro,et al.  Practical Byzantine fault tolerance , 1999, OSDI '99.

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

[85]  Mauro Conti,et al.  A Survey on Security and Privacy Issues of Bitcoin , 2017, IEEE Communications Surveys & Tutorials.