Title
Simplicity: A New Language for Blockchains.
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.
Year
DOI
Venue
2017
10.1145/3139337.3139340
CCS '17: 2017 ACM SIGSAC Conference on Computer and Communications Security Dallas Texas USA October, 2017
DocType
Volume
ISSN
Conference
abs/1711.03028
2017. Proceedings of the 2017 Workshop on Programming Languages and Analysis for Security. ACM, New York, NY, USA
ISBN
Citations 
PageRank 
978-1-4503-5099-0
13
1.04
References 
Authors
2
1
Name
Order
Citations
PageRank
Russell O'Connor115411.75