Domain Specific Language for Smart Contract Development

Maximilian Wöhrer, Uwe Zdun
{"title":"Domain Specific Language for Smart Contract Development","authors":"Maximilian Wöhrer, Uwe Zdun","doi":"10.1109/ICBC48266.2020.9169399","DOIUrl":null,"url":null,"abstract":"The notion to digitally articulate, execute, and enforce agreements with smart contracts has become a feasible reality today. Smart contracts have the potential to vastly improve the efficiency and security of traditional contracts through their self-executing autonomy. To realize smart contracts several blockchain-based ecosystems exist. Today a prominent representative is Ethereum. Its programming language Solidity is used to capture and express contractual clauses in the form of code. However, due to the conceptual discrepancy between contractual clauses and corresponding code, it is hard for domain stakeholders to easily understand contracts, and for developers to write code efficiently without errors. Our research addresses these issues by the design and study of a domain-specific smart contract language based on higher level of abstraction that can be automatically transformed to an implementation. In particular, we propose a clause grammar close to natural language, helpful coding abstractions, and the automatic integration of commonly occurring design patterns during code generation. Through these measures, our approach can reduce the design complexity leading to an increased comprehensibility and reduced error susceptibility. Several implementations of exemplary smart contract scenarios, mostly taken from the Solidity documentation, are used to demonstrate the applicability of our approach.","PeriodicalId":420845,"journal":{"name":"2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"20","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICBC48266.2020.9169399","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 20

Abstract

The notion to digitally articulate, execute, and enforce agreements with smart contracts has become a feasible reality today. Smart contracts have the potential to vastly improve the efficiency and security of traditional contracts through their self-executing autonomy. To realize smart contracts several blockchain-based ecosystems exist. Today a prominent representative is Ethereum. Its programming language Solidity is used to capture and express contractual clauses in the form of code. However, due to the conceptual discrepancy between contractual clauses and corresponding code, it is hard for domain stakeholders to easily understand contracts, and for developers to write code efficiently without errors. Our research addresses these issues by the design and study of a domain-specific smart contract language based on higher level of abstraction that can be automatically transformed to an implementation. In particular, we propose a clause grammar close to natural language, helpful coding abstractions, and the automatic integration of commonly occurring design patterns during code generation. Through these measures, our approach can reduce the design complexity leading to an increased comprehensibility and reduced error susceptibility. Several implementations of exemplary smart contract scenarios, mostly taken from the Solidity documentation, are used to demonstrate the applicability of our approach.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
智能合约开发的领域特定语言
通过智能合约以数字方式表达、执行和执行协议的概念在今天已经成为一个可行的现实。智能合约通过其自我执行的自主性,有可能极大地提高传统合约的效率和安全性。为了实现智能合约,存在几个基于区块链的生态系统。今天一个突出的代表是以太坊。它的编程语言Solidity用于以代码的形式捕获和表达合同条款。然而,由于合同条款与相应代码之间的概念差异,领域利益相关者很难轻松理解合同,开发人员也很难高效地编写代码而不出错。我们的研究通过设计和研究基于更高抽象级别的领域特定智能合约语言来解决这些问题,该语言可以自动转换为实现。特别是,我们提出了一种接近自然语言的子句语法、有用的编码抽象,以及在代码生成过程中对常见设计模式的自动集成。通过这些措施,我们的方法可以降低设计的复杂性,从而提高可理解性和降低错误敏感性。几个典型的智能合约场景的实现,主要取自Solidity文档,用于演示我们方法的适用性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Evaluation of Security and Performance of Master Node Protocol in the Bitcoin Peer-to-Peer Network Building Hybrid DApps using Blockchain Tactics -The Meta-Transaction Example FabricUnit: A Framework for Faster Execution of Unit Tests on Hyperledger Fabric Distributed Fractionalized Data Networks For Data Integrity Cross-chain Transactions
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1