[发明专利]一种安全的Java智能合约解释执行引擎及方法有效
申请号: | 201811636117.3 | 申请日: | 2018-12-29 |
公开(公告)号: | CN109710384B | 公开(公告)日: | 2021-02-23 |
发明(设计)人: | 邱炜伟;李启雷;李伟;梁秀波;尹可挺 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 安全 java 智能 合约 解释 执行 引擎 方法 | ||
本发明公开一种安全的Java智能合约解释执行引擎及执行方法,通过在区块链平台中嵌入Java虚拟机,并通过JNI技术实现区块链状态操作,该引擎能够允许用户使用Java语言进行智能合约的开发,并能够实现区块链高级操作扩展。通过内嵌虚拟机的方式大大提高了智能合约的执行效率,实现了区块链节点和执行引擎的高效调用。执行方法包括如下步骤:(1)节点接收用户合约部署和调用请求,节点API模块对请求合法性和签名进行检查,然后将请求载荷通过JNI技术将Java字节码交由Java虚拟机进行解释执行。(2)解释执行结束之前,将智能合约对区块链世界状态的操作集合提交并应用。本发明重新实现了Java虚拟机,解决了原有JCEE引擎远程调用导致的性能和安全问题。
技术领域
本发明涉及去中心化的区块链智能合约执行引擎的设计领域,尤其涉及一种安全的Java智能合约解释执行引擎及方法。
背景技术
区块链技术,是一种新型的分布式去中心化协议,能够确定地有序地存储一系列交易数据,存储的数据不可伪造和篡改,区块链上的交易数据依靠分布式共识协议实现数据的一致性,所有的网络节点共同维护一个公共状态,该公共状态所有节点可见,通过块链式存储保证保持数据的连贯和不可篡改性。
智能合约作为区块链技术的扩展,通过在节点上部署智能合约执行引擎,为区块链提供了能够按照一定的逻辑执行代码并对公共状态进行操作的能力,该操作不可逆,且所有的参与节点行为一致。
发明内容
针对现有Java智能合约引擎的不足,本发明提出了一种安全的Java智能合约解释执行引擎(Hyper smart-contract VM,以下简称HVM)及执行方法,该执行引擎允许用户使用Java语言编写智能合约并实现字节码和虚拟机层面的沙箱安全。
具体的技术方案如下:一种安全的Java智能合约解释执行引擎,包括如下模块:
(1)定制的Java虚拟机模块,其特征是:仅支持解释执行,不会对代码进行动态优化;精简了包括文件、网络、硬件信息访问、随机数值、日期时间这些会导致执行结果差异的功能;实现了严格一致的数学与大整数库;实现了平台无关的基本类型类;
(2)API模块,负责接收外部用户发起的部署调用请求;
(3)安全检查模块,负责对用户合约字节码进行预检查,对用户代码中危险操作进行防御性检查;
(4)状态存储模块,为Java虚拟机提供JNI接口,允许Java虚拟机能够操作区块链状态,以实现智能资产的操作。
一种安全的Java智能合约解释执行引擎的执行方法,具体包括如下步骤:
步骤一:用户按照既定规则使用Java语言编写智能合约,并通过标准的Java语言编译器,将原始码编译成对应的字节码;在编译过程当中,Java智能合约需要同对应的预载环境Java代码一同编译;编译完成之后,将编译完成的class文件通过标准Jar压缩协议打包成Jar文件,在jar文件的Manifest文件中需要置入对应的MainClass配置项,以指定智能合约的入口主类;用户通过SDK将打包好的智能合约发送至区块链平台进行部署;
步骤二:区块链平台接收到智能合约部署交易之后,对智能合约部署交易的格式进行验证,然后对交易签名进行验证,验证通过之后,对部署交易的载荷进行安全检查,部署阶段的载荷即打包完成的智能合约字节码,平台需要对智能合约的字节码进行敏感操作检查,防止智能合约对宿主环境进行危险操作造成安全隐患;检查通过之后,将对智能合约进行解包,执行引擎中的Java虚拟机根据Manifest中MainClass配置对代码进行预解释执行,来验证合约代码的合法性;预执行通过之后,区块链平台将生成一个全局唯一的标识,作为该合约在网络中的对应表示,然后将标识与代码映射存储到区块链网络状态当中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811636117.3/2.html,转载请声明来源钻瓜专利网。