Adding concurrency to smart contracts

Modern cryptocurrency systems, such as the Ethereum project, permit complex financial transactions through scripts called smart contracts . These smart contracts are executed many, many times, always without real concurrency. First, all smart contracts are serially executed by miners before appendin...

Full description

Saved in:
Bibliographic Details
Published inDistributed computing Vol. 33; no. 3-4; pp. 209 - 225
Main Authors Dickerson, Thomas, Gazzillo, Paul, Herlihy, Maurice, Koskinen, Eric
Format Journal Article
LanguageEnglish
Published Berlin/Heidelberg Springer Berlin Heidelberg 01.06.2020
Springer Nature B.V
Subjects
Online AccessGet full text
ISSN0178-2770
1432-0452
DOI10.1007/s00446-019-00357-z

Cover

Abstract Modern cryptocurrency systems, such as the Ethereum project, permit complex financial transactions through scripts called smart contracts . These smart contracts are executed many, many times, always without real concurrency. First, all smart contracts are serially executed by miners before appending them to the blockchain. Later, those contracts are serially re-executed by validators to verify that the smart contracts were executed correctly by miners. Serial execution limits system throughput and fails to exploit today’s concurrent multicore and cluster architectures. Nevertheless, serial execution appears to be required: contracts share state, and contract programming languages have a serial semantics. This paper 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, allowing non-conflicting contracts to proceed concurrently, and “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 have proved that the validator’s execution is equivalent to miner’s execution. Smart contract benchmarks run on a JVM with ScalaSTM show that a speedup of 1.39 × can be obtained for miners and 1.59 × for validators with just three concurrent threads.
AbstractList Modern cryptocurrency systems, such as the Ethereum project, permit complex financial transactions through scripts called smart contracts . These smart contracts are executed many, many times, always without real concurrency. First, all smart contracts are serially executed by miners before appending them to the blockchain. Later, those contracts are serially re-executed by validators to verify that the smart contracts were executed correctly by miners. Serial execution limits system throughput and fails to exploit today’s concurrent multicore and cluster architectures. Nevertheless, serial execution appears to be required: contracts share state, and contract programming languages have a serial semantics. This paper 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, allowing non-conflicting contracts to proceed concurrently, and “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 have proved that the validator’s execution is equivalent to miner’s execution. Smart contract benchmarks run on a JVM with ScalaSTM show that a speedup of 1.39 × can be obtained for miners and 1.59 × for validators with just three concurrent threads.
Modern cryptocurrency systems, such as the Ethereum project, permit complex financial transactions through scripts called smart contracts. These smart contracts are executed many, many times, always without real concurrency. First, all smart contracts are serially executed by miners before appending them to the blockchain. Later, those contracts are serially re-executed by validators to verify that the smart contracts were executed correctly by miners. Serial execution limits system throughput and fails to exploit today’s concurrent multicore and cluster architectures. Nevertheless, serial execution appears to be required: contracts share state, and contract programming languages have a serial semantics. This paper 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, allowing non-conflicting contracts to proceed concurrently, and “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 have proved that the validator’s execution is equivalent to miner’s execution. Smart contract benchmarks run on a JVM with ScalaSTM show that a speedup of 1.39× can be obtained for miners and 1.59× for validators with just three concurrent threads.
Author Gazzillo, Paul
Herlihy, Maurice
Dickerson, Thomas
Koskinen, Eric
Author_xml – sequence: 1
  givenname: Thomas
  surname: Dickerson
  fullname: Dickerson, Thomas
  organization: Brown University
– sequence: 2
  givenname: Paul
  surname: Gazzillo
  fullname: Gazzillo, Paul
  organization: Stevens Institute
– sequence: 3
  givenname: Maurice
  surname: Herlihy
  fullname: Herlihy, Maurice
  organization: Brown University
– sequence: 4
  givenname: Eric
  surname: Koskinen
  fullname: Koskinen, Eric
  email: eric.koskinen@stevens.edu
  organization: University of Central Florida
BookMark eNp9kMtqAjEUhkOxULV9ga4GSpdpT24mWYr0BkI37kMmk5ERm7FJXOjTNzqFQheuDhy-71z-CRqFPniE7gk8EQD5nAA4n2EgGgMwIfHxCo0JZxQDF3SExkCkwlRKuEGTlDZQKELoGD3Om6YL68r1we1j9MEdqtxX6cvGfGrmaF1Ot-i6tdvk737rFK1eX1aLd7z8fPtYzJfYMaIz9qT2XmpivZpJJQi3Utdc1a3jzosatHMUWg6WuhpqLUXbNrOmEZY5yrViU_QwjN3F_nvvUzabfh9D2WgoFVQSJhQplBooF_uUom-N67LN3fnYbmsImFMmZsjElEzMORNzLCr9p-5iV149XJbYIKUCh7WPf1ddsH4AV712Qg
CitedBy_id crossref_primary_10_1109_ACCESS_2023_3267277
crossref_primary_10_1109_ACCESS_2020_3014522
crossref_primary_10_1109_TCSS_2020_3023046
crossref_primary_10_3389_fbloc_2022_893747
crossref_primary_10_1109_ACCESS_2020_3006078
crossref_primary_10_1145_3723874
crossref_primary_10_14778_3675034_3675045
crossref_primary_10_1109_TKDE_2021_3059959
crossref_primary_10_1155_2021_6688168
crossref_primary_10_3233_IDT_200180
crossref_primary_10_1109_ACCESS_2022_3174052
crossref_primary_10_3390_math10071033
crossref_primary_10_1109_ACCESS_2022_3206450
crossref_primary_10_1155_2022_6144664
crossref_primary_10_1109_ACCESS_2019_2929136
crossref_primary_10_1109_TPDS_2022_3177405
Cites_doi 10.1145/3190508.3190538
10.1145/2901318.2901348
10.1145/2976749.2978309
10.1145/1835698.1835703
10.1007/978-3-662-53357-4_6
10.1109/SP.2016.55
10.1145/2737924.2737995
10.1145/872035.872048
10.1145/2810103.2813659
10.1145/1345206.1345237
10.1145/209936.209958
ContentType Journal Article
Copyright Springer-Verlag GmbH Germany, part of Springer Nature 2019
Springer-Verlag GmbH Germany, part of Springer Nature 2019.
Copyright_xml – notice: Springer-Verlag GmbH Germany, part of Springer Nature 2019
– notice: Springer-Verlag GmbH Germany, part of Springer Nature 2019.
DBID AAYXX
CITATION
3V.
7RQ
7SC
7XB
8AL
8AO
8FD
8FE
8FG
8FK
ABUWG
AFKRA
ARAPS
AZQEC
BENPR
BGLVJ
CCPQU
DWQXO
GNUQQ
HCIFZ
JQ2
K7-
L7M
L~C
L~D
M0N
P5Z
P62
PHGZM
PHGZT
PKEHL
PQEST
PQGLB
PQQKQ
PQUKI
PRINS
Q9U
U9A
DOI 10.1007/s00446-019-00357-z
DatabaseName CrossRef
ProQuest Central (Corporate)
Career & Technical Education Database
Computer and Information Systems Abstracts
ProQuest Central (purchase pre-March 2016)
Computing Database (Alumni Edition)
ProQuest Pharma Collection
Technology Research Database
ProQuest SciTech Collection
ProQuest Technology Collection
ProQuest Central (Alumni) (purchase pre-March 2016)
ProQuest Central (Alumni)
ProQuest Central UK/Ireland
Advanced Technologies & Computer Science Collection
ProQuest Central Essentials
ProQuest Central
Technology Collection
ProQuest One Community College
ProQuest Central
ProQuest Central Student
ProQuest SciTech Premium Collection
ProQuest Computer Science Collection
Computer Science Database
Advanced Technologies Database with Aerospace
Computer and Information Systems Abstracts – Academic
Computer and Information Systems Abstracts Professional
Computing Database
Advanced Technologies & Aerospace Database
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Premium
ProQuest One Academic
ProQuest One Academic Middle East (New)
ProQuest One Academic Eastern Edition (DO NOT USE)
ProQuest One Applied & Life Sciences
ProQuest One Academic
ProQuest One Academic UKI Edition
ProQuest Central China
ProQuest Central Basic
DatabaseTitle CrossRef
Computer Science Database
ProQuest Central Student
Technology Collection
Technology Research Database
Computer and Information Systems Abstracts – Academic
ProQuest One Academic Middle East (New)
ProQuest Advanced Technologies & Aerospace Collection
ProQuest Central Essentials
ProQuest Computer Science Collection
Computer and Information Systems Abstracts
ProQuest Central (Alumni Edition)
SciTech Premium Collection
ProQuest One Community College
ProQuest Pharma Collection
ProQuest Central China
ProQuest Central
ProQuest One Applied & Life Sciences
ProQuest Central Korea
ProQuest Central (New)
Advanced Technologies Database with Aerospace
Career and Technical Education (Alumni Edition)
Advanced Technologies & Aerospace Collection
ProQuest Computing
ProQuest Central Basic
ProQuest Computing (Alumni Edition)
ProQuest One Academic Eastern Edition
ProQuest Technology Collection
ProQuest SciTech Collection
Computer and Information Systems Abstracts Professional
Advanced Technologies & Aerospace Database
ProQuest Career and Technical Education
ProQuest One Academic UKI Edition
ProQuest One Academic
ProQuest One Academic (New)
ProQuest Central (Alumni)
DatabaseTitleList
Computer Science Database
Database_xml – sequence: 1
  dbid: 8FG
  name: ProQuest Technology Collection
  url: https://search.proquest.com/technologycollection1
  sourceTypes: Aggregation Database
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1432-0452
EndPage 225
ExternalDocumentID 10_1007_s00446_019_00357_z
GrantInformation_xml – fundername: Directorate for Computer and Information Science and Engineering
  grantid: 1421126; 1618542
  funderid: http://dx.doi.org/10.13039/100000083
– fundername: Directorate for Computer and Information Science and Engineering
  grantid: 003991
  funderid: http://dx.doi.org/10.13039/100000083
GroupedDBID -4Z
-59
-5G
-BR
-EM
-Y2
-~C
-~X
.4S
.86
.DC
.VR
06D
0R~
0VY
1N0
1SB
203
28-
29G
2J2
2JN
2JY
2KG
2LR
2P1
2VQ
2~H
30V
3V.
4.4
406
408
409
40D
40E
5GY
5QI
5VS
67Z
6NX
78A
7RQ
8AO
8FE
8FG
8UJ
95-
95.
95~
96X
AAAVM
AABHQ
AACDK
AAHNG
AAIAL
AAJBT
AAJKR
AANZL
AAOBN
AARHV
AARTL
AASML
AATNV
AATVU
AAUYE
AAWCG
AAYIU
AAYOK
AAYQN
AAYTO
AAYZH
ABAKF
ABBBX
ABBXA
ABDBF
ABDPE
ABDZT
ABECU
ABFTD
ABFTV
ABHLI
ABHQN
ABJNI
ABJOX
ABKCH
ABKTR
ABMNI
ABMQK
ABNWP
ABQBU
ABQSL
ABSXP
ABTEG
ABTHY
ABTKH
ABTMW
ABULA
ABUWG
ABWNU
ABXPI
ACAOD
ACBXY
ACDTI
ACGFS
ACHSB
ACHXU
ACKNC
ACMDZ
ACMLO
ACOKC
ACOMO
ACPIV
ACUHS
ACZOJ
ADHHG
ADHIR
ADIMF
ADINQ
ADKNI
ADKPE
ADMLS
ADRFC
ADTPH
ADURQ
ADYFF
ADZKW
AEBTG
AEFIE
AEFQL
AEGAL
AEGNC
AEJHL
AEJRE
AEKMD
AEMSY
AENEX
AEOHA
AEPYU
AESKC
AETLH
AEVLU
AEXYK
AFBBN
AFEXP
AFGCZ
AFKRA
AFLOW
AFQWF
AFWTZ
AFZKB
AGAYW
AGDGC
AGGDS
AGJBK
AGMZJ
AGQEE
AGQMX
AGRTI
AGWIL
AGWZB
AGYKE
AHAVH
AHBYD
AHKAY
AHSBF
AHYZX
AIAKS
AIGIU
AIIXL
AILAN
AITGF
AJBLW
AJRNO
AJZVZ
ALMA_UNASSIGNED_HOLDINGS
ALWAN
AMKLP
AMXSW
AMYLF
AMYQR
AOCGG
ARAPS
ARCSS
ARMRJ
ASPBG
AVWKF
AXYYD
AYJHY
AZFZN
AZQEC
B-.
B0M
BA0
BBWZM
BDATZ
BENPR
BGLVJ
BGNMA
BPHCQ
BSONS
CAG
CCPQU
COF
CS3
CSCUP
DDRTE
DL5
DNIVK
DPUIP
DU5
DWQXO
EAD
EAP
EBD
EBLON
EBS
EDO
EIOEI
EJD
EMK
EPL
ESBYG
ESX
FEDTE
FERAY
FFXSO
FIGPU
FINBP
FNLPD
FRRFC
FSGXE
FWDCC
GGCAI
GGRSB
GJIRD
GNUQQ
GNWQR
GQ6
GQ7
GQ8
GXS
H13
HCIFZ
HF~
HG5
HG6
HMJXF
HQYDN
HRMNR
HVGLF
HZ~
H~9
I-F
I09
IHE
IJ-
IKXTQ
ITM
IWAJR
IXC
IZIGR
IZQ
I~X
I~Z
J-C
J0Z
JBSCW
JCJTX
JZLTJ
K6V
K7-
KDC
KOV
KOW
LAS
LLZTM
M0N
M4Y
MA-
N2Q
N9A
NDZJH
NPVJJ
NQJWS
NU0
O9-
O93
O9G
O9I
O9J
OAM
P19
P2P
P62
P9O
PF0
PQQKQ
PROAC
PT4
PT5
Q2X
QOK
QOS
R4E
R89
R9I
RHV
RIG
RNI
ROL
RPX
RSV
RZK
S16
S1Z
S26
S27
S28
S3B
SAP
SCJ
SCLPG
SCO
SDH
SDM
SHX
SISQX
SJYHP
SNE
SNPRN
SNX
SOHCF
SOJ
SPISZ
SRMVM
SSLCW
STPWE
SZN
T13
T16
TN5
TSG
TSK
TSV
TUC
TUS
U2A
UG4
UOJIU
UTJUX
UZXMN
VC2
VFIZW
W23
W48
WK8
YLTOR
YZZ
Z45
Z7X
Z83
Z88
Z8R
Z8W
Z92
ZCA
ZMTXR
~8M
~EX
AAPKM
AAYXX
ABBRH
ABDBE
ABFSG
ABRTQ
ACSTC
ADHKG
AETEA
AEZWR
AFDZB
AFHIU
AFOHR
AGQPQ
AHPBZ
AHWEU
AIXLP
ATHPR
AYFIA
CITATION
PHGZM
PHGZT
PQGLB
PUEGO
7SC
7XB
8AL
8FD
8FK
JQ2
L7M
L~C
L~D
PKEHL
PQEST
PQUKI
PRINS
Q9U
U9A
ID FETCH-LOGICAL-c319t-e1bee791ae8678514a79b48bfc4ce5b09cc20f40a2cb0b975ffd6dd5a3c24983
IEDL.DBID BENPR
ISSN 0178-2770
IngestDate Sat Aug 23 13:09:45 EDT 2025
Wed Oct 01 04:43:47 EDT 2025
Thu Apr 24 22:49:10 EDT 2025
Fri Feb 21 02:40:06 EST 2025
IsPeerReviewed true
IsScholarly true
Issue 3-4
Keywords Miners
Smart contracts
Concurrency
Transactional boosting
Blockchain
Ethereum
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-c319t-e1bee791ae8678514a79b48bfc4ce5b09cc20f40a2cb0b975ffd6dd5a3c24983
Notes ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
PQID 2252713581
PQPubID 31799
PageCount 17
ParticipantIDs proquest_journals_2252713581
crossref_citationtrail_10_1007_s00446_019_00357_z
crossref_primary_10_1007_s00446_019_00357_z
springer_journals_10_1007_s00446_019_00357_z
ProviderPackageCode CITATION
AAYXX
PublicationCentury 2000
PublicationDate 20200600
2020-6-00
20200601
PublicationDateYYYYMMDD 2020-06-01
PublicationDate_xml – month: 6
  year: 2020
  text: 20200600
PublicationDecade 2020
PublicationPlace Berlin/Heidelberg
PublicationPlace_xml – name: Berlin/Heidelberg
– name: Heidelberg
PublicationTitle Distributed computing
PublicationTitleAbbrev Distrib. Comput
PublicationYear 2020
Publisher Springer Berlin Heidelberg
Springer Nature B.V
Publisher_xml – name: Springer Berlin Heidelberg
– name: Springer Nature B.V
References Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: Transactional predication: high-performance concurrent sets and maps for stm. In: Proceedings of the 29th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, PODC ’10, ACM, New York, NY, USA, pp. 6–15 (2010). https://doi.org/10.1145/1835698.1835703
Nakamoto, S.: Bitcoin: A peer-to-peer electronic cash system (2009). URL http://www.bitcoin.org/bitcoin.pdf
Herman, N., Inala, J.P., Huang, Y., Tsai, L., Kohler, E., Liskov, B., Shrira, L.: Type-aware transactions for faster concurrent code. In: Proceedings of the Eleventh European Conference on Computer Systems, EuroSys ’16, ACM, New York, NY, USA, pp. 31:1–31:16 (2016). https://doi.org/10.1145/2901318.2901348
Luu, L., Chu, D., Olickel, H., Saxena, P., Hobor, A.: Making smart contracts smarter. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, October 24–28, pp. 254–269 (2016)
Solidity documentation: Solidity by example: http://solidity.readthedocs.io/en/develop/solidity-by-example.html
Luu, L., Teutsch, J., Kulkarni, R., Saxena, P.: Demystifying incentives in the consensus computer. In: Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security, CCS ’15, ACM, New York, NY, USA, pp. 706–719 (2015). https://doi.org/10.1145/2810103.2813659
Hyperledger white paper. http://www.the-blockchain.com/docs/Hyperledger
Wood, G.: Ethereum: a secure decentralised generalised transaction ledger. http://gavwood.com/Paper.pdf
Delmolino, K., Arnett, M., Kosba, A., Miller, A., Shi, E.: Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab, Springer, Berlin, pp. 79–94 (2016). https://doi.org/10.1007/978-3-662-53357-4_6
Ethereum: https://github.com/ethereum
Androulaki, E., Barger, A., Bortnikov, V., Cachin, C., Christidis, K., De Caro, A., Enyeart, D., Ferris, C., Laventman, G., Manevich, Y., et al.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In: Proceedings of the Thirteenth EuroSys Conference, ACM, p. 30 (2018)
Szabo, N.: Formalizing and securing relationships on public networks. First Monday 2(9) (1997). http://firstmonday.org/ojs/index.php/fm/article/view/548
Cachin, C., Schubert, S., Vukolic, M.: Non-determinism in byzantine fault-tolerant replication. In: Fatourou, P., Jiménez, F., Pedone, F. (eds.) 20th International Conference on Principles of Distributed Systems (OPODIS 2016), Leibniz International Proceedings in Informatics (LIPIcs), vol. 70, Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, pp. 24:1–24:16 (2017). https://doi.org/10.4230/LIPIcs.OPODIS.2016.24. http://drops.dagstuhl.de/opus/volltexte/2017/7093
Ethereum design Rationale: http://github.com/ethereum/wiki/wiki/Design-Rationale#gas-and-fees
Bocchino Jr., R.L., Adve, V.S., Adve, S.V., Snir, M.: Parallel programming must be deterministic by default. In: Proceedings of the First USENIX Conference on Hot Topics in Parallelism, HotPar’09, USENIX Association, Berkeley, CA, USA, pp. 4–4 (2009). URL http://dl.acm.org/citation.cfm?id=1855591.1855595
Castro, M., Liskov, B.: Practical byzantine fault tolerance. In: Proceedings of the Third Symposium on Operating Systems Design and Implementation, OSDI ’99, USENIX Association, Berkeley, CA, USA, pp. 173–186 (1999). URL http://dl.acm.org/citation.cfm?id=296806.296824
Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the Twenty-second Annual Symposium on Principles of Distributed Computing, PODC ’03, ACM, New York, NY, USA, pp. 92–101 (2003). https://doi.org/10.1145/872035.872048
Blumofe, R.D., Joerg, C.F., Kuszmaul, B.C., Leiserson, C.E., Randall, K.H., Zhou, Y.: Cilk: an efficient multithreaded runtime system. In: Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP ’95, ACM, New York, NY, USA, pp. 207–216 (1995). https://doi.org/10.1145/209936.209958
Solidity documentation: http://solidity.readthedocs.io/en/latest/index.html
Koskinen, E., Parkinson, M.J.: The push/pull model of transactions. In: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’15), Portland, OR, USA. ACM (2015)
Why do smart contract languages need to be deterministic? https://ethereum.stackexchange.com/questions/3557/why-do-smart-contract-languages-need-to-be-deterministic
Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ’08, ACM, New York, NY, USA, pp. 207–216 (2008). https://doi.org/10.1145/1345206.1345237
Kosba, A.E., Miller, A., Shi, E., Wen, Z., Papamanthou, C.: Hawk: the blockchain model of cryptography and privacy-preserving smart contracts. In: IEEE Symposium on Security and Privacy (2015)
Scala STM Expert Group.: Scalastm. web. Retrieved from http://nbronson.github.com/scala-stm/, 20 November (2011)
DAO: Thedao smart contract. Retrieved 8 February (2017)
357_CR13
357_CR9
357_CR12
357_CR11
357_CR10
357_CR17
357_CR16
357_CR15
357_CR14
357_CR24
357_CR23
357_CR22
357_CR21
357_CR25
357_CR20
357_CR2
357_CR1
357_CR4
357_CR19
357_CR3
357_CR18
357_CR6
357_CR5
357_CR8
357_CR7
References_xml – reference: Solidity documentation: http://solidity.readthedocs.io/en/latest/index.html
– reference: Delmolino, K., Arnett, M., Kosba, A., Miller, A., Shi, E.: Step by Step Towards Creating a Safe Smart Contract: Lessons and Insights from a Cryptocurrency Lab, Springer, Berlin, pp. 79–94 (2016). https://doi.org/10.1007/978-3-662-53357-4_6
– reference: Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ’08, ACM, New York, NY, USA, pp. 207–216 (2008). https://doi.org/10.1145/1345206.1345237
– reference: Bocchino Jr., R.L., Adve, V.S., Adve, S.V., Snir, M.: Parallel programming must be deterministic by default. In: Proceedings of the First USENIX Conference on Hot Topics in Parallelism, HotPar’09, USENIX Association, Berkeley, CA, USA, pp. 4–4 (2009). URL http://dl.acm.org/citation.cfm?id=1855591.1855595
– reference: Kosba, A.E., Miller, A., Shi, E., Wen, Z., Papamanthou, C.: Hawk: the blockchain model of cryptography and privacy-preserving smart contracts. In: IEEE Symposium on Security and Privacy (2015)
– reference: Why do smart contract languages need to be deterministic? https://ethereum.stackexchange.com/questions/3557/why-do-smart-contract-languages-need-to-be-deterministic
– reference: Wood, G.: Ethereum: a secure decentralised generalised transaction ledger. http://gavwood.com/Paper.pdf
– reference: Koskinen, E., Parkinson, M.J.: The push/pull model of transactions. In: Proceedings of the 36th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’15), Portland, OR, USA. ACM (2015)
– reference: Hyperledger white paper. http://www.the-blockchain.com/docs/Hyperledger
– reference: Bronson, N.G., Casper, J., Chafi, H., Olukotun, K.: Transactional predication: high-performance concurrent sets and maps for stm. In: Proceedings of the 29th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, PODC ’10, ACM, New York, NY, USA, pp. 6–15 (2010). https://doi.org/10.1145/1835698.1835703
– reference: Castro, M., Liskov, B.: Practical byzantine fault tolerance. In: Proceedings of the Third Symposium on Operating Systems Design and Implementation, OSDI ’99, USENIX Association, Berkeley, CA, USA, pp. 173–186 (1999). URL http://dl.acm.org/citation.cfm?id=296806.296824
– reference: DAO: Thedao smart contract. Retrieved 8 February (2017)
– reference: Luu, L., Teutsch, J., Kulkarni, R., Saxena, P.: Demystifying incentives in the consensus computer. In: Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security, CCS ’15, ACM, New York, NY, USA, pp. 706–719 (2015). https://doi.org/10.1145/2810103.2813659
– reference: Ethereum: https://github.com/ethereum/
– reference: Herman, N., Inala, J.P., Huang, Y., Tsai, L., Kohler, E., Liskov, B., Shrira, L.: Type-aware transactions for faster concurrent code. In: Proceedings of the Eleventh European Conference on Computer Systems, EuroSys ’16, ACM, New York, NY, USA, pp. 31:1–31:16 (2016). https://doi.org/10.1145/2901318.2901348
– reference: Szabo, N.: Formalizing and securing relationships on public networks. First Monday 2(9) (1997). http://firstmonday.org/ojs/index.php/fm/article/view/548
– reference: Herlihy, M., Luchangco, V., Moir, M., Scherer III, W.N.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the Twenty-second Annual Symposium on Principles of Distributed Computing, PODC ’03, ACM, New York, NY, USA, pp. 92–101 (2003). https://doi.org/10.1145/872035.872048
– reference: Luu, L., Chu, D., Olickel, H., Saxena, P., Hobor, A.: Making smart contracts smarter. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, October 24–28, pp. 254–269 (2016)
– reference: Ethereum design Rationale: http://github.com/ethereum/wiki/wiki/Design-Rationale#gas-and-fees
– reference: Nakamoto, S.: Bitcoin: A peer-to-peer electronic cash system (2009). URL http://www.bitcoin.org/bitcoin.pdf
– reference: Blumofe, R.D., Joerg, C.F., Kuszmaul, B.C., Leiserson, C.E., Randall, K.H., Zhou, Y.: Cilk: an efficient multithreaded runtime system. In: Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP ’95, ACM, New York, NY, USA, pp. 207–216 (1995). https://doi.org/10.1145/209936.209958
– reference: Scala STM Expert Group.: Scalastm. web. Retrieved from http://nbronson.github.com/scala-stm/, 20 November (2011)
– reference: Androulaki, E., Barger, A., Bortnikov, V., Cachin, C., Christidis, K., De Caro, A., Enyeart, D., Ferris, C., Laventman, G., Manevich, Y., et al.: Hyperledger fabric: a distributed operating system for permissioned blockchains. In: Proceedings of the Thirteenth EuroSys Conference, ACM, p. 30 (2018)
– reference: Cachin, C., Schubert, S., Vukolic, M.: Non-determinism in byzantine fault-tolerant replication. In: Fatourou, P., Jiménez, F., Pedone, F. (eds.) 20th International Conference on Principles of Distributed Systems (OPODIS 2016), Leibniz International Proceedings in Informatics (LIPIcs), vol. 70, Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, pp. 24:1–24:16 (2017). https://doi.org/10.4230/LIPIcs.OPODIS.2016.24. http://drops.dagstuhl.de/opus/volltexte/2017/7093
– reference: Solidity documentation: Solidity by example: http://solidity.readthedocs.io/en/develop/solidity-by-example.html
– ident: 357_CR9
– ident: 357_CR19
– ident: 357_CR7
– ident: 357_CR1
  doi: 10.1145/3190508.3190538
– ident: 357_CR13
  doi: 10.1145/2901318.2901348
– ident: 357_CR17
  doi: 10.1145/2976749.2978309
– ident: 357_CR3
– ident: 357_CR5
– ident: 357_CR23
– ident: 357_CR25
– ident: 357_CR21
– ident: 357_CR4
  doi: 10.1145/1835698.1835703
– ident: 357_CR8
  doi: 10.1007/978-3-662-53357-4_6
– ident: 357_CR15
  doi: 10.1109/SP.2016.55
– ident: 357_CR16
  doi: 10.1145/2737924.2737995
– ident: 357_CR20
– ident: 357_CR12
  doi: 10.1145/872035.872048
– ident: 357_CR18
  doi: 10.1145/2810103.2813659
– ident: 357_CR6
– ident: 357_CR24
– ident: 357_CR22
– ident: 357_CR11
  doi: 10.1145/1345206.1345237
– ident: 357_CR14
– ident: 357_CR2
  doi: 10.1145/209936.209958
– ident: 357_CR10
SSID ssj0003112
Score 2.4043517
Snippet Modern cryptocurrency systems, such as the Ethereum project, permit complex financial transactions through scripts called smart contracts . These smart...
Modern cryptocurrency systems, such as the Ethereum project, permit complex financial transactions through scripts called smart contracts. These smart...
SourceID proquest
crossref
springer
SourceType Aggregation Database
Enrichment Source
Index Database
Publisher
StartPage 209
SubjectTerms Coding
Compilers
Computer Communication Networks
Computer Hardware
Computer Science
Computer Systems Organization and Communication Networks
Concurrency
Contracts
Cryptography
Miners
Schedules
Semantics
Software Engineering/Programming and Operating Systems
Theory of Computation
SummonAdditionalLinks – databaseName: SpringerLink Journals (ICM)
  dbid: U2A
  link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV07T8MwED7xWFh4IwoFeYAJLOXh1M5YIaoKCaZW6hbFznmCFpEw0F_P2XVSgQCJOY6lnO_xXc53H8AVRR1NaYPmiKi5QEfzkqWaK4sUzVGWonLNyY9Pg_FUPMyyWWgKq9vb7m1J0nvqrtnN1x4p9c25K39JvtyE7cyN8yItnibDzv-msa9xOt55nkgZhVaZn_f4Go7WGPNbWdRHm9E-7AaYyIarcz2ADZwfwl5LwcCCRR7B9bBywYdRVmv8pCXzwZoFq19II5i_hl6apj6Gyeh-cjfmgfmAGzKJhmOsEWUel6gomBCmKWWuhdLWCIOZjnJjksiKqEyMjnQuM2urQVVlZWoonVLpCWzNF3M8BRYLqVOVxHQUlbCOo9QiCqMGKSEnQic9iNvvL0yYCu7IKZ6Lbp6xl1lBMiu8zIplD266d15XMzH-XN1vxVoE-6gL8iKJIwdUcQ9uW1GvH_--29n_lp_DTuISZP_bpA9bzds7XhCKaPSlV5pPzdW9xg
  priority: 102
  providerName: Springer Nature
Title Adding concurrency to smart contracts
URI https://link.springer.com/article/10.1007/s00446-019-00357-z
https://www.proquest.com/docview/2252713581
Volume 33
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVEBS
  databaseName: EBSCOhost Academic Search Ultimate
  customDbUrl: https://search.ebscohost.com/login.aspx?authtype=ip,shib&custid=s3936755&profile=ehost&defaultdb=asn
  eissn: 1432-0452
  dateEnd: 20241028
  omitProxy: true
  ssIdentifier: ssj0003112
  issn: 0178-2770
  databaseCode: ABDBF
  dateStart: 20030901
  isFulltext: true
  titleUrlDefault: https://search.ebscohost.com/direct.asp?db=asn
  providerName: EBSCOhost
– providerCode: PRVEBS
  databaseName: Inspec with Full Text
  customDbUrl:
  eissn: 1432-0452
  dateEnd: 20241028
  omitProxy: false
  ssIdentifier: ssj0003112
  issn: 0178-2770
  databaseCode: ADMLS
  dateStart: 19860101
  isFulltext: true
  titleUrlDefault: https://www.ebsco.com/products/research-databases/inspec-full-text
  providerName: EBSCOhost
– providerCode: PRVLSH
  databaseName: SpringerLink Journals
  customDbUrl:
  mediaType: online
  eissn: 1432-0452
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0003112
  issn: 0178-2770
  databaseCode: AFBBN
  dateStart: 19970201
  isFulltext: true
  providerName: Library Specific Holdings
– providerCode: PRVPQU
  databaseName: ProQuest Central
  customDbUrl: http://www.proquest.com/pqcentral?accountid=15518
  eissn: 1432-0452
  dateEnd: 20241028
  omitProxy: true
  ssIdentifier: ssj0003112
  issn: 0178-2770
  databaseCode: BENPR
  dateStart: 20040101
  isFulltext: true
  titleUrlDefault: https://www.proquest.com/central
  providerName: ProQuest
– providerCode: PRVPQU
  databaseName: ProQuest Technology Collection
  customDbUrl:
  eissn: 1432-0452
  dateEnd: 20241028
  omitProxy: true
  ssIdentifier: ssj0003112
  issn: 0178-2770
  databaseCode: 8FG
  dateStart: 20000701
  isFulltext: true
  titleUrlDefault: https://search.proquest.com/technologycollection1
  providerName: ProQuest
– providerCode: PRVAVX
  databaseName: SpringerLINK - Czech Republic Consortium
  customDbUrl:
  eissn: 1432-0452
  dateEnd: 99991231
  omitProxy: false
  ssIdentifier: ssj0003112
  issn: 0178-2770
  databaseCode: AGYKE
  dateStart: 19970101
  isFulltext: true
  titleUrlDefault: http://link.springer.com
  providerName: Springer Nature
– providerCode: PRVAVX
  databaseName: SpringerLink Journals (ICM)
  customDbUrl:
  eissn: 1432-0452
  dateEnd: 99991231
  omitProxy: true
  ssIdentifier: ssj0003112
  issn: 0178-2770
  databaseCode: U2A
  dateStart: 19970101
  isFulltext: true
  titleUrlDefault: http://www.springerlink.com/journals/
  providerName: Springer Nature
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV07T8MwED71sbDwRhRKlQEmsEgcp0kGhAL0IaAVglYqUxQ_MkFbaBjor-fsJq1AolMGJ5Zy7_P57gM4Ra_DMW3gRCnFCVMa5sVzOQlShd5c-QmTujm51292h-x-5I1K0C96YfS1ysImGkMtJ0KfkV-i3FENJxc419MPolGjdHW1gNBIcmgFeWVGjJWhSvVkrApUb1r9p-elbXYdU__UmPSE-r6dt9GYZjpT28TUOiS6vOaT-W9XtYo__5RMjSdqb8NmHkJa0YLnO1BS413YKuAZrFxb9-AsktoxWZjxCjOFSXxb2cSavaO0WOaKeiKy2T4M2q3BbZfkqAhEoLpkRDlcKT90EhWgo8F4J_FDzgKeCiaUx-1QCGqnzE6o4DYPfS9NZVNKL3EFplqBewCV8WSsDsFymM_dgDrIJslSjV-aKsVE0HQxqsLIpQZO8f-xyCeGa-CKt3g569jQLEaaxYZm8bwG58tvpot5GWvfrhdkjXPdmcUrTtfgoiD1avn_3Y7W73YMG1Qny-YIpQ6V7PNLnWBEkfEGlIN2pwHV6K73-KKfndeHViMXHlwd0ugH2r7LxQ
linkProvider ProQuest
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3JTsMwEB0BPcCFHVHWHOAEFlmc7YAQq8rSCqEi9WbFzuQELZAgBP_GvzE2TiuQ6I1zkpEyefHM83jmAexQ1JFEGyRDRMk4apmXMJAsKZCiOcYZz3VzcrsTte75VS_sTcBn3Qujj1XWa6JZqPOB0nvkB4Q7X8vJJd7R0zPTqlG6ulpLaGRWWiE_NCPGbGPHNb6_EYUrDy_P6Hvv-v7Fefe0xazKAFMEv4qhJxHj1MswibRSPc_iVPJEFoorDKWbKuW7BXczX0lXpnFYFHmU52EWKKIuSUBmJ6HBA54S92ucnHdu74ahIPBMuZVQT3CMY9d27ZjePVNKJSafMl3Ni9nHz8g4Snd_VWhN4LuYh1mbsTrH3xBbgAnsL8JcrQbh2MVhCXaPcx0HHSLYygx9Uu9ONXDKRwKnY07EZ6oql6H7H-5Zgan-oI-r4Hg8lkHie4SKnBdaLrVA5CqJAkriKFFqgle_v1B2QLnWyXgQw9HKxmeCfCaMz8RHE_aGzzx9j-cYe_dG7VZhf9VSjIDVhP3a1aPLf1tbG29tG6Zb3faNuLnsXK_DjK95utm92YCp6uUVNymZqeSWhYwD4p9B-gX1dQTB
linkToPdf http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1LS8NAEB5qBfHiW6zPHPSkS_PYdJODiFirtSoeKvS2ZDeTk7bVRkT_mf_O2W3SomBvnpMMZPJlHjuPD-CQvI6itEExRFSMo6F5CQPFogzJm6NIeGqGk-_uG9eP_KYX9irwVc7CmLbK0iZaQ50OtDkjrxPufEMnF3n1rGiLeGi2zoYvzDBImUprSacxhkgHP94pfRudtpv0rY98v3XZvbhmBcMA0wS9nKGnEEXsJRg1DEs9T0SseKQyzTWGyo219t2Mu4mvlatiEWZZ2kjTMAk0pS1RQGLnYF6YJe5mSL11NXECgWcLrYR3AqIQbjGvY6f2bBGVcviYmTqeYJ8_feI00P1Vm7Uur7UCS0Ws6pyPwbUKFeyvwXLJA-EUZmEdjs5T4wEdSq21XfekP5x84IyeCZaO7YVPdD7agO5_KGcTqv1BH7fA8bhQQeR7hIeUZ4YoNUPkOmoEFL5RiFQDr3x_qYvV5IYh40lOlipbnUnSmbQ6k581OJ48Mxwv5ph5926pVln8pCM5hVQNTkpVTy__LW17trQDWCBoytv2fWcHFn2ToNtjm12o5q9vuEdRTK72LV4ckP-Mz2_LGQJb
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Adding+concurrency+to+smart+contracts&rft.jtitle=Distributed+computing&rft.au=Dickerson%2C+Thomas&rft.au=Gazzillo%2C+Paul&rft.au=Herlihy%2C+Maurice&rft.au=Koskinen%2C+Eric&rft.date=2020-06-01&rft.pub=Springer+Nature+B.V&rft.issn=0178-2770&rft.eissn=1432-0452&rft.volume=33&rft.issue=3-4&rft.spage=209&rft.epage=225&rft_id=info:doi/10.1007%2Fs00446-019-00357-z&rft.externalDBID=HAS_PDF_LINK
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0178-2770&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0178-2770&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0178-2770&client=summon