English
Related papers

Related papers: Albert, an intermediate smart-contract language fo…

200 papers

Smart contracts have played a pivotal role in the evolution of blockchains and Decentralized Applications (DApps). As DApps continue to gain widespread adoption, multiple smart contract languages have been and are being made available to…

We implement two versions of a simple but illustrative smart contract: one in Solidity on the Ethereum blockchain platform, and one in Plutus on the Cardano platform, with annotated code excerpts and with source code attached. We get a…

Logic in Computer Science · Computer Science 2021-02-03 Lars Brunjes , Murdoch J. Gabbay

Smart contracts are Turing-complete programs that execute on the infrastructure of the blockchain, which often manage valuable digital assets. Solidity is one of the most popular programming languages for writing smart contracts on the…

Software Engineering · Computer Science 2020-04-21 Tai D. Nguyen , Long H. Pham , Jun Sun , Yun Lin , Quang Tran Minh

Smart contracts are computer programs that can be consistently executed by a network of mutually distrusting nodes, without the arbitration of a trusted authority. Because of their resilience to tampering, smart contracts are appealing in…

Cryptography and Security · Computer Science 2018-06-21 Massimo Bartoletti , Livio Pompianu

We implement extraction of Coq programs to functional languages based on MetaCoq's certified erasure. As part of this, we implement an optimisation pass removing unused arguments. We prove the pass correct wrt. a conventional call-by-value…

Programming Languages · Computer Science 2021-04-27 Danil Annenkov , Mikkel Milo , Jakob Botsch Nielsen , Bas Spitters

Most blockchain platforms from Ethereum onwards render smart contracts as stateful reactive objects that update their state and transfer crypto-assets in response to transactions. A drawback of this design is that when users submit a…

Cryptography and Security · Computer Science 2024-04-23 Massimo Bartoletti , Riccardo Marchesin , Roberto Zunino

We present a toolchain for developing and verifying smart contracts that can be executed on Bitcoin. The toolchain is based on BitML, a recent domain-specific language for smart contracts with a computationally sound embedding into Bitcoin.…

Programming Languages · Computer Science 2019-08-06 Nicola Atzei , Massimo Bartoletti , Stefano Lande , Nobuko Yoshida , Roberto Zunino

In recent years, manifold blockchain protocols have been proposed by researchers and industrial companies alike. This has led to a very heterogeneous blockchain landscape. Accordingly, it would be desirable if blockchains could interact…

Cryptography and Security · Computer Science 2021-06-29 Markus Nissl , Emanuel Sallinger , Stefan Schulte , Michael Borkowski

Recently, Blockchain technology adoption has expanded to many application areas due to the evolution of smart contracts. However, developing smart contracts is non-trivial and challenging due to the lack of tools and expertise in this…

Software Engineering · Computer Science 2021-03-18 Ilham Qasse , Shailesh Mishra , Mohammad Hamdaqa

Smart contracts on a blockchain behave precisely as specified by their code. A vulnerability in this code can lead to unexpected behaviour, which is hard to fix because a blockchain does not allow to change smart contract code after its…

Programming Languages · Computer Science 2019-11-27 Markus Knecht

We present a new way of embedding functional languages into the Coq proof assistant by using meta-programming. This allows us to develop the meta-theory of the language using the deep embedding and provides a convenient way for reasoning…

Programming Languages · Computer Science 2020-02-05 Danil Annenkov , Jakob Botsch Nielsen , Bas Spitters

Smart contracts form the core of Web3 applications. Contracts mediate the transfer of cryptocurrency, making them irresistible targets for hackers. We introduce ASP, a system aimed at easing the construction of provably secure contracts.…

Cryptography and Security · Computer Science 2024-11-25 Devora Chait-Roth , Kedar S. Namjoshi

The use of blockchain and smart contracts have not stopped growing in recent years. Like all software that begins to expand its use, it is also beginning to be targeted by hackers who will try to exploit vulnerabilities in both the…

Cryptography and Security · Computer Science 2024-02-07 Antonio López Vivar , Ana Lucila Sandoval Orozco , Luis Javier García Villalba

Smart contract applications on the blockchain can only reach their full potential if they integrate seamlessly with traditional software systems via a programmatic interface. This interface should provide for originating and invoking…

Programming Languages · Computer Science 2021-08-31 Thi Thu Ha Doan , Peter Thiemann

Bitcoin has attracted everyone's attention and interest recently. Ethereum (ETH), a second generation cryptocurrency, extends Bitcoin's design by offering a Turing-complete programming language called Solidity to develop smart contracts.…

Programming Languages · Computer Science 2018-04-05 Jiao Jiao , Shuanglong Kan , Shang-Wei Lin , David Sanan , Yang Liu , Jun Sun

A blockchain-based smart contract or a "smart contract" for short, is a computer program intended to digitally facilitate the negotiation or contractual terms directly between users when certain conditions are met. With the advance in…

Computers and Society · Computer Science 2019-06-11 Yining Hu , Madhusanka Liyanage , Ahsan Mansoor , Kanchana Thilakarathna , Guillaume Jourjon , Aruna Seneviratne

Blockchain has emerged as a trusted and secure distributed ledger for transactions while also being decentralised, distributed and its legitimacy not guaranteed by a trusted authority. Since the appearance of Bitcoin, Blockchain has known…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-10-01 Ioana Stanescu , Lenuta Alboaie , Andrei Panu

The blockchain-based smart contract lacks privacy since the contract state and instruction code are exposed to the public. Combining smart-contract execution with Trusted Execution Environments (TEEs) provides an efficient solution, called…

Cryptography and Security · Computer Science 2022-04-21 Rujia Li , Qin Wang , Qi Wang , David Galindo , Mark Ryan

Distributed immutable ledgers, or blockchains, allow the secure digitization of evidential transactions without relying on a trusted third-party. Evidential transactions involve the exchange of any form of physical evidence, such as money,…

Cryptography and Security · Computer Science 2024-03-26 Zaynah Dargaye , Önder Gürcan , Florent Kirchner , Sara Tucci-Piergiovanni

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…

Programming Languages · Computer Science 2017-12-15 Russell O'Connor