Obsidian: A Safer Blockchain Programming Language
May 2018 • Podcast
Eliezer Kanal and Michael Coblenz discuss the creation of Obsidian, a novel programming language specifically tailored to secure blockchain software development that significantly reduces the risk of coding errors.
“The reason that we are having so many bugs is people programming these languages right now are coming from web-development backgrounds, game-development backgrounds, finance development backgrounds...The correctness of their program is currently up to their creativity and their ability to recognize all the edge cases. We are trying to make a language embed some of that in there. Even if they didn’t catch it themselves, they did not think, Oh what happens if this happens?”
Software Engineering Institute
The Defense Advanced Research Projects Agency (DARPA) and other agencies are expressing significant interest in blockchain technology because it promises inherent transparency, resiliency, forgery-resistance, and nonrepudiation, which can be used to protect sensitive infrastructure. At the same time, numerous high-profile incidents of blockchain coding errors that cause major damage to organizations have raised serious concerns about blockchain adoption. In this podcast, Eliezer Kanal and Michael Coblenz discuss the creation of Obsidian, a novel programming language specifically tailored to secure blockchain software development that significantly reduces the risk of such coding errors.
About the Speaker
Eliezer Kanal works in the CERT Division at the Carnegie Mellon University Software Engineering Institute. There, he leads a team of data scientists who work on applied cybersecurity research. Before joining the SEI, Eliezer worked for TubePress, ERIKdev, and Highmark and attended the University of Pittsburgh and Yeshiva University. He has worn a number of hats in the past including computational neuroscientist, health-care technical manager, financial quantitative analyst, freelance web developer, and IT consultant.
Michael Coblenz is a fourth-year PhD student in the Computer Science Department at Carnegie Mellon University. His research focuses on user-centered programming language design: what methods should we use to design programming languages that make software engineers more effective? He is currently designing Obsidian, a new programming language for blockchain software development, which aims to make it safer for software engineers to write safe blockchain programs.