Safer smart contracts through type-driven development

Using dependent and polymorphic types for safer development

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.

Dela på webben

Skapa referens, olika format (klipp och klistra)

BibTeX @mastersthesis{Pettersson2016,author={Pettersson, Jack and Edström, Robert},title={Safer smart contracts through type-driven development},abstract={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.},publisher={Institutionen för data- och informationsteknik (Chalmers), Chalmers tekniska högskola},place={Göteborg},year={2016},keywords={smart contracts, dependent types, polymorphic types, Ethereum, blockchain, Idris, functional programming},note={65},}

RefWorks RT GenericSR ElectronicID 234939A1 Pettersson, JackA1 Edström, RobertT1 Safer smart contracts through type-driven developmentT2 Using dependent and polymorphic types for safer developmentYR 2016AB 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.PB Institutionen för data- och informationsteknik (Chalmers), Chalmers tekniska högskola,PB Institutionen för data- och informationsteknik (Chalmers), Chalmers tekniska högskola,LA engLK http://publications.lib.chalmers.se/records/fulltext/234939/234939.pdfOL 30