English
Related papers

Related papers: Mi-Cho-Coq, a framework for certifying Tezos Smart…

200 papers

Tezos is a smart-contract blockchain. Tezos smart contracts are written in a low-level stack-based language called Michelson. This article gives an overview of efforts using the Coq proof assistant to have stronger guarantees on Michelson…

Programming Languages · Computer Science 2021-06-25 Bruno Bernardo , Raphaël Cauderlier , Guillaume Claret , Arvid Jakobsson , Basile Pesin , Julien Tesson

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 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

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

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 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

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

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

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

The growing adoption of smart contracts on blockchains poses new security risks that can lead to significant monetary loss, while existing approaches either provide no (or partial) security guarantees for smart contracts or require huge…

Programming Languages · Computer Science 2021-03-04 Shaokai Lin , Xinyuan Sun , Jianan Yao , Ronghui Gu

Smart contracts are a special type of programs running inside a blockchain. Immutable and transparent, they provide means to implement fault-tolerant and censorship-resistant services. Unfortunately, its immutability causes a serious…

Logic in Computer Science · Computer Science 2018-12-04 Evgeniy Shishkin

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

Smart contract (SC) platforms form blocks of transactions into a chain and execute them via user-defined smart contracts. In conventional platforms like Bitcoin and Ethereum, the transactions within a block are executed \emph{sequentially}…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-04-10 Quan Nguyen , Andre Cronje , Michael Kong

Solidity is an object-oriented and high-level language for writing smart contracts that are used to execute, verify and enforce credible transactions on permissionless blockchains. In the last few years, analysis of smart contracts has…

Software Engineering · Computer Science 2019-08-16 Chao Peng , Sefa Akca , Ajitha Rajan

Formal verification entails testing software to ensure it operates as specified. Smart contracts are self-executing contracts with the terms of the agreement directly written into lines of code. They run on blockchain platforms and…

Software Engineering · Computer Science 2025-10-22 Rene Davila , Everardo Barcenas , Rocio Aldeco-Perez

EOSIO is one typical public blockchain platform. It is scalable in terms of transaction speeds and has a growing ecosystem supporting smart contracts and decentralized applications. However, the vulnerabilities within the EOSIO smart…

Software Engineering · Computer Science 2020-08-07 Yuhe Huang , Bo Jiang , W. K. Chan

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
‹ Prev 1 2 3 10 Next ›