Obsidian: A Language for Secure-By-Construction Blockchain Programs - July 2020
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
N/A this quarter
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)