pith. sign in

arxiv: 1904.06534 · v1 · pith:BKAQM6GZnew · submitted 2019-04-13 · 💻 cs.PL · cs.CR

Flint for Safer Smart Contracts

classification 💻 cs.PL cs.CR
keywords contractssmartflintcurrencybeenblockscodelanguage
0
0 comments X
read the original abstract

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.

This paper has not been read by Pith yet.

discussion (0)

Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.

Forward citations

Cited by 1 Pith paper

Reviewed papers in the Pith corpus that reference this work. Sorted by Pith novelty score.

  1. Reflections on the design, applications and implementations of the normative specification language eFLINT

    cs.SE 2025-11 unverdicted novelty 4.0

    eFLINT is a normative specification language combining declarative and procedural elements to support automated compliance reasoning before, during, and after software execution.