Speculative Concurrency for Ethereum Smart Contracts
, Brown University
Date: Tuesday, July 23, 2019
Time: 3:00 PM to 4:00 PM Note: all times are in the Eastern Time Zone
Location: G32-449 (Patil/Kiva)
Event Type: Seminar
Room Description: G32-449 (Patil/Kiva)
Host: Julian Shun, MIT CSAIL
Contact: Julian Shun, email@example.com
Relevant URL: http://fast-code.csail.mit.edu
Speaker URL: https://cs.brown.edu/~mph/
firstname.lastname@example.org, email@example.com, firstname.lastname@example.org
TALK: Speculative Concurrency for Ethereum Smart Contracts
Modern cryptocurrency systems, such as Ethereum, permit complex financial transactions through scripts called smart contracts. These smart contracts are executed many, many times, always without real concurrency. Serial execution limits system throughput and fails to exploit today's concurrent multicore and cluster architectures.
This talk presents a novel way to permit miners and validators to execute smart contracts in parallel, based on techniques adapted from software transactional memory. Miners execute smart contracts speculatively in parallel, "discovering" a serializable concurrent schedule for a block's transactions, This schedule is captured and encoded as a deterministic fork-join program used by validators to re-execute the miner's parallel schedule deterministically but concurrently.
We examined historical data to estimate the potential benefit of speculative techniques for executing Ethereum smart contracts in parallel. We find that our speculative technique yields estimated speed-ups starting at about 8-fold in 2016, declining to about 2-fold at the end of 2017, where speed-up is measured using either gas costs or instruction counts. We also observe that a small set of contracts are responsible for many data conflicts resulting from speculative concurrent execution.
Joint work with Thomas Dickerson, Paul Gazzillo, Eric Koskinen, and Vikram Saraph.
Livestream link: https://www.youtube.com/channel/UCYs2iUgksAhgoidZwEAimmg/live
Algorithms & Theory, Programming Languages & Software, Security & Cryptography
Created by Julian J. Shun at Tuesday, July 16, 2019 at 4:47 PM.