Obsidian: A Language for Secure-By-Construction Blockchain Programs - April 2019
PI(s), Co-PI(s), Researchers: Jonathan Aldrich, Brad Myers, and Joshua Sunshine at CMU Jonathan Bell, Thomas LaToza, and Foteini Baldimtsi (GMU)
HARD PROBLEM(S) ADDRESSED
This refers to Hard Problems, released November 2012.
PUBLICATIONS
Michael Coblenz, Jonathan Aldrich, Brad A. Myers, Joshua Sunshine. Interdisciplinary Programming Language Design (Essay). In Proc. of Onward!, 2018.
Paulette Koronkevich. Obsidian in the Rough: A Case Study Evaluation of a New Blockchain Programming Language. In SPLASH Student Research Competion, 2018. Awarded 2nd place.
PUBLIC ACCOMPLISHMENT HIGHLIGHTS
Blockchains have been proposed to support transactions on distributed, shared state, but hackers have exploited security vulnerabilities in existing programs. We applied user-centered design in the creation of Obsidian, a new language that uses typestate and linearity to support stronger safety guarantees than current approaches for programming blockchain systems.
COMMUNITY ENGAGEMENTS
In many developing countries, farming insurance markets have not developed. A severe weather event like a very late hard frost or a drought can therefore devestate these farmers. We are working with the World Bank to develop a parametric insurance platform on the Blockchain with Obsidian to address this need. The platform will serve as an evaluative case study of the expressiveness and effectiveness of the Obsidian language design.
EDUCATIONAL ADVANCES (If Applicable)