一种基于区块链的可信计算芯片的制作方法

文档序号:37297379发布日期:2024-03-13 20:45阅读:7来源:国知局
一种基于区块链的可信计算芯片的制作方法

本申请涉及一种基于区块链的可信计算芯片,适用于区块链的。


背景技术:

1、近年来,区块链技术在应用和探索方面有着不断的进展。比特币作为最初的区块链货币,采用了分布式可信账本存储方式,无需中心服务器即可进行货币交易,在金融货币方面有着天然的优势。紧随其后的代表性项目为以太坊,其基于区块链分布式存储系统之上开发出图灵完备的虚拟引擎,能够在其上编译运行智能合约,即可在去中心化可信系统上执行可计算程序。可信计算单元可以是可信的计算围圈(enclave),提供隔离执行的应用程序运行环境。

2、另一方面,随着嵌入式系统的蓬勃发展,越来越多的嵌入式芯片应用于多媒体、网络通讯、视频监控等领域。越广泛的使用意味着越可能成为目标而遭受窃听和攻击。嵌入式系统,特别是用于区块链应用的嵌入式系统在设计时考虑了运行状态的各种安全因素,一般运行时的系统不容易被攻破。而系统的升级过程往往伴随着中断运行、替换系统文件、重新启动等多个环节,极有可能为攻击者提供机会。

3、目前市场上,尚未有针对图灵完备的智能合约虚拟引擎而设计的安全芯片,无法在边缘设备上收集数据并且据此改变区块链上智能合约的状态。与此同时,芯片本身并非一个完整的区块链节点环境,因其需要较大的内存和较高的功耗,也无法做到集成节点。


技术实现思路

1、本申请目的是提供一种基于区块链的可信计算芯片,能够在边缘设备上的可信计算环境下快速执行或验证智能合约状态,其能够被服务端所信任和调用,保证芯片数据计算和传输的可信度,方便在边缘设备上应用区块链加密和可信技术,能够极大地扩展区块链的应用场景。

2、本申请涉及一种基于区块链的可信计算芯片,包括enclave保护模块、智能合约执行装置和加密模块,所述enclave保护模块用于构建该芯片上的可信计算环境并保护芯片上的所有数据状态和执行动作;

3、智能合约执行装置包括合约原语的解码转化单元和指令执行单元;

4、所述解码转化单元接受外部输入的二进制码,利用解码装置将所述二进制码反解析出合约原语序列,并根据所述解码装置中预嵌入的原语含义功能,将反解析出的原语序列转换生成所述指令执行单元所需要的指令代码;

5、所述加密模块包括加密协处理器,所述指令执行单元的处理结果交由所述加密协处理器对计算结果进行签名加密。

6、优选地,所述指令执行单元包括寄存器堆和执行组件,所述执行组件与所述寄存器堆和外置的内存连接。

7、其中,所述执行组件包括指令读取单元、指令解码单元、算术逻辑运算单元、内存读写单元和寄存器读写单元;所述指令读取单元从合约原语的解码转化单元中接受输出的指令代码作为需要执行的底层指令,所述指令解码单元根据指令的结构码解析出指令的类别,所述算术逻辑运算单元根据输入的指令代码进行运算,通过操作至少一个寄存器进行整形算术逻辑运算,所述内存读写单元操作所述内存,读取或修改所述内存中的数据,所述寄存器读写单元操作所述寄存器堆,读取或修改寄存器堆中各寄存器的数据。

8、其中,所述寄存器堆包括pc指令计数器,所述pc指令计数器引导读取指令的索引或者被跳转指令修改设置。所述寄存器堆还包括控制和状态寄存器以及计算预留寄存器。

9、其中,所述加密协处理器提供非对称加密方法,根据其内部写入的硬件密钥的唯一身份标识对执行结果进行非对称加密,生成签名并输出。所述密钥在制造过程中被随机写入所述可信计算芯片上,以用于所述可信计算芯片的身份标识,所述密钥包括不可访问的私钥和可被读取以用于服务端验证的公钥。

10、其中,所述可信计算芯片分成可信区域和不可信区域;当所述可信计算芯片在执行多用户智能合约时,芯片在机器模式下为多个智能合约执行程序配置各自的软硬件资源,可信区域中的多个智能合约执行程序之间相互隔离;当存在多用户可信智能合约时,运行在所述可信计算芯片上的多个智能合约执行程序中的一个应用程序访问其他可信智能合约程序的受保护资源时,需要提供相应的私钥或者私钥签名后的访问指令,由安全监视器进行验证和仲裁以确定其对其他可信应用程序及资源的访问权限。

11、其中,所述可信计算芯片在执行智能合约时,每个可信智能合约执行程序使用安全监视器分配的软硬件资源,将应用程序代码放置在可信区域,访问受保护的物理内存、调用安全监视器分配的处理器内核资源,并将智能合约的执行结果写入受保护的物理内存中,由安全监管者负责智能合约执行结果的后续处理。

12、其中,所述可信计算芯片的保护机制包括物理内存保护,通过设置可信区域和不可信区域,通过直接物理地址保护芯片物理内存或者通过虚拟内存系统保护物理内存;或者

13、所述可信计算芯片的保护机制包括处理器内核保护、软硬件资源保护以及信任基保护,机器模式下配置每个用户程序可以访问的处理器内核资源、软硬件资源和信任基,当发生异常时,控制权移交给机器模式进行访问权限的鉴定和授权。

14、本申请通过引入硬件上的指令集合及硬件加速,能够大大提高智能合约的执行效率,并有效减小功耗;通过随机的私钥硬件写入方法,保证每一个芯片的标识是独一无二且无法伪造篡改;通过所设计的内存保护指令和enclave内存保护方法,保障芯片上的计算过程是可信的。在以上可信计算环境中,通过内置的加密函数将合约的执行结果签名输出,能够防止在网络传输过程中数据被第三方伪造,而服务端也能够通过预设的芯片白名单来获取到真实边缘设备中收集到的数据或者合约的执行状态。

15、本申请从数据的生成、计算、内存更改到网络传输各个步骤都完整设计有可信计算的解决方案,能够在将区块链技术应用到边缘设备的同时,最大限度的保证芯片计算的可信性。因此,本申请的可信计算芯片能够有效保证芯片在计算过程中的可信度,同时能够有效提升所有图灵完备的智能合约的执行效率,以供服务端调用。



技术特征:

1.一种智能合约执行装置,包括合约原语的解码转化单元和指令执行单元,其特征在于,所述解码转化单元接受外部输入的二进制码,利用解码装置将所述二进制码反解析出合约原语序列,并根据所述解码装置中预嵌入的原语含义功能,将反解析出的原语序列转换生成所述指令执行单元所需要的指令代码。

2.根据权利要求1所述的智能合约执行装置,其特征在于,所述解码装置是外置热插拔的合约原语解码装置。

3.根据权利要求2所述的智能合约执行装置,其特征在于,利用可插拔配置的所述合约原语解码装置将输入的二进制码合约原语扩展底层指令集合逻辑并生成底层指令执行序列。

4.根据权利要求1-3中任一项所述的智能合约执行装置,其特征在于,所述指令执行单元包括寄存器堆和执行组件,所述执行组件与所述寄存器堆和外置的内存连接。

5.根据权利要求4所述的智能合约执行装置,其特征在于,所述执行组件包括指令读取单元、指令解码单元、算术逻辑运算单元、内存读写单元和寄存器读写单元;其中,

6.根据权利要求4所述的智能合约执行装置,其特征在于,所述寄存器堆包括pc指令计数器,所述pc指令计数器引导读取指令的索引或者被跳转指令修改设置。

7.根据权利要求6所述的智能合约执行装置,其特征在于,所述寄存器堆还包括控制和状态寄存器以及计算预留寄存器。

8.一种基于区块链的可信计算芯片,其特征在于,包括enclave保护模块和智能合约执行装置,所述enclave保护模块用于构建芯片上的可信计算环境并保护芯片上的所有数据状态和执行动作,所述智能合约执行装置是根据权利要求1-7中任一项所述的智能合约执行装置。

9.根据权利要求8所述的可信计算芯片,其特征在于,还包括加密模块,所述加密模块包括加密协处理器,所述加密协处理器提供非对称加密方法,根据其内部写入的硬件密钥的唯一身份标识对执行结果进行非对称加密,生成签名并输出,所述密钥包括不可访问的私钥和可被读取以用于服务端验证的公钥。

10.根据权利要求9所述的可信计算芯片,其特征在于,所述可信计算芯片分成可信区域和不可信区域;


技术总结
本申请涉及一种基于区块链的可信计算芯片,包括enclave保护模块、智能合约执行装置和加密模块,enclave保护模块用于构建该芯片上的可信计算环境,保证芯片上所有数据和执行动作的可靠性,包括并不限于智能合约的执行、数据的签名、传感器数据的收集等;解码转化单元接受外部输入的二进制码,利用解码装置将二进制码反解析出合约原语序列,并根据解码装置中预嵌入的原语含义功能,将反解析出的原语序列转换生成指令执行单元所需要的指令代码,指令执行单元的处理结果交由加密协处理器对计算结果进行签名加密。本申请的可信计算芯片能够有效保证芯片在计算过程中的可信度,同时能够有效提升所有图灵完备的智能合约的执行效率,以供服务端调用。

技术研发人员:陈子祺,田甲
受保护的技术使用者:陈子祺
技术研发日:
技术公布日:2024/3/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1