Towards Safer Smart Contracts: A Survey of Languages and Verification Methods

09/26/2018
by   Dominik Harz, et al.
0

With a market capitalisation of over USD 205 billion in just under ten years, public distributed ledgers have experienced significant adoption. Apart from novel consensus mechanisms, their success is also accountable to smart contracts. These programs allow distrusting parties to enter agreements that are executed autonomously. However, implementation issues in smart contracts caused severe losses to the users of such contracts. Significant efforts are taken to improve their security by introducing new programming languages and advance verification methods. We provide a survey of those efforts in two parts. First, we introduce several smart contract languages focussing on security features. To that end, we present an overview concerning paradigm, type, instruction set, semantics, and metering. Second, we examine verification tools and methods for smart contract and distributed ledgers. Accordingly, we introduce their verification approach, level of automation, coverage, and supported languages. Last, we present future research directions including formal semantics, verified compilers, and automated verification.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/22/2021

Smart Contract Security: a Practitioners' Perspective

Smart contracts have been plagued by security incidents, which resulted ...
research
01/04/2019

VeriSolid: Correct-by-Design Smart Contracts for Ethereum

The adoption of blockchain based distributed ledgers is growing fast due...
research
12/16/2020

Extracting Smart Contracts Tested and Verified in Coq

We implement extraction of Coq programs to functional languages based on...
research
04/08/2021

Languages for Smart and Computable Contracts

Smart Contracts use computer technology to automate the performance of a...
research
05/16/2022

Prisma: A Tierless Language for Enforcing Contract-Client Protocols in Decentralized Applications (Extended Version)

Decentralized applications (dApps) consist of smart contracts that run o...
research
01/21/2021

Understand Volatility of Algorithmic Stablecoin: Modeling, Verification and Empirical Analysis

An algorithmic stablecoin is a type of cryptocurrency managed by algorit...
research
03/06/2022

Verification of Bitcoin Script in Agda using Weakest Preconditions for Access Control

This paper contributes to the verification of programs written in Bitcoi...

Please sign up or login with your details

Forgot password? Click here to reset