[发明专利]一种基于抽象语法树的EOS智能合约语言转换方法有效
| 申请号: | 201911357483.X | 申请日: | 2019-12-25 |
| 公开(公告)号: | CN111124422B | 公开(公告)日: | 2023-03-10 |
| 发明(设计)人: | 李昂;晏昃晖;曾惟如;杨拯;唐琴;钱伟中 | 申请(专利权)人: | 成都互诚在线科技有限公司;电子科技大学 |
| 主分类号: | G06F8/41 | 分类号: | G06F8/41 |
| 代理公司: | 成都君合集专利代理事务所(普通合伙) 51228 | 代理人: | 尹新路 |
| 地址: | 610000 四川省成都市自由贸*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 抽象 语法 eos 智能 合约 语言 转换 方法 | ||
本发明为一种基于抽象语法树的EOS智能合约语言转换方法,通过孩子兄弟表示法(二叉链表树)存储抽象语法树各个节点,能够针对自定义文法构造,将EOS智能合约源码转化为功能等价的形式化验证语言,并通过加入符号表共同实现翻译动作,实现可定制化的翻译过程。用这种翻译方法翻译出来的EOS智能合约代码具有结构清晰、可复现、扩容性强、适应性强的特点,解决了形式化验证方法无法验证EOS智能合约源码的问题。本发明可扩容性强,实际应用表现十分良好,为区块链的智能合约翻译提供了有效的思路以及技术。
技术领域
本发明属于计算机语言编码翻译领域,具体地说,涉及一种基于抽象语法树的EOS智能合约语言转换方法。
背景技术
随着区块链技术的不断发展,该领域的诸多安全问题逐渐凸显。智能合约是实现区块链应用的关键技术。由于智能合约是以软件形式发布,代码在功能或逻辑存在的缺陷会导致严重的后果。2016年6月17日下午,运行在以太坊公有链上的TheDAO智能合约遭遇攻击,该合约筹集的公众款项不断被一个函数的递归调用转向它的子合约,涉及总额三百多万以太币。2018年7月8日下午,降维安全实验室监控到,以太坊智能合约AMR存在高危风险交易。团队对代码进行分析,发现其中存在的整数溢出漏洞已被人恶意利用,导致AMR大量增发。仅仅是到2018年底,黑客利用智能合约的弱点已经造成了超过6.3亿美元规模的损失。由此可见,确保智能合约的安全性、可靠性,对区块链和在区块链上进行的交易的安全都具有重要意义。
近年来,有用于验证程序的可靠性和安全性以构建可信赖的软件系统的最严格的技术之一的高阶逻辑定理证明(Higher-order logic theorem proving,HOLTP)被用于对以太坊智能合约的安全性验证,相对于传统的安全测试,该技术能够无需安全用例,实现完备的验证过程,极大地提升安全验证方面的效率。
但是HOLTP的安全性验证方法在应用过程中存在着人工将合约代码翻译为形式化验证语言的效率低下问题,尤其是当智能合约源程序如EOS智能合约一样由C++等复杂的高级语言编写时,此问题愈加明显。
近年来由solidity编写的以太坊智能合约的形式化验证工具在业界开始使用,证明了实现一个自动化的翻译器以实现合约语言到其他程序语言的转换是可行且有价值的,但并没有相关工作将EOS智能合约翻译为形式化验证语言。在形式化EOS智能合约时需要实现对C++特有的语法特性合理解析并翻译,其中基于抽象语法树的定制化EOS智能合约翻译方案目前业界还未有成熟的解决方案。
发明内容
本发明针对现有技术尚未有将EOS智能合约翻译为形式化验证语言的问题,提出了一种基于抽象语法树的EOS智能合约语言转换方法,通过将EOS智能合约源程序转化为功能等价的形式化验证语言,并加入符号表共同实现翻译动作,实现可定制化的翻译过程。
本发明具体实现内容如下:
一种基于抽象语法树的EOS智能合约语言转换方法,包括以下步骤:
步骤S1.对EOS智能合约源程序进行词法单元划分;
步骤S2.采用孩子兄弟表示法构建用于实现代码结构复现的抽象语法树;
步骤S3.设计sugar转换翻译方法用于特定的词素类型的转换翻译;
步骤S4.结合sugar转换翻译方法构造遍历函数用于遍历抽象语法树。
为了更好地实现本发明,进一步地,在构建用于实现代码结构复现的抽象语法树时,首先需要构建抽象语法树叶子节点的结构体τ;所述结构体τ具体包括以下属性的构建:
(1)构建表示行号信息的τline、表示文法名称的τname、表示语义值的τcontent;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都互诚在线科技有限公司;电子科技大学,未经成都互诚在线科技有限公司;电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911357483.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多指纹检测装置以及多指纹认证方法
- 下一篇:一种安全监控方法、装置及系统





