{"title":"The Blockchain, Today and Tomorrow","authors":"Ometita Radu Adrian","doi":"10.1109/SYNASC.2018.00077","DOIUrl":null,"url":null,"abstract":"Software engineering principles have enabled us to continually increase the complexity of the problems that we can solve using software by promoting the sensible use of abstraction, separation, composition and generalisation. Writing software for a public blockchain makes the code we write publicly available for inspection, and potential exploits may result in the loss of funds that the program manages. This unprecedented level of exposure and ease of exploitation requires new methods to improve our confidence in the correctness of the code that we write. This paper explores the main current techniques used to achieve this increased level of confidence, especially in the area of programming language design, starting from the first Turing Complete blockchain implementation Ethereum, and ending with some of the more principled approaches, Scilla and Rholang.","PeriodicalId":91954,"journal":{"name":"Proceedings. International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","volume":"56 1","pages":"458-462"},"PeriodicalIF":0.0000,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. International Symposium on Symbolic and Numeric Algorithms for Scientific Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SYNASC.2018.00077","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Software engineering principles have enabled us to continually increase the complexity of the problems that we can solve using software by promoting the sensible use of abstraction, separation, composition and generalisation. Writing software for a public blockchain makes the code we write publicly available for inspection, and potential exploits may result in the loss of funds that the program manages. This unprecedented level of exposure and ease of exploitation requires new methods to improve our confidence in the correctness of the code that we write. This paper explores the main current techniques used to achieve this increased level of confidence, especially in the area of programming language design, starting from the first Turing Complete blockchain implementation Ethereum, and ending with some of the more principled approaches, Scilla and Rholang.