[发明专利]一种基于Java虚拟机的智能合约执行引擎有效
申请号: | 201710585453.9 | 申请日: | 2017-07-18 |
公开(公告)号: | CN107526624B | 公开(公告)日: | 2020-12-08 |
发明(设计)人: | 梁秀波;邱炜伟;李启雷;李伟;尹可挺 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06Q20/40 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java 虚拟机 智能 合约 执行 引擎 | ||
本发明公开了一种基于Java虚拟机的智能合约执行引擎JCEE,JCEE允许用户使用Java语言进行智能合约的开发,提供了智能合约完整生命周期管理。JCEE采用微服务的架构设计,分为客户端和服务端,客户端负责接收智能合约的调用请求,服务端负责具体智能合约的执行工作。JCEE的执行包括如下步骤:(1)客户端接收用户的合约调用请求并进行请求的完备性检查;(2)客户端将安全的用户请求封装并传递给JCEE服务端;(3)服务端首先进行合约的安全性检查,对安全的执行请求调用执行器进行具体的请求执行并返回执行结果。本发明提出了一种全新的智能合约执行引擎设计方案,解决了现有智能合约执行引擎通用性不足性能低下等问题。
技术领域
本发明涉及区块链技术、智能合约引擎,尤其涉及一种基于Java虚拟机(简称JVM)的智能合约执行引擎。
背景技术
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成。智能合约是部署在区块链上的一段可自动执行的程序,广泛意义上的智能合约包含编程语言、编译器、虚拟机、事件、状态机、容错机制等。其中,对应用程序开发影响较大的是编程语言以及智能合约的执行引擎,即虚拟机。虚拟机作为沙箱被封装起来,整个执行环境都被完全隔离。虚拟机内部执行的智能合约不能接触网络、文件系统或者系统中的其他线程等系统资源。合约之间只能进行有限调用。
现有的智能合约执行引擎要不在合约的执行性能上达不到生产系统的要求,要不在安全性管理上存在漏洞。而智能合约直接同用户的链上资产交互,其安全性至关重要。
发明内容
面对现有智能合约执行引擎的不足,本发明提出了一种基于Java虚拟机的智能合约执行引擎(JVM based Contract Execution Engine,以下简称JCEE),该执行引擎允许合约编写者使用成熟的图灵完备的Java语言进行智能合约编写并且实现了字节码层面的安全性检查。
基于Java虚拟机的智能合约引擎JCEE的设计以一种微服务的架构提供服务,主要包括客户端和服务端,服务端是智能合约执行引擎的主要模块而客户端则提供了一种访问合约执行引擎的能力。一种基于Java虚拟机的智能合约执行引擎通过模块化设计允许嵌入到多种区块链网络,具体技术方案如下:
一种基于Java虚拟机的智能合约执行引擎,包括如下模块:
(1)基于Java虚拟机的智能合约执行引擎JCEE客户端:接收用户发送的智能合约调用请求,进行请求安全性检查、权限检查和参数合法性检查工作,该客户端模块包括JSON远程程序调用JSON-RPC模块、控制器模块以及JCEE客户端JCEE-Client模块等三个子模块,其中:
JSON-RPC模块负责接收解析来自用户的智能合约调用请求;
控制器模块维护客户端与JCEE服务端之间的通信安全以及心跳检测;
JCEE-Client模块负责具体智能合约的请求转发;
(2)JCEE服务端:JCEE服务端负责对用户智能合约的管理以及具体合约的执行工作;JCEE服务端包括JCEE服务器JCEE-Server、合约开发包Contract SDK、合约Contract模块以及元数据库MetaDB等四个子模块,其中:
JCEE-Server作为JCEE的服务器,管理同JCEE-Client模块的通信服务,将合约执行请求转发给下级处理器进行实际执行;
Contract SDK实现用户撰写智能合约相关的服务类,提供具体的合约编写支持;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710585453.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:含氟无碱液体速凝剂
- 下一篇:一种多联机系统除霜控制方法