A smart contract is a script that controls the transfer of electronic assets within a distributed ledger. Existing smart contract architectures suffer from a bottleneck problem: contract calls place arbitrary user code right in the ledger’s critical path, so relatively complex contract executions delay processing for all transactions, especially simple payments and transfers that could otherwise be cleared quickly. This talk describes an alternative smart contract architecture that executes user code speculatively off the blockchain’s critical path. A secure committee validates and votes on each such computation, certifying the computation’s preconditions and its effects, and forwarding the certified results to a different committee controlling the blockchain. The paper focuses on the authors’ experience integrating this smart contract architecture with an existing commercial blockchain and an existing language virtual machine.
Maurice Herlihy has an A.B. in Mathematics from Harvard University, and a Ph.D. in Computer Science from M.I.T. He has served on the faculty of Carnegie Mellon University and the staff of DEC Cambridge Research Lab. He is the recipient of the 2003 Dijkstra Prize in Distributed Computing, the 2004 Gödel Prize in theoretical computer science, the 2008 ISCA influential paper award, the 2012 Edsger W. Dijkstra Prize, and the 2013 Wallace McDowell award. He received a 2012 Fulbright Distinguished Chair in the Natural Sciences and Engineering Lecturing Fellowship, and he is fellow of the ACM, a fellow of the National Academy of Inventors, the National Academy of Engineering, and the National Academy of Arts and Sciences.