Obsidian: Typestate and Assets for Safer Blockchain Programming

09/08/2019
by   Michael Coblenz, et al.
0

Blockchain platforms are coming into broad use for processing critical transactions among participants who have not established mutual trust. Many blockchains are programmable, supporting smart contracts, which maintain persistent state and support transactions that transform the state. Unfortunately, bugs in many smart contracts have been exploited by hackers. Obsidian is a novel programming language with a type system that enables static detection of bugs that are common in smart contracts today. Obsidian is based on a core calculus, Silica, for which we proved type soundness. Obsidian uses typestate to detect improper state manipulation and uses linear types to detect abuse of assets. We describe two case studies that evaluate Obsidian's applicability to the domains of parametric insurance and supply chain management, finding that Obsidian's type system facilitates reasoning about high-level states and ownership of resources. We compared our Obsidian implementation to a Solidity implementation, observing that the Solidity implementation requires much boilerplate checking and tracking of state, whereas Obsidian does this work statically.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/09/2020

OV: Validity-based Optimistic Smart Contracts

Smart contract (SC) platforms form blocks of transactions into a chain a...
research
05/16/2023

Secure compilation of rich smart contracts on poor UTXO blockchains

Most blockchain platforms from Ethereum onwards render smart contracts a...
research
04/07/2019

Improving Hyperconnected Logistics with Blockchains and Smart Contracts

The Physical Internet and hyperconnected logistics concepts promise an o...
research
09/30/2021

A formal model for ledger management systems based on contracts and temporal logic

A key component of blockchain technology is the ledger, viz., a database...
research
08/08/2023

An Ethereum-based Product Identification System for Anti-counterfeits

Fake products are items that are marketed and sold as genuine, high-qual...
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
03/21/2018

A Case Study for Grain Quality Assurance Tracking based on a Blockchain Business Network

One of the key processes in Agriculture is quality measurement throughou...

Please sign up or login with your details

Forgot password? Click here to reset