基于区块链的虚拟机内存自动扩容系统和方法技术方案

技术编号:27740977 阅读:28 留言:0更新日期:2021-03-19 13:34
本发明专利技术提供了一种基于区块链的虚拟机内存自动扩容系统和方法,包括:编译器模块:对WASM二进制代码进行解析,生成内存汇编指令;执行引擎模块:执行生成的内存汇编指令;内存模块:为执行引擎模块的实例化和汇编指令的运行进行内存管理;GAS模块:通过消耗GAS,防止恶意攻击;区块链和虚拟机交互模块:接收外部参数的输入给执行引擎模块,同时将执行引擎模块的执行结果传输到区块链。本发明专利技术通过内存自动扩容可以让图灵完备语言所编写的任何类型合约的执行不用考虑内存限制,同时新的内存分配器和内存池可以让内存分配和申请性能大幅度提升,从而整体上推高了区块链的性能。

【技术实现步骤摘要】
基于区块链的虚拟机内存自动扩容系统和方法
本专利技术涉及区块链
,具体地,涉及一种基于区块链的虚拟机内存自动扩容系统和方法。
技术介绍
区块链的共识需要一个确定性的环境,来执行确定性的行为。也就是说,不管节点的宿主机器是异构的,还是同构的,都需要确保在初始状态,行为操作两者一致的情况下,所有节点的输出结构也必须保证一致。为了实现这一核心要求,区块链系统需要引入虚拟机技术。虚拟机是用来执行外部用户部署的合约交易,而外部用户部署的合约交易对与内存消耗的大小是没有办法预测的,如果按照固定内存大小来设计虚拟机的话,过大的内存初始化会造成内存的浪费和启动速度的下降,而如果初始化的内存过小的话,则会导致交易执行失败,而且是永久的失败,这是用户不可以接受的。而如果从用户侧,链外规定的方式限制交易使用内存的大小,则会导致一些类型的交易无法使用区块链,从而限制业务类型的多样性,也会增加合约编写者的心智负担。如果内存管理模块可以采用自动内存扩容方案,则上述问题都会得到完美的解决。难点有:1)内存管理器自动扩容方案设计成适合区块链特性;2)虚拟本文档来自技高网...

【技术保护点】
1.一种基于区块链的虚拟机内存自动扩容系统,其特征在于,包括:/n编译器模块:对WASM二进制代码进行解析,生成内存汇编指令;/n执行引擎模块:执行生成的内存汇编指令;/n内存模块:为执行引擎模块的实例化和汇编指令的运行进行内存管理;/nGAS模块:通过消耗GAS,防止恶意攻击;/n区块链和虚拟机交互模块:接收外部参数的输入给执行引擎模块,同时将执行引擎模块的执行结果传输到区块链。/n

【技术特征摘要】
1.一种基于区块链的虚拟机内存自动扩容系统,其特征在于,包括:
编译器模块:对WASM二进制代码进行解析,生成内存汇编指令;
执行引擎模块:执行生成的内存汇编指令;
内存模块:为执行引擎模块的实例化和汇编指令的运行进行内存管理;
GAS模块:通过消耗GAS,防止恶意攻击;
区块链和虚拟机交互模块:接收外部参数的输入给执行引擎模块,同时将执行引擎模块的执行结果传输到区块链。


2.根据权利要求1所述的基于区块链的虚拟机内存自动扩容系统,其特征在于,所述编译器模块根据WASM规范对二进制代码进行解析,获取其中的汇编指令和静态数据,然后构建WASM模块对象和节对象用以存储汇编指令和静态数据,并构建出指令码值所对应的指令对象。


3.根据权利要求1所述的基于区块链的虚拟机内存自动扩容系统,其特征在于,所述执行引擎模块包括:构建虚拟机用以模拟实体计算机,并使用内存模块作为虚拟机的内存管理器。


4.根据权利要求1所述的基于区块链的虚拟机内存自动扩容系统,其特征在于,所述内存模块对虚拟机的内存进行管理,包括内存申请、内存再申请、内存自动扩容、内存释放和释放后合并。


5.根据权利要求1所述的基于区块链的虚拟机内存自动扩容系统,其特征在于,所述内存模块执行包括内存分配、内存再分配、内存释放和内存合并。


6.根据权利要求1所述的基于区块链的虚拟机内存自动扩容系统,其特征在于,在内存模块中引入内存池模块,...

【专利技术属性】
技术研发人员:杜满想
申请(专利权)人:上海万向区块链股份公司
类型:发明
国别省市:上海;31

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

1