Obsidian: A Language for Secure-By-Construction Blockchain Programs - October 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
Michael J.Coblenz. 2020. User-Centered Design of Principled Programming Languages. Ph.D. Dissertation. Carnegie Mellon University, Pittsburgh, PA. http://reports-archive.adm.cs.cmu.edu/anon/2020/CMU-CS-20-127.pdf
Reed Oei. 2020. Psamathe: A DSL for Safe Blockchain Assets. In Proc. ACM SPLASH Student Research Competition.
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)