一种基于区块链的智能合约引擎系统及其合约执行方法技术方案

技术编号:19345286 阅读:34 留言:0更新日期:2018-11-07 15:03
本发明专利技术公开了一种基于区块链的智能合约引擎系统及其合约执行方法,包括:用户接口层、智能合约系统层和区块链访问接口层;所述用户接口层,用于向用户提供统一的接口,通过所述统一的接口,用户能够以完全相同的数据交互方式与所述智能合约系统层中的智能合约交互;所述智能合约系统层,用于执行智能合约;所述区块链访问接口层,用于为所述智能合约系统层中的智能合约提供统一的访问区块链数据的接口。本发明专利技术能够克服现有合约引擎系统采用EVM的方式造成的因执行速度慢而制约性能、因表达能力受限而制约可扩展性的缺陷;同时本发明专利技术也能够克服采用Docker的方式造成的因启动时间长影响整体效率的缺陷。

An intelligent contract engine system based on block chain and its contract execution method

The invention discloses an intelligent contract engine system based on block chain and its contract execution method, which includes: user interface layer, intelligent contract system layer and block chain access interface layer; the user interface layer is used to provide a unified interface for users, through the unified interface, users can have exactly the same number. According to the interaction mode, the intelligent contract in the intelligent contract system layer interacts with each other; the intelligent contract system layer is used to execute the intelligent contract; and the block chain access interface layer is used to provide a unified interface for accessing the block chain data in the intelligent contract system layer. The invention can overcome the shortcomings of the existing contract engine system that the performance is restricted by the slow execution speed and the expansibility is restricted by the limited expressive ability caused by the EVM mode, and at the same time, the invention can overcome the shortcomings of the Docker mode that the long start-up time affects the overall efficiency.

【技术实现步骤摘要】
一种基于区块链的智能合约引擎系统及其合约执行方法
本专利技术属于计算机数据处理与计算领域,尤其涉及一种基于区块链的智能合约引擎系统及其合约执行方法。
技术介绍
“智能合约”的概念是1994年由密码学家尼克萨博(NickSzabo)首次提出,在本质上是一种自动合约,类似于计算机程序设计中的if-then语句,当一个预先编好的条件被触发时,智能合约能够自动执行相应的合同条款。智能合约较为普遍的应用是金融领域,几乎每一类金融合约都可以用程序代码的形式写成智能合约。“智能合约”的概念提出之后,没有找到很好的落地实践方法,直到区块链的出现。区块链2.0时代,则被定义为“区块链+智能合约”,可见智能合约在区块链中的重要性。以太坊(Ethereum)平台支持以太坊虚拟机(以太坊虚拟机(EVM)),可使用贴近机器的基于堆栈字节码的低级类汇编语言写成,被称为“以太坊虚拟机代码”(以太坊虚拟机(EVM)代码)。而对于开发应用合约编写人员,则可使用Solidity、Serpent、LLL等图灵完备语言较为方便的编写智能合约,编译城虚拟机字节码后,可在虚拟机上解释执行。但是,虚拟机解释执行的速度较慢,在大量本文档来自技高网...

【技术保护点】
1.一种基于区块链的智能合约引擎系统,其特征在于,所述合约引擎系统包括:用户接口层、智能合约系统层和区块链访问接口层;所述用户接口层,用于向用户提供统一的接口,通过所述统一的接口,用户能够以完全相同的数据交互方式与所述智能合约系统层中的智能合约交互;所述智能合约系统层,用于执行智能合约;所述区块链访问接口层,用于为所述智能合约系统层中的智能合约提供统一的访问区块链数据的接口。

【技术特征摘要】
1.一种基于区块链的智能合约引擎系统,其特征在于,所述合约引擎系统包括:用户接口层、智能合约系统层和区块链访问接口层;所述用户接口层,用于向用户提供统一的接口,通过所述统一的接口,用户能够以完全相同的数据交互方式与所述智能合约系统层中的智能合约交互;所述智能合约系统层,用于执行智能合约;所述区块链访问接口层,用于为所述智能合约系统层中的智能合约提供统一的访问区块链数据的接口。2.根据权利要求1所述的智能合约引擎系统,其特征在于,所述智能合约系统层包括原生智能合约系统与以太坊虚拟机(EVM)智能合约系统。3.根据权利要求2所述的智能合约引擎系统,其特征在于,所述原生智能合约系统和所述以太坊虚拟机(EVM)智能合约系统并行的位于所述智能合约系统层的同一层级中,使得原生智能合约系统能够方便的替换和扩展所述以太坊虚拟机(EVM)智能合约系统。4.根据权利要求1所述的智能合约引擎系统,其特征在于,所述统一的接口与太坊虚拟机(EVM)智能合约系统的数据访问接口一致,从而用户在调用所述智能合约系统层中的智能合约时,不需要考虑调用的智能合约是原生智能合约还是以太坊虚拟机(EVM)智能合约;所述区块链访问接口层的接口与以太坊虚拟机(EVM)智能合约系统的接口一致。5.根据权利要求2所述的智能合约引擎系统,其特征在于,所述智能合约系统层中的原生智能合约系统中的原生智能合约,依托于原生语言,且兼容以太坊虚拟机(EVM)智能合约的数据结构。6.一种基于权利要求1-5中任一项所述的智能合约引擎系统的合约执行方法,包括:S1.用户使用区块链系统语言编写原生智能合约,所述原生智能合约上层满足以太坊虚拟机(EVM)智能合约系统的接口要求;S2.依据所述原生智能合约注册的合约地址获取合约内容,调用exec执行接口,该接口能够根据函数签名执行合约的功能逻辑;S3.上述原生智能合约经过系统编译器编译后生成目标机器的可执行代码,在机器上执行,通过区块链访问接口层调用区块链数据。7.一种基于权利要求1-5中任一项所述的智能合约引擎系统的合约执行方法,包括:S1.用户使用脚本高级语言编写太坊虚拟机(EVM)智能合约;和/或通过以太坊虚拟机(EVM)智能合约系统的接口,调用满足以太坊虚拟机(EVM)智能合约系统的接口要求的原生智能合约;S2.对于用户使用脚本高级语言编写的太坊虚拟机(EV...

【专利技术属性】
技术研发人员:谢晗剑李华丰胡焰林
申请(专利权)人:杭州秘猿科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1