基于FPGA实现隐私区块链的方法及装置制造方法及图纸

技术编号:23161888 阅读:55 留言:0更新日期:2020-01-21 22:01
本说明书一个或多个实施例提供一种基于FPGA实现隐私区块链的方法及装置,该方法可以包括:FPGA结构将已部署的电路逻辑配置文件加载至FPGA芯片上,以在所述FPGA芯片上形成加解密模块;所述FPGA结构将来自所属的区块链节点的密文数据传入所述加解密模块中进行解密,以得到明文数据;所述FPGA结构通过所述FPGA芯片上的计算模块对所述明文数据进行处理,所述计算模块由所述FPGA结构基于所述已部署的电路逻辑配置文件在所述FPGA芯片上形成;所述FPGA结构通过所述加解密模块对所述计算模块生成的明文结果进行加密,以得到密文结果。

Implementation of private blockchain based on FPGA

【技术实现步骤摘要】
基于FPGA实现隐私区块链的方法及装置
本说明书一个或多个实施例涉及区块链
,尤其涉及一种基于FPGA实现隐私区块链的方法及装置。
技术介绍
区块链技术构建在传输网络(例如点对点网络)之上。传输网络中的网络节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。目前企业级的区块链平台技术上最大的两个挑战就是隐私和性能,往往这两个挑战很难同时解决。大多解决方案都是通过损失性能换取隐私,或者不大考虑隐私去追求性能。常见的解决隐私问题的加密技术,如同态加密(Homomorphicencryption)和零知识证明(Zero-knowledgeproof)等复杂度高,通用性差,而且还可能带来严重的性能损失。可信执行环境(TrustedExecutionEnvironment,TEE)是另一种解决隐私问题的方式。TEE可以起到硬件中的黑箱作用,在TEE中执行的代码和数据操作系统层都无法偷窥,只有代码中预先定义的接口才能对其进行操作。在效率方面,由于TEE的黑箱性质,在TEE中进行运算的是明文数据,而不是同态加密中的复杂密码学运算,计算过程效率没有损失,因此与TEE相结合可以在性能损失较小的前提下很大程度上提升区块链的安全性和隐私性。目前工业界十分关注TEE的方案,几乎所有主流的芯片和软件联盟都有自己的TEE解决方案,包括软件方面的TPM(TrustedPlatformModule,可信赖平台模块)以及硬件方面的IntelSGX(SoftwareGuardExtensions,软件保护扩展)、ARMTrustzone(信任区)和AMDPSP(PlatformSecurityProcessor,平台安全处理器)。
技术实现思路
有鉴于此,本说明书一个或多个实施例提供一种基于FPGA实现隐私区块链的方法及装置。为实现上述目的,本说明书一个或多个实施例提供技术方案如下:根据本说明书一个或多个实施例的第一方面,提出了一种基于FPGA实现隐私区块链的方法,包括:FPGA结构将已部署的电路逻辑配置文件加载至FPGA芯片上,以在所述FPGA芯片上形成加解密模块;所述FPGA结构将来自所属的区块链节点的密文数据传入所述加解密模块中进行解密,以得到明文数据;所述FPGA结构通过所述FPGA芯片上的计算模块对所述明文数据进行处理,所述计算模块由所述FPGA结构基于所述已部署的电路逻辑配置文件在所述FPGA芯片上形成;所述FPGA结构通过所述加解密模块对所述计算模块生成的明文结果进行加密,以得到密文结果。根据本说明书一个或多个实施例的第二方面,提出了一种基于FPGA实现隐私区块链的装置,包括:加载单元,使FPGA结构将已部署的电路逻辑配置文件加载至FPGA芯片上,以在所述FPGA芯片上形成加解密模块;解密单元,使所述FPGA结构将来自所属的区块链节点的密文数据传入所述加解密模块中进行解密,以得到明文数据;处理单元,使所述FPGA结构通过所述FPGA芯片上的计算模块对所述明文数据进行处理,所述计算模块由所述FPGA结构基于所述已部署的电路逻辑配置文件在所述FPGA芯片上形成;加密单元,使所述FPGA结构通过所述加解密模块对所述计算模块生成的明文结果进行加密,以得到密文结果。根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。附图说明图1是一示例性实施例提供的一种基于FPGA实现隐私区块链的方法的流程图。图2是一示例性实施例提供的一种区块链节点的结构示意图。图3是一示例性实施例提供的一种在FPGA芯片上形成功能模块的示意图。图4是一示例性实施例提供的一种对FPGA板卡进行可新更新的示意图。图5是一示例性实施例提供的一种基于FPGA实现隐私区块链的装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。区块链一般被划分为三种类型:公有链(PublicBlockchain),私有链(PrivateBlockchain)和联盟链(ConsortiumBlockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。不论是公有链、私有链还是联盟链,区块链网络中的节点出于隐私保护的目的,均可能通过区块链与TEE(TrustedExecutionEnvironment,可信执行环境)相结合的解决方案,在TEE内执行收到的交易。TEE是基于CPU硬件的安全扩展,且与外部完全隔离的可信执行环境。TEE最早是由GlobalPlatform提出的概念,用于解决移动设备上资源的安全隔离,平行于操作系统为应用程序提供可信安全的执行环境。ARM的TrustZone技术最早实现了真正商用的TEE技术。伴随着互联网的高速发展,安全的需求越来越高,不仅限于移动设备,云端设备,数据中心都对TEE提出了更多的需求。TEE的概念也得到了高速的发展和扩充。现在所说的TEE相比与最初提出的概念已经是更加广义的TEE。例如,服务器芯片厂商Intel,AMD等都先后推出了硬件辅助的TEE并丰富了TEE的概念和特性,在工业界得到了广泛的认可。现在提起的TEE通常更多指这类硬件辅助的TEE技术。本文档来自技高网
...

【技术保护点】
1.一种基于FPGA实现隐私区块链的方法,包括:/nFPGA结构将已部署的电路逻辑配置文件加载至FPGA芯片上,以在所述FPGA芯片上形成加解密模块;/n所述FPGA结构将来自所属的区块链节点的密文数据传入所述加解密模块中进行解密,以得到明文数据;/n所述FPGA结构通过所述FPGA芯片上的计算模块对所述明文数据进行处理,所述计算模块由所述FPGA结构基于所述已部署的电路逻辑配置文件在所述FPGA芯片上形成;/n所述FPGA结构通过所述加解密模块对所述计算模块生成的明文结果进行加密,以得到密文结果。/n

【技术特征摘要】
1.一种基于FPGA实现隐私区块链的方法,包括:
FPGA结构将已部署的电路逻辑配置文件加载至FPGA芯片上,以在所述FPGA芯片上形成加解密模块;
所述FPGA结构将来自所属的区块链节点的密文数据传入所述加解密模块中进行解密,以得到明文数据;
所述FPGA结构通过所述FPGA芯片上的计算模块对所述明文数据进行处理,所述计算模块由所述FPGA结构基于所述已部署的电路逻辑配置文件在所述FPGA芯片上形成;
所述FPGA结构通过所述加解密模块对所述计算模块生成的明文结果进行加密,以得到密文结果。


2.根据权利要求1所述的方法,所述密文数据包括以下至少之一:所述区块链节点收到的隐私交易、所述区块链节点存储的密文状态、所述区块链节点存储的密文合约代码、所述区块链节点存储的密文收据。


3.根据权利要求1所述的方法,所述密文数据为所述区块链节点收到的隐私交易;所述FPGA结构将来自所属的区块链节点的密文数据传入所述加解密模块中进行解密,包括:
所述FPGA结构通过所维护的节点私钥,在所述加解密模块中对所述隐私交易进行解密,得到的明文数据为明文交易内容;
其中,所述隐私交易由交易发起方通过节点公钥对明文交易内容进行加密得到;或者,所述隐私交易由所述交易发起方通过自身维护的对称密钥和所述节点公钥对所述明文交易内容进行数字信封加密而得到。


4.根据权利要求3所述的方法,还包括:
所述FPGA结构通过向客户端发送协商信息,与所述客户端协商业务秘密部署密钥,使所述客户端与所述FPGA结构分别确定出所述业务秘密部署密钥;其中,所述协商信息由所述FPGA结构上部署的认证根密钥进行签名;
其中,所述节点私钥被所述客户端通过所述业务秘密部署密钥进行加密后传输并部署至所述FPGA结构。


5.根据权利要求3所述的方法,在所述隐私交易由数字信封方式进行加密的情况下,所述FPGA结构通过所述加解密模块对所述计算模块生成的明文结果进行加密,包括:
所述FPGA结构在所述加解密模块中通过数字信封所采用的对称密钥对所述明文结果进行加密。


6.根据权利要求1所述的方法,所述密文数据为所述区块链节点存储的密文状态、密文合约代码和/或密文收据;所述FPGA结构将来自所属的区块链节点的密文数据传入所述加解密模块中进行解密,包括:
所述FPGA结构通过所维护的业务根密钥或所述业务根密钥的衍生密钥,在所述加解密模块中对所述密文数据进行解密,得到相应的明文数据。


7.根据权利要求6所述的方法,还包括:
所述FPGA结构通过...

【专利技术属性】
技术研发人员:魏长征潘国振闫莺
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

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

1