skip to main content
10.1145/3139337.3139340acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article
Open access

Simplicity: A New Language for Blockchains

Published: 30 October 2017 Publication History

Abstract

Simplicity is a typed, combinator-based, functional language without loops and recursion, designed to be used for crypto-currencies and blockchain applications. It aims to improve upon existing crypto-currency languages, such as Bitcoin Script and Ethereum's EVM, while avoiding some of the problems they face. Simplicity comes with formal denotational semantics defined in Coq, a popular, general purpose software proof assistant. Simplicity also includes operational semantics that are defined with an abstract machine that we call the Bit Machine. The Bit Machine is used as a tool for measuring the computational space and time resources needed to evaluate Simplicity programs. Owing to its Turing incompleteness, Simplicity is amenable to static analysis that can be used to derive upper bounds on the computational resources needed, prior to execution. While Turing incomplete, Simplicity can express any finitary function, which we believe is enough to build useful ``smart contracts'' for blockchain applications.

References

[1]
G. Andresen. 2012. BIP16: Pay to Script Hash. Bitcoin Improvement Proposal. (2012). shownotehttps://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki.
[2]
A. W. Appel. 2015. Verification of a Cryptographic Primitive: `-256. ACM Trans. Program. Lang. Syst. Vol. 37, 2, Article bibinfoarticleno7 (April 2015), bibinfonumpages31 pages.1007/978--1--4471--3215--8_12
[3]
J. Lau 2016. BIP114: Merkelized Abstract Syntax Tree. Bitcoin Improvement Proposal. (2016). shownotehttps://github.com/bitcoin/bips/blob/master/bip-0114.mediawiki.
[4]
X. Leroy 2009. Formal verification of a realistic compiler. Commun. ACM Vol. 52, 7 (2009), 107--115. showURL%http://gallium.inria.fr/ xleroy/publi/compcert-CACM.pdf
[5]
G. Maxwell. 2011. Zero-Knowledge Contingent Payment. (2011). shownotehttps://en.bitcoin.it/wiki/Zero_Knowledge_Contingent_Payment.
[6]
S. Nakamoto. 2008. Bitcoin: A peer-to-peer electronic cash system. http://bitcoin.org/bitcoin.pdf. (Nov. 2008).
[7]
S. Nakamoto. 2010natexlaba. misc changes. https://github.com/bitcoin/bitcoin/commit/4bd188c4383d6e614e18f79dc337fbabe8464c82. (Aug. 2010). shownotehttps://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@131.
[8]
S. Nakamoto. 2010natexlabb. Re: Transactions and Scripts: DUP HASH160 ... EQUALVERIFY CHECKSIG. https://bitcointalk.org/index.php?topic=195.msg1611#msg1611. (June 2010).
[9]
National institute of standards and technology 2013. FIPS Pub 186--4 Federal Information Processing Standards Publication Digital Signature Standard (DSS). (2013). showURL%http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.362.5590
[10]
National institute of standards and technology 2015. FIPS 180--4, Secure Hash Standard, Federal Information Processing Standard (FIPS), Publication 180--4. bibinfotypeTechnical Report. bibinfoinstitutionDEPARTMENT OF COMMERCE. showURL%http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180--4.pdf
[11]
R. O»Connor. 2016. Covenants in Elements Alpha. (2016). shownoteBlog post, https://blockstream.com/2016/11/02/covenants-in-elements-alpha.html.
[12]
Parity 2017. The Multi-sig Hack: A Postmortem. (July 2017). shownotehttps://blog.parity.io/the-multi-sig-hack-a-postmortem/.
[13]
M. S. Paterson and M. N. Wegman 1978. Linear unification. J. Comput. System Sci. Vol. 16, 2 (1978), 158 -- 167. showISSN0022-0000 https://doi.org/10.1016/0022-0000(78)90043-0
[14]
C. P. Schnorr. 1989. Efficient Identification and Signatures for Smart Cards Proceedings of CRYPTO »89.
[15]
The Coq Development Team. 2016. The Coq Proof Assistant Reference Manual: Version 8.6. https://coq.inria.fr/refman/. (2016).
[16]
P. Todd 2014. BIP65: OP_CHECKLOCKTIMEVERIFY. Bitcoin Improvement Proposal. (2014). shownotehttps://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki.
[17]
G. Wood 2014. Ethereum: A Secure Decentralised Generalised Transaction Ledger. (2014). shownotehttp://gavwood.com/paper.pdf.
[18]
C. Yarvin, P. Monk, A. Dyudin, and R. Pasco. 2016. Urbit: A Solid-State Interpreter. (May 2016). shownotehttp://media.urbit.org/whitepaper.pdf. endthebibliography

Cited By

View all
  • (2024)Survey on Quality Assurance of Smart ContractsACM Computing Surveys10.1145/369586457:2(1-36)Online publication date: 10-Oct-2024
  • (2024)Unveiling Decentralization: A Comprehensive Review of Technologies, Comparison, Challenges in Bitcoin, Ethereum, and Solana Blockchain2024 IEEE 6th Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC)10.1109/IMCEC59810.2024.10575445(1896-1901)Online publication date: 24-May-2024
  • (2024)Smart Contract Risk Assessment How Secure is the Contract You Are CallingComputational and Experimental Simulations in Engineering10.1007/978-3-031-77489-8_40(526-534)Online publication date: 3-Dec-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PLAS '17: Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security
October 2017
128 pages
ISBN:9781450350990
DOI:10.1145/3139337
This work is licensed under a Creative Commons Attribution International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 30 October 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. blockchain
  2. bounded computation
  3. crypto-currency
  4. formal semantics
  5. smart contracts

Qualifiers

  • Research-article

Conference

CCS '17
Sponsor:

Acceptance Rates

PLAS '17 Paper Acceptance Rate 8 of 10 submissions, 80%;
Overall Acceptance Rate 43 of 77 submissions, 56%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)167
  • Downloads (Last 6 weeks)30
Reflects downloads up to 22 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Survey on Quality Assurance of Smart ContractsACM Computing Surveys10.1145/369586457:2(1-36)Online publication date: 10-Oct-2024
  • (2024)Unveiling Decentralization: A Comprehensive Review of Technologies, Comparison, Challenges in Bitcoin, Ethereum, and Solana Blockchain2024 IEEE 6th Advanced Information Management, Communicates, Electronic and Automation Control Conference (IMCEC)10.1109/IMCEC59810.2024.10575445(1896-1901)Online publication date: 24-May-2024
  • (2024)Smart Contract Risk Assessment How Secure is the Contract You Are CallingComputational and Experimental Simulations in Engineering10.1007/978-3-031-77489-8_40(526-534)Online publication date: 3-Dec-2024
  • (2024)An extensive multivocal literature review of blockchain technologyTransactions on Emerging Telecommunications Technologies10.1002/ett.503735:11Online publication date: 23-Oct-2024
  • (2023)Correct-by-Design Interacting Smart Contracts and a Systematic Approach for Verifying ERC20 and ERC721 Contracts With VeriSolidIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2022.320084020:4(3110-3127)Online publication date: 1-Jul-2023
  • (2022)Smart Contracts Security Threats and SolutionsInternational Journal of Information Technology and Web Engineering10.4018/IJITWE.30404817:1(1-30)Online publication date: 2-Sep-2022
  • (2022)Smart Contract Generation Assisted by AI-Based Word SegmentationApplied Sciences10.3390/app1209477312:9(4773)Online publication date: 9-May-2022
  • (2022)SigVM: enabling event-driven execution for truly decentralized smart contractsProceedings of the ACM on Programming Languages10.1145/35633126:OOPSLA2(673-698)Online publication date: 31-Oct-2022
  • (2022)A Study on Blockchain Architecture Design Decisions and Their Security Attacks and ThreatsACM Transactions on Software Engineering and Methodology10.1145/350274031:2(1-45)Online publication date: 1-Apr-2022
  • (2022)SPESC-Translator: Towards Automatically Smart Legal Contract Conversion for Blockchain-Based Auction ServicesIEEE Transactions on Services Computing10.1109/TSC.2021.307729115:5(3061-3076)Online publication date: 1-Sep-2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media