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...
Saved in:
| Published in | Distributed computing Vol. 33; no. 3-4; pp. 209 - 225 |
|---|---|
| Main Authors | , , , |
| Format | Journal Article |
| Language | English |
| Published |
Berlin/Heidelberg
Springer Berlin Heidelberg
01.06.2020
Springer Nature B.V |
| Subjects | |
| Online Access | Get full text |
| ISSN | 0178-2770 1432-0452 |
| DOI | 10.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 |