Safer smart contracts through type-driven development

Typ
Examensarbete för masterexamen
Master Thesis
Program
Computer science – algorithms, languages and logic (MPALG), MSc
Publicerad
2016
Författare
Pettersson, Jack
Edström, Robert
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
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.
Beskrivning
Ämne/nyckelord
Data- och informationsvetenskap , Computer and Information Science
Citation
Arkitekt (konstruktör)
Geografisk plats
Byggnad (typ)
Byggår
Modelltyp
Skala
Teknik / material
Index