English
Related papers

Related papers: Making Tezos smart contracts more reliable with Co…

200 papers

Tezos is a smart-contract blockchain. Tezos smart contracts are written in a low-level stack-based language called Michelson. In this article we present Albert, an intermediate language for Tezos smart contracts which abstracts Michelson…

Programming Languages · Computer Science 2020-01-09 Bruno Bernardo , Raphaël Cauderlier , Basile Pesin , Julien Tesson

Tezos is a blockchain launched in June 2018. It is written in OCaml and supports smart contracts. Its smart contract language is called Michelson and it has been designed with formal verification in mind. In this article, we present…

Programming Languages · Computer Science 2019-09-20 Bruno Bernardo , Raphaël Cauderlier , Zhenlei Hu , Basile Pesin , Julien Tesson

Tezos is an innovative blockchain that improves on several aspects compared to more established blockchains. It offers an original proof-of-stake consensus algorithm and can be used as a decentralized smart contract platform. It has the…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-09-19 Victor Allombert , Mathias Bourgoin , Julien Tesson

This paper introduces WhylSon, a deductive verification tool for smart contracts written in Michelson, which is the low-level language of the Tezos blockchain. WhylSon accepts a formally specified Michelson contract and automatically…

Programming Languages · Computer Science 2020-06-01 Luís Pedro Arrojado da Horta , João Santos Reis , Mário Pereira , Simão Melo de Sousa

Static analysis of smart-contracts is becoming more widespread on blockchain platforms. Analyzers rely on techniques like symbolic execution or model checking, but few of them can provide strong soundness properties and guarantee the…

Cryptography and Security · Computer Science 2022-10-12 Guillaume Bau , Antoine Miné , Vincent Botbol , Mehdi Bouaziz

A smart contract is a program executed on a blockchain, based on which many cryptocurrencies are implemented, and is being used for automating transactions. Due to the large amount of money that smart contracts deal with, there is a surging…

Programming Languages · Computer Science 2021-09-13 Yuki Nishida , Hiromasa Saito , Ran Chen , Akira Kawata , Jun Furuse , Kohei Suenaga , Atsushi Igarashi

We present a model/executable specification of smart contract execution in Coq. Our formalization allows for inter-contract communication and generalizes existing work by allowing modelling of both depth-first execution blockchains (like…

Logic in Computer Science · Computer Science 2020-02-10 Jakob Botsch Nielsen , Bas Spitters

This paper introduces Tezla, an intermediate representation of Michelson smart contracts that eases the design of static smart contract analysers. This intermediate representation uses a store and preserves the semantics, ow and resource…

Programming Languages · Computer Science 2020-05-26 João Santos Reis , Paul Crocker , Simão Melo de Sousa

We provide three detailed case studies of vulnerabilities in smart contracts, and show how property-based testing would have found them: 1. the Dexter1 token exchange; 2. the iToken; 3. the ICO of Brave's BAT token. The last example is, in…

Logic in Computer Science · Computer Science 2022-10-07 Mikkel Milo , Eske Hoy Nielsen , Danil Annenkov , Bas Spitters

Once you have invented digital money, you may need a ledger to track who owns what -- and an interface to that ledger so that users of your money can transact. On the Tezos blockchain this implies: a smart contract (distributed program),…

Logic in Computer Science · Computer Science 2021-12-02 Murdoch Gabbay , Arvid Jakobsson , Kristina Sojakova

Compiler correctness is an old problem, but with the emergence of smart contracts on blockchains that problem presents itself in a new light. Smart contracts are self-contained pieces of software that control assets, which are often of high…

Programming Languages · Computer Science 2022-02-23 Jacco O. G. Krijnen , Manuel M. T. Chakravarty , Gabriele Keller , Wouter Swierstra

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

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

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

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

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

This paper presents TXSC, a framework that provides smart contract developers with transaction primitives. These primitives allow developers to write smart contracts without the need to reason about the anomalies that can arise due to…

Databases · Computer Science 2019-09-17 Victor Zakhary , Divyakant Agrawal , Amr El Abbadi

This paper outlines key design principles of Scilla---an intermediate-level language for verified smart contracts. Scilla provides a clean separation between the communication aspect of smart contracts on a blockchain, allowing for the rich…

Programming Languages · Computer Science 2018-01-03 Ilya Sergey , Amrit Kumar , Aquinas Hobor

Blockchain technology adds records to a list using cryptographic links. Therefore, the security of blockchain smart contracts is among the most popular contemporary research topics. To improve the theorem-proving technology in this field,…

Programming Languages · Computer Science 2019-07-04 Zheng Yang , Hang Lei

Smart contracts are autonomous software executing predefined conditions. Two of the biggest advantages of the smart contracts are secured protocols and transaction costs reduction. On the Ethereum platform, an open-source blockchain-based…

Computational Engineering, Finance, and Science · Computer Science 2019-05-27 Jeremy Charlier , Radu Statem , Jean Hilger
‹ Prev 1 2 3 10 Next ›