[发明专利]支持可交互的多虚拟机的区块链方法、电子设备有效
申请号: | 201910858460.0 | 申请日: | 2019-09-11 |
公开(公告)号: | CN110569110B | 公开(公告)日: | 2022-01-11 |
发明(设计)人: | 叶万标 | 申请(专利权)人: | 杭州秘猿科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 杭州天昊专利代理事务所(特殊普通合伙) 33283 | 代理人: | 刘芬豪 |
地址: | 310000 浙江省杭州市西湖区文三路*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 交互 虚拟机 区块 方法 电子设备 | ||
本发明公开了一种支持可交互的多虚拟机的区块链方法、电子设备和计算机可读存储介质。其中方法包括:在多种虚拟机和世界状态之间插入一层通用的API层,用于对接各种类型的虚拟机,在区块链共识节点上,共识模块调用API层,将打包好的交易交由虚拟机执行;虚拟机执行时,对状态进行的读写,通过API层的回调反过来操作节点上的状态数据;合约创建,合约发布者在发布合约时,附带一个字段表明该合约需要解释和执行的虚拟机类型;合约调用,合约调用者在调用合约时,区块链系统获知由合约发布者所声明的虚拟机类型,将合约调用者的输入与合约代码共同传入指定类型的虚拟机进行解释和执行;交易结束,完成对区块链世界状态的修改。
技术领域
本发明属于区块链技术领域,具体涉及一种支持可交互的多虚拟机的区块链方法、电子设备和计算机可读存储介质。
背景技术
随着区块链系统的应用复杂度提高,对区块链系统的处理要求越来越高。现有技术中,区块链(blockchain)指的是借由密码学串接并保护内容的串连交易记录。每一区块包含了前一区块的加密散列、相应时间戳以及交易数据,这样的设计使得区块内容具有难以篡改的特性。用区块链所串接的分布式账本能让两方有效记录交易,且可永久查验此交易。虚拟机(virtual machine)指的是通过软件模拟的、具备完整硬件系统功能并运行在隔离环境下的完整计算机系统;比如虚拟化物理机VMware、Java虚拟机等。而区块链虚拟机则是建立在区块链系统上的代码运行环境,其主要作用是处理区块链系统内的智能合约。智能合约(smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。可以包含一些任意数据或解析数据的函数,可以接收用户输入并引导虚拟机解析处理用户输入。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。世界状态是地址(账户)到账户状态的映射,可以被视作为随着交易的执行而持续更新的全局状态。账户的所有信息都体现在世界状态之中,并由世界状态树保存。
由上述定义方式的区块链系统,使得当前在运行的大部分区块链系统仅支持在一条链上运行一种虚拟机,例如以太坊仅支持EVM虚拟机,EOS仅支持WASM虚拟机。现有的虚拟机从指令层面操作状态,使得世界状态和虚拟机紧密耦合,区块链的状态依赖某个特定虚拟机,比如EVM和其世界状态是耦合的,EVM底层提供操作世界状态的指令(比如SSTORE,SSLOAD两个读写状态的指令)。这种支持虚拟机的单一性大大限制了区块链系统可以支持的合约编程语言。
发明内容
鉴于以上存在的技术问题,本发明用于提供一种支持可交互的多虚拟机的区块链方法、电子设备和计算机可读存储介质,用于将世界状态和虚拟机严格解耦,使得区块链的状态不依赖于某个特定虚拟机。
为解决上述技术问题,本发明采用如下的技术方案:
第一方面,本申请实施例提供一种支持可交互的多虚拟机的区块链方法,包括:
在多种虚拟机和世界状态之间插入一层通用的API层,用于对接各种类型的虚拟机,在区块链共识节点上,共识模块调用API层,将打包好的交易交由虚拟机执行;虚拟机执行时,对状态进行的读写,通过API层的回调反过来操作节点上的状态数据;
合约创建,合约发布者在发布合约时,附带一个字段表明该合约需要解释和执行的虚拟机类型;
合约调用,合约调用者在调用合约时,区块链系统获知由合约发布者所声明的虚拟机类型,将合约调用者的输入与合约代码共同传入指定类型的虚拟机进行解释和执行;
交易结束,完成对区块链世界状态的修改。
第一方面的一种可能设计中,进一步包括合约的跨虚拟机调用。
第一方面的一种可能设计中,合约的跨虚拟机调用具体为:如果第一合约声明由第一虚拟机执行,第二合约声明由第二虚拟机执行,则第一合约通过调用方式调用第二合约并取得第二合约的输出结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州秘猿科技有限公司,未经杭州秘猿科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910858460.0/2.html,转载请声明来源钻瓜专利网。