以太坊虚拟机的事务处理方法、装置、设备和介质制造方法及图纸

技术编号:27194839 阅读:15 留言:0更新日期:2021-01-31 11:46
本申请公开了以太坊虚拟机的事务处理方法、装置、设备和介质,涉及计算机技术领域,尤其涉及区块链技术,可用于云计算领域。具体实现方案为:在区块链节点中运行的虚拟机实例,获取待处理事务请求;虚拟机实例执行所述待处理事务请求的过程中,产生针对目标访问数据的数据访问请求,并传输给接口模块;所述数据访问请求包括数据读请求和/或数据写请求;所述接口模块根据所述数据访问请求调用区块链访问接口,针对所述区块链的数据存储空间,对所述目标访问数据进行访问操作,并将访问结果反馈给所述虚拟机实例;本申请能够解决以太坊虚拟机在其他区块链系统中的移植问题,提高了以太坊和其他区块链技术的兼容性。太坊和其他区块链技术的兼容性。太坊和其他区块链技术的兼容性。

【技术实现步骤摘要】
以太坊虚拟机的事务处理方法、装置、设备和介质


[0001]本申请涉及计算机
,尤其区块链技术,具体涉及一种以太坊虚拟机的事务处理方法、装置、设备和介质。

技术介绍

[0002]区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。由于区块链公开透明、不可篡改等特点,在金融、溯源、保险等领域的应用越来越广泛。
[0003]区块链技术在不断发展,从最早的比特币系统,到以太坊,近年来也陆续产生了很多采用更优技术的区块链系统,例如Polkadot、Cosmos等基于PoS共识机制的新型区块链技术。在区块链应用领域中,虽然技术在不断升级更新,但基于以太坊技术的生态环境已经具有一定规模,很多区块链应用都是基于以太坊的智能合约来构建的。应用的开发者和使用者,均一定程度上习惯了使用以太坊的智能合约。
[0004]但是,随着技术发展,以太坊暴露一些缺陷,例如低效的共识算法等问题,导致其交易性能不足以支撑真正的大规模商业应用场景。鉴于以太坊的生态效应,不能直接抛弃以太坊,更需要能够兼容以太坊和其他区块链技术的系统出现。以太坊智能合约是基于以太坊虚拟机(EVM)实现的,因此,兼容以太坊和其他区块链技术需要解决以太坊虚拟机在其他区块链系统中的移植问题。

技术实现思路

[0005]本公开提供了一种以太坊虚拟机的事务处理方法、装置、设备和介质。
[0006]根据本公开的一方面,提供了一种基于以太坊虚拟机的事务处理方法,应用于区块链节点,所述方法包括:在区块链节点中运行的虚拟机实例,获取待处理事务请求;所述虚拟机实例执行所述待处理事务请求的过程中,产生针对目标访问数据的数据访问请求,并传输给接口模块;所述数据访问请求包括数据读请求和/或数据写请求;所述接口模块根据所述数据访问请求调用区块链访问接口,针对所述区块链的数据存储空间,对所述目标访问数据进行访问操作,并将访问结果反馈给所述虚拟机实例;其中,所述区块链的数据存储空间包括账户空间和合约空间,所述账户空间用于存储外部账户中的账户数据和合约账户中的账户数据,所述合约空间用于存储合约账户中的合约数据。
[0007]根据本公开的另一方面,提供了一种基于以太坊虚拟机的事务处理装置,应用于区块链节点,所述装置包括:待处理事务请求获取模块,用于在区块链节点中运行的虚拟机实例,获取待处理事务请求;数据访问请求生成及传输模块,用于所述虚拟机实例执行所述待处理事务请求的过程
中,产生针对目标访问数据的数据访问请求,并传输给接口模块;所述数据访问请求包括数据读请求和/或数据写请求;区块链访问接口调用模块,用于所述接口模块根据所述数据访问请求调用区块链访问接口,针对所述区块链的数据存储空间,对所述目标访问数据进行访问操作,并将访问结果反馈给所述虚拟机实例;其中,所述区块链的数据存储空间包括账户空间和合约空间,所述账户空间用于存储外部账户中的账户数据和合约账户中的账户数据,所述合约空间用于存储合约账户中的合约数据。
[0008]根据本公开的另一方面,提供一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本公开实施例任一项所述的以太坊虚拟机的事务处理方法。
[0009]根据本公开的一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如本公开实施例任一项所述的以太坊虚拟机的事务处理方法。
[0010]根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如本公开实施例任一项所述的以太坊虚拟机的事务处理方法。
[0011]根据本公开的技术解决以太坊虚拟机在其他区块链系统中的移植问题,提高了以太坊和其他区块链技术的兼容性。
[0012]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
[0013]附图说明附图用于更好地理解本方案,不构成对本申请的限定。其中:图1是根据本公开实施例的一种基于以太坊虚拟机的事务处理方法的示意图;图2是根据本公开实施例的另一种基于以太坊虚拟机的事务处理方法的示意图;图3是根据本公开实施例的又一种基于以太坊虚拟机的事务处理方法的示意图;图4是根据本公开实施例的一种基于以太坊虚拟机的事务处理方法的示意图;图5是根据本公开实施例的一种基于以太坊虚拟机的事务处理装置的示意图;图6是用来实现本公开实施例的一种基于以太坊虚拟机的事务处理方法的电子设备的框图。
具体实施方式
[0014]以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0015]区块链是一种分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。最早出现的区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块。由于区块链公开透明、不可篡改等特点,在金融、溯源、保险等领域的应用越来越广泛,尤其在金融领域,可以实现各个金融机构之间高效率的进行协作。
[0016]区块链技术最早出现在以比特币为代表的数字货币时代。随着区块链技术的不断发展,出现了数字货币与智能合约相结合的以太坊,区块链由原来的“全球账簿”升级为“全球计算机”,它是对整个市场的去中心化。以太坊是数字货币与智能合约相结合,对金融领域更广泛的场景和流程进行优化的应用,最大的升级之处在于有了智能合约。以太坊定位于应用平台,在这个平台上,可以上传和执行智能合约,并且合约的执行能够得到有效的保证。
[0017]在真正的大规模商业应用场景,往往需要高效的共识算法支撑,然而,比特币以及以太坊等早期区块链技术的共识,导致其交易性能不足以支撑这些场景。但是,在区块链应用领域,由于以太坊生态独占第一把交椅,很多区块链应用均依赖于以太坊生态存在,无论是在游戏领域的加密猫(CryptoKitties),还是金融领域的DeFi项目DAI,都是基于以太坊智能合约构建的。
[0018]专门用于运行以太坊智能合约的虚拟机称为以太坊的虚拟机(EVM,Ethereum Virtual Machine),以太坊智能合约可由solidity、viper等语言编写。以太坊智能合约以及EVM在区块链领域应用极其广泛,已经成为区块链智能合约领域的事实标准之一。
[0019]如果基于以太坊源码修改本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于以太坊虚拟机的事务处理方法,应用于区块链节点,所述方法包括:在区块链节点中运行的虚拟机实例,获取待处理事务请求;所述虚拟机实例执行所述待处理事务请求的过程中,产生针对目标访问数据的数据访问请求,并传输给接口模块;所述数据访问请求包括数据读请求和/或数据写请求;所述接口模块根据所述数据访问请求调用区块链访问接口,针对所述区块链的数据存储空间,对所述目标访问数据进行访问操作,并将访问结果反馈给所述虚拟机实例;其中,所述区块链的数据存储空间包括账户空间和合约空间,所述账户空间用于存储外部账户中的账户数据和合约账户中的账户数据,所述合约空间用于存储合约账户中的合约数据。2.根据权利要求1所述的方法,其中,所述区块链的数据存储空间用于支持至少两种账户的数据操作,各所述账户的账户数据所使用的数据结构相同。3.根据权利要求1所述的方法,其中,所述账户数据包括账户标识、交易序列号、账户公钥和通证。4.根据权利要求3所述的方法,其中:所述账户数据采用键值对存储形式,所述账户标识作为键值存储于键域中,所述交易序列号、账户公钥和通证存储于值域中。5.根据权利要求1所述的方法,其中,所述合约数据包括账户标识、合约字节码和合约内变量;其中,所述账户标识为智能合约的合约调用标识。6.根据权利要求5所述的方法,其中:所述合约数据采用键值对存储形式,所述账户标识作为键值中的前缀,与所述合约字节码和合约内变量各自的标识进行组合,存储于键域中;所述合约字节码和合约内变量存储于值域中。7.根据权利要求1-6任一所述的方法,其中:所述区块链访问接口的类别包括账户访问接口、存储访问接口和合约操作接口;其中,所述账户访问接口用于访问账户数据;所述合约访问接口用于操作合约账户;所述存储访问接口用于更新合约数据。8.根据权利要求7所述的方法,其中,所述区块链访问接口中的区块链读接口包括下述至少一项:合约内变量读取接口;账户通证余额读取接口;合约字节码读取接口;账户的交易序列号读取接口;链上合约查询接口;链上账户查询接口;根据区块高度读取区块哈希的读取接口。9.根据权利要求7所述的方法,其中,所述区块链访问接口中的区块链写接口包括下述至少一项:合约账户创建接口;合约字节码初始化接口;
合约账户删除接口;合约内变量存储接口;账户余额增加接口;账户余额减少接口。10.根据权利要求9所述的方法,其中,所述接口模块根据所述数据访问请求调用区块链访问接口,针对所述区块链的数据存储空间,对所述目标访问数据进行访问操作包括:如果所述数据访问请求为合约创建请求,则所述接口模块根据所述合约创建请求调用合约账户创建接口,在所述账户空间中创建合约账户并写入所述合约账户的账户数据,并创建合约空间;所述接口模块在执行所述合约账户创建接口的过程中,调用所述合...

【专利技术属性】
技术研发人员:张磊樊冰新郑旗肖伟
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

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

1