买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种面向以太坊Solidity智能合约的安全翻译与解析方法_暨南大学_201910904195.5 

申请/专利权人:暨南大学

申请日:2019-09-24

公开(公告)日:2022-03-29

公开(公告)号:CN110688151B

主分类号:G06F8/75(20180101)

分类号:G06F8/75(20180101)

优先权:

专利状态码:有效-授权

法律状态:2022.03.29#授权;2020.02.11#实质审查的生效;2020.01.14#公开

摘要:本发明公开了一种面向以太坊Solidity智能合约的安全翻译与解析方法,包括以下步骤:首先将智能合约源代码转化为XML文本,然后对Solidity智能合约进行代码Java转换,并基于新生成的Java代码进行流程分析和控制流程图生成。同时,基于PageRank算法对Solidity智能合约核心代码行进行识别,并在图中将核心代码进行高亮显示。此外,利用自然语言处理进行代码分割和词性分析,将代码分割出来的英语单词,按动词和名词组织成一个利于理解的序列,并通过对Solidity智能合约的关键逻辑转账、变量状态更新进行识别,形成可理解的英语短语。最后,生成完整的智能合约翻译文档。

主权项:1.一种面向以太坊Solidity智能合约的安全翻译与解析方法,其特征在于,所述的安全翻译与解析方法包括以下步骤:S1、对要进行安全翻译与解析的Solidity智能合约进行转换,将Solidity智能合约代码转化为XML文本;S2、在所述的XML文本中将Solidity智能合约的片段令牌化,将令牌分割为已知的英语单词,并对各个单词标注上词性和单词原型;其中,所述的步骤S2过程如下:S21、将Solidity智能合约对应的XML文本进行遍历,提取合约中所有的合约名、函数名、变量名和变量类型并保存,将以上字符串称为令牌;S22、将令牌分割为已知的英语单词,并通过自然语言处理对各个单词标注上词性和单词原型;S3、在所述的XML文本中将Solidity智能合约转化语法功能一致的Java代码,并保留原合约的特有语法特征,再根据转换的Java代码生成Solidity智能合约的控制流程图;其中,所述的步骤S3过程如下:S31、将Solidity智能合约对应的XML文本进行遍历,提取合约中所有的函数体,所述的函数体包括函数签名和函数内部代码;S32、在Solidity智能合约中,针对语法与Java编程语言不同的部分转化成语法功能一致的Java代码,生成符合Java语法的Solidity智能合约;S33、通过Java控制流程图生成器,将符合Java语法的Solidity智能合约作为输入,生成Solidity智能合约的控制流程图;S4、在所述的Solidity智能合约的每个函数体的控制流程图中,依据PageRank算法在控制流程图中对各个节点赋予相同权重,然后进行计算修改权重,进而根据权重的大小分析出函数执行的核心操作或重要语句;S5、通过步骤S3获取的控制流程图以及步骤S4获取的核心操作或重要语句,在控制流程图中高亮显示核心操作或重要语句所在的节点,完成对Solidity智能合约的解析;S6、将步骤S2中分割出来的英语单词,按动词和名词组织成一个利于理解的序列,并通过将形容词、介词添加到序列的适当位置,形成可读的英语短语;S7、将步骤S6中所有Solidity智能合约生成的英语短语,通过去除相同主语和添加连词,生成完整的Solidity智能合约翻译文档。

全文数据:

权利要求:

百度查询: 暨南大学 一种面向以太坊Solidity智能合约的安全翻译与解析方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。