Flint for Safer Smart Contracts

04/13/2019
by   Franklin Schrans, et al.
0

The Ethereum blockchain platform supports the execution of decentralised applications or smart contracts. These typically hold and transfer digital currency to other parties on the platform; however, they have been subject to numerous attacks due to the unintentional introduction of bugs. Over a billion dollars worth of currency has been stolen since its release in July 2015. As smart contracts cannot be updated after deployment, it is imperative that the programming language supports the development of robust contracts. We propose Flint, a new statically-typed programming language specifically designed for writing robust smart contracts. Flint's features enforce the writing of safe and predictable code. To encourage good practices, we introduce protection blocks. Protection blocks restrict who can run code and when (using typestate) it can be executed. To prevent vulnerabilities relating to the unintentional loss of currency, Flint Asset traits provide safe atomic operations, ensuring the state of contracts is always consistent. Writes to state are restricted, simplifying reasoning about smart contracts.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/18/2020

sFuzz: An Efficient Adaptive Fuzzer for Solidity Smart Contracts

Smart contracts are Turing-complete programs that execute on the infrast...
research
11/26/2019

Mandala: A Smart Contract Programming Language

Smart contracts on a blockchain behave precisely as specified by their c...
research
10/09/2020

Psamathe: A DSL with Flows for Safe Blockchain Assets

Blockchains host smart contracts for crowdfunding, tokens, and many othe...
research
07/05/2019

Solidity 0.5: when typed does not mean type safe

The recent release of Solidity 0.5 introduced a new type to prevent Ethe...
research
08/04/2022

Deductive Verification of Smart Contracts with Dafny

We present a methodology to develop verified smart contracts. We write s...
research
08/06/2019

A minimal core calculus for Solidity contracts

The Ethereum platform supports the decentralized execution of smart cont...
research
08/29/2019

VeriSmart: A Highly Precise Safety Verifier for Ethereum Smart Contracts

We present VeriSmart, a highly precise verifier for ensuring arithmetic ...

Please sign up or login with your details

Forgot password? Click here to reset