一种基于国密芯片的智能合约并行执行系统技术方案

技术编号:35735034 阅读:34 留言:0更新日期:2022-11-26 18:36
本发明专利技术提供一种基于国密芯片的智能合约并行执行系统,包括区块链主机、系统总线以及多个智能合约并行协处理器;区块链主机的任务调度模块将属于同一任务的智能合约代码发送至一个智能合约并行协处理器执行,区块链主机通过协调调用多个智能合约并行协处理器,实现多个智能合约并行执行。区块链主机中的中央处理器的处理器核心用于实现智能合约虚拟机功能,解析智能合约代码得到的智能合约执行指令,指令为国密计算指令,则调用国密硬件引擎;指令为数据并行处理指令,则调用矢量处理单元;否则,则由处理器核心执行该智能合约执行指令。本发明专利技术在解决智能合约运行效率低的同时,为包含国密算法的智能合约提供安全有效的加速支持。加速支持。加速支持。

【技术实现步骤摘要】
一种基于国密芯片的智能合约并行执行系统


[0001]本专利技术涉及计算机应用技术以及区块链技术,具体涉及一种智能合约并行协处理技术。

技术介绍

[0002]区块链具有内部数据和信息可追溯、去中心化以及不可篡改等特点。智能合约在区块链技术的基础上使用信息化验证执行计算机协议,从而可以实现更为复杂的现实需求。当前的智能合约技术方案主要是基于智能合约语言Solidity,构建包含智能合约编程语言、编译器、智能合约虚拟机、事件、状态机、容错机制的完整技术体系。随着智能合约技术理念的发展,各种编程语言群体都有采用非 Solidity编写智能合约的需求。WebAssembly标准旨在成为通用且高效的可执行编译文件标准,以允许服务器端由多种高级语言编写的代码被编译成WASM并在浏览器或虚拟机中执行。由此基于WebAssembly标准的智能合约虚拟机正在成为公链和联盟链智能合约的发展大趋势。然而当前主流的智能合约虚拟机的执行效率低,严重限制了区块链的系统的执行效率。其次,智能合约交易非对称加密计算不仅效率低下,并且智能合约虚拟机对国密算法的支持度较低,而非国密算法体系区块链又无法应用于我国核心行业领域。再者,目前智能合约虚拟机多直接串行执行于区块链服务主机上。一方面当大量智能合约虚拟机并发执行时,将大量消耗系统资源。另一方面,相比于独立硬件执行,主机更容易受到恶意攻击,存在安全隐患。

技术实现思路

[0003]本专利技术所要解决的技术问题是,提供一种为包含国密算法的智能合约提供加速支持的协处理器的并行执行系统。/>[0004]本专利技术为解决上述技术问题所采用的技术方案是,一种基于国密芯片的智能合约并行执行系统,包括区块链主机、系统总线以及多个智能合约并行协处理器;区块链主机通过系统总线与每个智能合约并行协处理器的相连接实现双向数据通信;
[0005]区块链主机包括智能合约预加载模块和任务调度模块;
[0006]智能合约预加载模块用于对智能合约进行相关性和并行性分析;
[0007]任务调度模块用于进行任务分发与执行结果接收,所述任务分发为将属于同一任务的智能合约代码发送至一个智能合约并行协处理器执行;所述执行结果接收为接收智能合约并行协处理器在完成智能合约执行操作后返回的智能执行结果数据;
[0008]智能合约并行协处理器,包括中央处理器、接口单元和存储器,中央处理器、接口单元和存储器均与处理器总线相连,通过处理器总线实现数据交互;
[0009]中央处理器,包含处理器核心、国密硬件引擎以及矢量处理单元;
[0010]国密硬件引擎用于对智能合约代码中需要进行国密算法计算的智能合约代码进行加速计算;
[0011]矢量处理单元用于对智能合约代码中需要进行数据并行计算的智能合约代码进
行并行优化处理;
[0012]处理器核心用于实现智能合约虚拟机功能,解析智能合约代码得到的智能合约执行指令,判断所述智能合约执行指令是否为国密计算指令,若是,则调用国密硬件引擎;若否,则进一步判断所述智能合约执行指令是否为数据并行处理指令,如是,则调用矢量处理单元;如否,则由处理器核心执行该智能合约执行指令。
[0013]本专利技术的有益效果是,区块链主机通过协调调用多个智能合约并行协处理器,实现多个智能合约并行执行,在解决智能合约运行效率低的同时,为包含国密算法的智能合约提供安全有效的加速支持。
附图说明
[0014]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
[0015]图1为本专利技术实施例提供的一种智能合约并行协处理器的结构示意图;
[0016]图2为本专利技术实施例提供的一种智能合约并行协处理器中中央处理器的组成示意图;
[0017]图3为本专利技术实施例提供的一种智能合约执行方法的流程示意图;
[0018]图4为本专利技术实施例提供的一种智能合约执行方法中智能合约虚拟机执行智能合约代码的流程示意图;
[0019]图5为本专利技术实施例提供的一种智能合约并行执行系统的组成示意图。
具体实施方式
[0020]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本专利技术保护的范围。
[0021]本专利技术旨在通过专用软件设计配合专用硬件设计,构建一种针对智能合约优化执行的专用并行计算平台,即智能合约并行协处理器,通过专用硬件设计配合专用智能合约虚拟机指令调用专用硬件加速智能合约执行,同时提出一种基于该协处理器的智能合约并行执行方法,以实现智能合约执行安全性和效率的提升。
[0022]下面基于本专利技术所述的智能合约并行协处理器,对其实施例进行详细描述。如图1所示,其为本专利技术实施例提供的一种智能合约并行协处理器的结构示意图,具体实现过程包括以下部分:中央处理器101、接口单元102以及存储器103。所述中央处理器101、所述接口单元102、所述存储器103通过总线104连接。所述总线104用于提供智能合约并行协处理器内部数据传输的通道。
[0023]所述中央处理器101,用于部署执行智能合约代码的智能合约虚拟机,并执行所述智能合约虚拟机解析智能合约代码后得到的指令。其中,所述智能合约虚拟机是指符合WebAssemably标准,并可以对国密算法计算代码、矢量处理代码进行解析,调用相应的具体
硬件加速执行的智能合约虚拟机;所述智能合约代码是指符合WebAssemably标准的智能合约代码。
[0024]所述接口单元102用于接收所述中央处理器101生成的智能合约执行结果数据,并将所述智能合约执行结果数据发送至智能合约并行协处理器所连接的区块链主机;以及用于获取智能合约并行协处理器所连接的所述区块链主机发送的智能合约数据。所述智能合约数据包括但不限于:智能合约代码、智能合约执行命令以及智能合约输入参数等。
[0025]所述存储器103,用于存储所述接口单元接收的所述区块链主机发送的智能合约代码;并在所述中央处理器执行智能合约执行指令时提供相应的智能合约代码。
[0026]图2为本专利技术实施例提供的一种中央处理器架构图。在本专利技术实施例中,所述中央处理器处理器101包括处理器核心1011、国密硬件引擎1012、矢量处理单元1013、控制总线1014以及数据交换总线1015。
[0027]所述处理器核心1011,用于在执行智能合约时,通过数据交换总线1015和总线104从存储器103中加载智能合约代码;并由所述智能合约虚拟机解析智能合约代码后,执行智能合约指令;进一步的,所述处本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于国密芯片的智能合约并行执行系统,其特征在于,包括区块链主机、系统总线以及多个智能合约并行协处理器;区块链主机通过系统总线与每个智能合约并行协处理器的相连接实现双向数据通信;区块链主机包括智能合约预加载模块和任务调度模块;智能合约预加载模块用于对智能合约进行相关性和并行性分析;任务调度模块用于进行任务分发与执行结果接收,所述任务分发为将属于同一任务的智能合约代码发送至一个智能合约并行协处理器执行;所述执行结果接收为接收智能合约并行协处理器在完成智能合约执行操作后返回的智能执行结果数据;智能合约并行协处理器,包括中央处理器、接口单元和存储器,中央处理器、接口单元和存储器均与处理器总线相连,通过处理器总线实现数据...

【专利技术属性】
技术研发人员:桂勋曹元俊郭承武胡涵
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1