首页 / 专利库 / 资料储存系统 / 工作量证明 / 一种公有链节点工作量证明的可信验证方法及系统

一种公有链节点工作量证明的可信验证方法及系统

阅读:24发布:2020-08-26

专利汇可以提供一种公有链节点工作量证明的可信验证方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种公有链 节点 工作量证明 的可信验证方法及系统,其利用 软件 保护扩展指令SGX,对于 区 块 链 公有链的工作量证明机制加以完善,额外增加了两个验证环节,利用可信空间的特性,使得合法的工作量证明都需通过enclave的签名,否则不被公有链其他节点接受,使得公有链网络中的工作量只能在特定 硬件 平台上完成,从而保证了公有链的安全性以及 稳定性 。,下面是一种公有链节点工作量证明的可信验证方法及系统专利的具体信息内容。

1.一种公有链节点工作量证明的可信验证方法,其特征在于:首先利用SGX在公有链节点上创建一个可信空间enclave;当公有链节点完成工作量并向网络进行汇报前,在可信空间enclave中对其完成的工作量进行验证并证明,确保工作量的计算过程是在节点本机上完成的。
2.根据权利要求1所述的可信验证方法,其特征在于:公有链节点收到网络中其他节点发来的工作量后,则需对其进行验证,验证该工作量的证明是在enclave状态下完成的,否则公有链节点拒绝接受这份工作量,发送该工作量的节点将不被承认,不能参与公有链网络中共识、智能合约以及链信息存储的相关行为。
3.根据权利要求1所述的可信验证方法,其特征在于:公有链节点在可信空间enclave中对其完成的工作量进行验证,若验证通过即表示该工作量的计算过程是在节点本机上完成的,则将工作量与enclave独有的签名进行封装并广播给网络中的其他节点,封装后的数据包被其它节点接收后,其它节点对其工作量进行验证,同时利用公钥对所述签名进行验证,若其中有一项不符合,则视作验证不通过,该公有链节点的工作量不被承认。
4.根据权利要求3所述的可信验证方法,其特征在于:所述enclave的签名是通过非对称加密算法生成的。
5.一种公有链节点工作量证明的可信验证系统,其特征在于,包括网络中的所有公有链节点,所述公有链节点包含有工作模块和验证模块;其中:
所述工作模块在节点本机的操作系统中运行,其根据接收到的区块信息执行相应的计算工作;
所述验证模块在节点本机的可信空间enclave中运行,用于对工作模块完成的工作量进行验证并向全网证明本节点处于可信状态,同时还对网络中其他节点发来的工作量进行验证。

说明书全文

一种公有链节点工作量证明的可信验证方法及系统

技术领域

[0001] 本发明属于链技术领域,具体涉及一种公有链节点工作量证明的可信验证方法及系统。

背景技术

[0002] 在区块链公有链网络的运行中,在采用工作量证明(Proof of Work)的系统中,对于每一个节点,汇报其所进行的工作是在客户端机器运行的。这种去中心化的设置一方面可以去除机构及个人的影响,但另一方面又对于用户的管理能有所下降,其表现在对于用户的不当行为不能很好的禁止。不当行为主要包括虚报工作量以及异构设备加速:虚报工作量指的是为了提高计算工作的效果,工作量证明的程序可能会被第三方修改以及精简;异构设备加速指的是采用FPGA、GPU等对设备高性能计算设备进行工作的加速;这两点对于整个公有链网络的稳定性是有影响的。
[0003] 同时,对于针对公有链网络的51%攻击,目前也没有特别行之有效的应对方法。51%攻击是指在攻击者拥有了全网51%的算力之后,他们相当于控制了整个公有链网络,可以进行双重支付,交易撤回等非法行为。
[0004] 虚报工作量带来的影响主要有三个方面:(1)影响激励机制,一方不公平的工作量证明可以使其抢占记账权,影响其他用户遵循规则的积极性;(2)工作量的虚报会使网络中区块的生成速度以及难度增速大大加快,甚至会造成公有链网络的崩溃;(3)第三方修改的程序造成了不公平性,以及增加了不安全性。
[0005] 异构设备加速的影响主要是:(1)用户使用的异构设备可能是不安全的,这会对公有链的稳定性造成影响;(2)异构加速使得网络运算能力往往集中于某几个大矿场中,与区块链去中心化的初衷违背,同时算力的集中也增加了51%攻击的发生概率。
[0006] 软件防护扩展指令(Software Guard Extensions,SGX)是Intel开发的新处理器技术,可以在计算平台上提供一个可信空间,将安全应用依赖的可信计算机减小到仅包含CPU与安全应用,将操作系统虚拟机监控器排除在安全边界之外,保障用户关键代码和数据的机密性和完整性,其实现方式是将合法软件的安全操作封装在一个enclave(可信空间)中,保护其不受恶意软件的攻击。一旦软件与数据位于enclave中,即使恶意攻击者控制了操作系统也无法影响enclave里的代码和数据。

发明内容

[0007] 针对公有链中节点汇报工作量的监测机制不足,本发明提供了一种公有链节点工作量证明的可信验证方法及系统,能够避免异构设备的影响以及虚报工作量的险。
[0008] 一种公有链节点工作量证明的可信验证方法,首先利用SGX在公有链节点上创建一个可信空间enclave;当公有链节点完成工作量并向网络进行汇报前,在可信空间enclave中对其完成的工作量进行验证并证明,确保工作量的计算过程是在节点本机上完成的。
[0009] 进一步地,公有链节点收到网络中其他节点发来的工作量后,则需对其进行验证,验证该工作量的证明是在enclave状态下完成的,否则公有链节点拒绝接受这份工作量,发送该工作量的节点将不被承认,不能参与公有链网络中共识、智能合约以及区块链信息存储等相关行为。
[0010] 进一步地,公有链节点在可信空间enclave中对其完成的工作量进行验证,若验证通过即表示该工作量的计算过程是在节点本机上完成的,则将工作量与enclave独有的签名进行封装并广播给网络中的其他节点,封装后的数据包被其它节点接收后,其它节点对其工作量进行验证,同时利用公钥对所述签名进行验证,若其中有一项不符合,则视作验证不通过,该公有链节点的工作量不被承认。
[0011] 进一步地,所述enclave的签名是通过非对称加密算法生成的。
[0012] 一种公有链节点工作量证明的可信验证系统,包括网络中的所有公有链节点,所述公有链节点包含有工作模块和验证模块;其中:
[0013] 所述工作模块在节点本机的操作系统中运行,其根据接收到的区块信息执行相应的计算工作;
[0014] 所述验证模块在节点本机的可信空间enclave中运行,用于对工作模块完成的工作量进行验证并向全网证明本节点处于可信状态,同时还对网络中其他节点发来的工作量进行验证。
[0015] 与现有公有链技术相比,本发明增加了SGX技术对工作量的结果的验证流程,使得只能在CPU上完成工作量的运算,增强了公有链系统的可信性以及安全性,避免了异构设备的影响以及虚报工作量的风险。本发明通过验证节点的可信性以避免大型计算集群的出现,降低了51%攻击产生的可能性。附图说明
[0016] 图1为本发明可信验证系统的结构示意图。
[0017] 图2为本发明可信验证方法的流程示意图。

具体实施方式

[0018] 为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
[0019] 如图1所示,本发明公有链工作量证明的验证系统,包括区块链节点程序的两个模块:工作模块和验证模块;其中,工作模块在操作系统中进行,用于客户端进行工作量证明的工作途径;验证模块在软件防护扩展机制SGX创造的可信空间enclave中运行,用于对本机的工作进行验证,同时用于向全网证明本节点处于可信状态。
[0020] 在本实施方式中,在客户端启动时,通过SGX创造一个本机上的可信空间,每当工作程序完成工作量向网络汇报时,额外增加本机验证的环节,以确保计算于本机上完成。客户端完成工作并汇报时,通过SGX进行区块链节点的验证,只有通过验证的工作量证明会被得到承认。
[0021] 具体的验证方式为:将工作量的证明与enclave的签名封装,这个封包被其它节点接收后,其它节点对其工作量进行验证,同时用公钥对签名进行验证,若有其中一样不符合,则视作验证不通过,这个节点的工作量不被承认。
[0022] 整个验证系统的具体工作流程如下:
[0023] 1.客户端发送工作请求,工作模块开始工作;
[0024] 2.工作模块完成特定要求的工作量,向验证模块汇报工作量;
[0025] 3.验证模块通过对发送的内容进行验证,确认是可信的工作后向网络广播汇报;
[0026] 4.汇报的内容是通过非对称密码加密,全网其他用户可以进行验证;
[0027] 5.若确认这个工作是由enclave状态完成,则同意接受这份工作证明;反之,则拒绝接受,有问题的节点被排除在公有链网络之外。
[0028] 本实施方式系统通过SGX创造一个本机上的可信空间,在向网络汇报之前必须在enclave中加以验证,而同时在传向网络中的证明,需加上enclave独有的签名信息,以证明工作是在验证程序处于enclave状态下被完成的,否则公有链中其他节点拒绝接受这份证明。这个节点将不被承认,不能参与公有链网络中的共识、智能合约、区块链信息存储等行为,从而保证了公有链网络上的节点都是处于enclave状态下的诚实节点。
[0029] 本实施方式系统的程序架构大致如图2所示,具体如下:
[0030] 1.客户端的初始化,主要包括enclave的创建;
[0031] 2.连接公有链网络,获取最新的区块信息;
[0032] 3.完成获取后向工作模块发送工作请求;
[0033] 4.工作模块根据请求,在本机CPU上进行相应运算,完成后向enclave汇报;
[0034] 5.enclave验证工作是否本机完成,若否,则程序将终止运行;若是,则向公有链网络广播工作量;
[0035] 6.其他节点对于这个工作量进行验证,若发现不是于enclave状态下完成,则视作不可信,拒绝接受;若可信,则接受这份工作量证明;
[0036] 7.如果满足记账条件,则成功汇报工作量的客户端获得记账权,创建新区块,得到奖励;
[0037] 8.完成一轮证明后,重新向工作模块发送工作请求,通过工作量竞争下一轮的记账权。
[0038] 由此可见,本发明通过验证节点的可信性以避免大型计算集群的出现,降低了51%攻击产生的可能性;跟现有公有链技术相比,本发明增加了SGX技术对工作量的结果的验证流程,使得只能在CPU上完成工作量的运算,增强了公有链系统的可信性以及安全性。
[0039] 上述对实施例的描述是为便于本技术领域的普通技术人员能理解和应用本发明。熟悉本领域技术的人员显然可以容易地对上述实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,对于本发明做出的改进和修改都应该在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈