In English

Safer smart contracts through type-driven development

Using dependent and polymorphic types for safer development

Jack Pettersson ; Robert Edström
Göteborg : Chalmers tekniska högskola, 2016. 65 s.
[Examensarbete på avancerad nivå]

We show how dependent and polymorphic types can make smart contract development safer. This is demonstrated by using the functional language Idris to describe smart contracts on the Ethereum platform. In particular, we show how one class of common errors can be captured at compile time using dependent types and algebraic side effects. We also bring type annotations to the realm of smart contracts, helping developers to circumvent another class of common errors. To demonstrate the feasibility of our solutions, we have extended the Idris compiler with a backend for the Ethereum Virtual Machine. While we find that the functional paradigm might not be the most suitable for the domain, our approach solves the identified problems and provides advantages over the languages in current use.

Nyckelord: smart contracts, dependent types, polymorphic types, Ethereum, blockchain, Idris, functional programming



Publikationen registrerades 2016-04-20. Den ändrades senast 2016-04-20

CPL ID: 234939

Detta är en tjänst från Chalmers bibliotek