This paper proposes IELE, an LLVM-style language, together with a tool ecosystem for implementing and formally reasoning about smart contracts on the blockchain. IELE was designed by specifying its semantics formally in the K framework. Its implementation, a IELE virtual machine (VM), as well as a formal verification tool for IELE smart contracts, were automatically generated from the formal specification. The automatically generated formal verification tool allows us to formally verify smart contracts without any gap between the verifier and the actual VM. A compiler from Solidity, the predominant high-level language for smart contracts, to IELE has also been (manually) implemented, so Ethereum contracts can now also be executed on IELE.O...
International audienceA blockchain is a tamper-proof distributed transaction registry; first popular...
This report documents the program and the outcomes of Dagstuhl Seminar 21431 "Rigorous Methods for S...
We present CELESTIAL, a framework for formally verifying smart contracts written in the Solidity la...
This paper proposes IELE, an LLVM-style language, together with a tool ecosystem for implementing an...
Most languages are given an informal semantics until they are implemented, so the formal semantics c...
A developing field of interest for the distributed systems and applied cryptography community is th...
Smart contracts are programs that are used for verifying and enforcing the terms of an agreement. Et...
Blockchain has become a pervasive technology in a wide number of sectors like industry, research, an...
Smart contracts are programs that execute in blockchains such as Ethereum to manipulate digital asse...
Blockchain-based smart contracts have emerged as a popular means of enforcing agreements among a col...
Date: 28 June 2016While procedural languages are commonly used to program smart contracts in blockch...
The success of Bitcoin since 2009 stimulates the development of other blockchain-based applications,...
Non-fungible tokens are an up and coming application domain for smart contracts. Ethereum is the fir...
The usual post-mortem approach to formal language semantics and verification, where the language is ...
A bug or error is a common problem that any software or computer program may encounter. It can occur...
International audienceA blockchain is a tamper-proof distributed transaction registry; first popular...
This report documents the program and the outcomes of Dagstuhl Seminar 21431 "Rigorous Methods for S...
We present CELESTIAL, a framework for formally verifying smart contracts written in the Solidity la...
This paper proposes IELE, an LLVM-style language, together with a tool ecosystem for implementing an...
Most languages are given an informal semantics until they are implemented, so the formal semantics c...
A developing field of interest for the distributed systems and applied cryptography community is th...
Smart contracts are programs that are used for verifying and enforcing the terms of an agreement. Et...
Blockchain has become a pervasive technology in a wide number of sectors like industry, research, an...
Smart contracts are programs that execute in blockchains such as Ethereum to manipulate digital asse...
Blockchain-based smart contracts have emerged as a popular means of enforcing agreements among a col...
Date: 28 June 2016While procedural languages are commonly used to program smart contracts in blockch...
The success of Bitcoin since 2009 stimulates the development of other blockchain-based applications,...
Non-fungible tokens are an up and coming application domain for smart contracts. Ethereum is the fir...
The usual post-mortem approach to formal language semantics and verification, where the language is ...
A bug or error is a common problem that any software or computer program may encounter. It can occur...
International audienceA blockchain is a tamper-proof distributed transaction registry; first popular...
This report documents the program and the outcomes of Dagstuhl Seminar 21431 "Rigorous Methods for S...
We present CELESTIAL, a framework for formally verifying smart contracts written in the Solidity la...