Conférence
Notice
Langue :
Anglais
Crédits
INRIA (Institut national de recherche en informatique et automatique) (Production), Maurice Herlihy (Intervention)
Conditions d'utilisation
Document libre, dans le cadre de la licence Creative Commons (http://creativecommons.org/licenses/by-nd/2.0/fr/), citation de l'auteur obligatoire et interdiction de désassembler (paternité, pas de modification).
DOI : 10.60527/s33h-mc11
Citer cette ressource :
Maurice Herlihy. Inria. (2017, 5 mai). Adding Concurrency to Smart Contracts. [Vidéo]. Canal-U. https://doi.org/10.60527/s33h-mc11. (Consultée le 16 mai 2024)

Adding Concurrency to Smart Contracts

Réalisation : 5 mai 2017 - Mise en ligne : 31 janvier 2018
  • document 1 document 2 document 3
  • niveau 1 niveau 2 niveau 3
Descriptif

Modern cryptocurrency systems, such as Ethereum,permit complex financial transactions through scripts called *smart contracts*.These smart contracts are executed many, many times, always withoutconcurrency. First, smart contracts are serially executed before being recordedon the blockchain, and once recorded, they are serially re-executed whenever itis necessary to check that the blockchain is correct. Such serial executionlimits system throughput and fails to exploit today's concurrent multicore andcluster architectures.

This talk presents a novel way to permit miners and validators to execute smartcontracts in parallel. A party attempting to add a smart contract to theblockchain executes multiple smart contracts speculatively, in parallel, thus``discovering'' a serializable concurrent schedule for those transactions. Thisschedule is captured and encoded as a parallel but deterministic fork-joinprogram used by later validators to re-execute those transactions concurrentlyand securely.

Experiments show non-trivial speedup with even a small number of cores.

Joint work with Thomas Dickerson, Eric Koskinen, and Paul Gazzillo.

Intervention