一种CNFS协议中区块链节点的分组多链异步共识方法技术

技术编号:29335784 阅读:29 留言:0更新日期:2021-07-20 17:54
本发明专利技术涉及区块链共识机制技术领域,公开一种CNFS协议中区块链节点的分组多链异步共识方法,包括:步骤100节点分离,步骤200共识节点选举,步骤300分组共识,步骤400全局共识。针对在大规模物联网环境下,由于节点数量众多而导致的区块链共识效率低下问题,采用分组多链异步并行的策略加快共识速度,即各分组同时运行RBFT完成一次共识分组出块。此外,用二次RAFT快速共识来对一次共识中各分组产生新区块进行全局验证,解决分组作恶问题。在取得共识效率的同时兼顾了共识安全性。

【技术实现步骤摘要】
一种CNFS协议中区块链节点的分组多链异步共识方法
本专利技术涉及区块链共识
,尤其涉及一种CNFS协议中区块链节点的分组多链异步共识方法。
技术介绍
区块链技术是当今世界各国所关注的新兴技术,其核心思想是构建一个分散化的网络与应用环境,突破中心化网络格局的一系列制约。然而完全的去中心化与完全的中心化在实际应用中都是不可取的。只有结合我国国情,在完全去中心化与中心化之间进行取舍,才能设计出真正适用于中国的区块链新基建,构建安全可控的网络资源环境。CNFS(ClusterNetFileSystem)是为实现web3.0而设计的基于可控区块链的我国独立自主产权的下一代互联网协议栈。CNFS提供有限可控去中心化分布式存储和计算服务,对网络上设备计算存储等资源进行分布式安全可控可监管治理,旨在为产业区块链项目落地打造基础设施网络和基于新基建的服务资源。立足于对全网资源可控的愿景,CNFS基于预言机判定的可靠网络资源执行环境,保障了网络资源数据的可信性。区块链共识机制是确保分布式环境中数据一致性的关键技术,也是制约区块链效率的瓶颈,共识机制的执行效率和安全性决定了区块链系统的可用性。CNFS在面向大规模网络中的计算存储资源分布式治理中,网络节点数量庞大,合理设计一套高效安全的共识机制,是确保治理有效性和安全性的关键。分组共识,是应对节点数量众多情况下提升共识效率的一种常用共识策略,然而现有的分组共识方法很难在取得效率的同时确保共识安全性,大多数分组共识方法面临着分组作恶问题,降低了系统的安全性。<br>
技术实现思路
针对以上问题,本专利技术主要公开了在CNFS(ClusterNetFileSystem)协议中立足于对全网资源可控的愿景,结合RBFT(RedundantByzantineFaultTolerance)和RAFT(ResourceAggregationforFaultTolerance)快速共识提出的一种分组多链异步共识方法,采用分组,异步,多链并行加速共识的策略进行二次共识,可在兼顾效率的同时有效解决分组作恶的问题。进一步提高在大规模物联网环境中系统安全性和可用性。本专利技术提供了一种CNFS协议中区块链节点的分组多链异步共识方法,包括:步骤100节点分离,根据节点提供资源服务特性将节点分为算力节点组、存储节点组、查询加速节点组,不同的分组维护各自的链,执行不同的链合约。步骤200共识节点选举,各分组内节点通过汇报指定时间内的状态信息,积攒质押证明分数;所述状态信息包括自身设备的存储、CPU、内存、带宽;当质押证明分数达到所设定的阈值时,被抽取成为共识节点,进行分组共识;步骤300分组共识,各分组共识节点同时运行RBFT共识算法进行第一次共识,共识节点将对CNFS区块链网络中产生的交易进行打包、共识、出块。产生各分组一次共识的新区块。修改后的RBFT标准算法流程如图2所示,分为了请求阶段、广播阶段、预准备阶段、准备阶段、提交阶段和出块阶段。包括步骤301-304:步骤301,客户端向所有节点发送请求。客户端向所有节点发送请求消息,此消息包含请求的操作、请求标识符和客户端标识。它用客户端的私钥签名,然后用MAC认证器对所有节点进行身份验证。在接收请求消息时,节点验证MAC认证器。如果MAC有效,则验证请求的签名。如果签名无效,那么客户端将被列入黑名单。步骤302,正常的节点将请求传播到所有节点。一旦请求被验证,节点将向所有节点发送一条请求传播消息。此步骤确保只要请求已发送到至少一个正确节点,每个正确节点最终都会收到请求。在接收来自其他节点的传播消息时,节点首先验证MAC认证器。如果MAC是有效的,并且这是第一次收到这个请求,将验证请求的签名。如果签名有效,节点将向其他节点发送传播消息。步骤303,每个协议实例的副本执行一个三阶段提交协议来命令请求。当协议实例的主副本p接收到请求时,它会发送一个预准备消息,p用MAC认证器对其协议实例的每个副本进行身份验证。然后,它通过向所有其他副本发送准备消息来回复预准备消息。如果没有这种验证,恶意主级可能与故障客户端串通,这些客户端只向他发送正确的请求,以提高恶意主级的协议实例的性能,而牺牲其他协议实例。步骤304,节点执行请求并向客户端发送应答消息,并执行写块出块操作。产生每个分组一次RBFT共识的新区块。步骤400全局共识,全局共识节点由各分组代表组成,分组代表是各分组中质押证明分数最高的节点,维护一条全局哈希链。全局哈希链只存储各分组链的区块头数据。全局共识节点根据全局哈希链运行RAFT快速共识算法对步骤300中各分组产生的新区块进行二次确认并签名,并将其转发到相应的分组中,分组中共识节点接收到由全局共识节点确认过的新区块后,验证签名并将新区块上链。可有效预防分组作恶情况。RAFT共识算法主要有两个阶段:选主阶段和复制日志阶段。包括步骤401-402:步骤401,全局共识节点领导者选举。即RAFT算法选主阶段,节点状态转移关系如图3所示。全局共识节点启动后被设置成为跟随者状态,跟随者在一定时间内没有收到领导者或候选者消息将触发超时,切换到候选者状态;候选者向所有跟随者节点发送请求投票消息,请求其他节点向自己投票。在此过程中若发现新的领导人或新的选举轮次则切换回跟随者状态。若在一定时间内未得到一半以上节点的投票则触发超时,切换回跟随者状态并开始新一轮选举。若得到一半以上节点的投票则成为领导者;当领导者成功当选后会通过心跳机制维持自己的权威,周期性地向所有跟随者发送心跳包维持自己的权威。若领导者在任期内若发现比当前更新的轮次则切换回跟随者状态。此过程确定出全局共识节点中的领导者。步骤402,日志复制。修改的RAFT算法日志复制阶段流程如图4所示。由步骤401中选举出的领导者对步骤300中各分组产生的新区块依次进行确认,依据全局哈希链对各分组新区块的有效性进行验证,然后复制发送给所有全局共识节点进行确认,当全局领导者节点收到一半以上全局共识节点返回的确认接收消息后,该新区块有效,领导者节点对新区块签名并转发到相应的分组中。分组接收到带有全局共识领导者签名的新区块后,验证签名并将新区块上链。本方法针对在大规模物联网环境下,由节点数量众多而导致的区块链共识效率低下问题。采用分组多链并行的策略加快共识速度,同时用异步二次共识来解决分组作恶问题。在取得共识效率的同时兼顾了共识安全性。附图说明图1是本专利技术提供的CNFS协议中分组多链异步共识方法整体框架示意图。图2是本专利技术提供的CNFS协议中分组多链异步共识方法的RBFT共识算法流程示意图。图3是本专利技术提供的CNFS协议中分组多链异步共识方法的RAFT共识算法节点状态转移图。图4是本专利技术提供的CNFS协议中分组多链异步共识方法的RAFT共识算法日志复制流程图。图5是本专利技术提供的CNFS协议中分组多链异步共识方法流程示意图。具体实施方式为使本专利技术解决的技术问题、采用的技本文档来自技高网
...

【技术保护点】
1.一种CNFS协议中区块链节点的分组多链异步共识方法,其特征在于,包括:/n步骤100节点分离,根据节点提供资源服务特性将节点分为算力节点组、存储节点组、查询加速节点组,不同的分组维护各自的链,执行不同的链合约;/n步骤200共识节点选举,各分组内节点通过汇报指定时间内的状态信息,积攒质押证明分数;所述状态信息包括自身设备的存储、CPU、内存、带宽;当质押证明分数达到所设定的阈值时,被抽取成为共识节点,进行分组共识;/n步骤300分组共识,将步骤200得到的各分组共识节点同时运行RBFT共识算法进行第一次共识,共识节点对CNFS区块链网络中产生的交易进行打包、共识、出块,产生各分组一次共识的新区块;具体流程分为请求阶段、广播阶段、预准备阶段、准备阶段、提交阶段和出块阶段;/n步骤400全局共识,全局共识节点由各分组代表组成,分组代表是各分组中质押证明分数最高的节点,维护一条全局哈希链;全局哈希链只存储各分组链的区块头数据;全局共识节点根据全局哈希链运行RAFT快速共识算法对步骤300中各分组产生的新区块进行二次确认并签名,并将其转发到相应的分组中,分组中共识节点接收到由全局共识节点确认过的新区块后,验证签名并将新区块上链。/n...

【技术特征摘要】
1.一种CNFS协议中区块链节点的分组多链异步共识方法,其特征在于,包括:
步骤100节点分离,根据节点提供资源服务特性将节点分为算力节点组、存储节点组、查询加速节点组,不同的分组维护各自的链,执行不同的链合约;
步骤200共识节点选举,各分组内节点通过汇报指定时间内的状态信息,积攒质押证明分数;所述状态信息包括自身设备的存储、CPU、内存、带宽;当质押证明分数达到所设定的阈值时,被抽取成为共识节点,进行分组共识;
步骤300分组共识,将步骤200得到的各分组共识节点同时运行RBFT共识算法进行第一次共识,共识节点对CNFS区块链网络中产生的交易进行打包、共识、出块,产生各分组一次共识的新区块;具体流程分为请求阶段、广播阶段、预准备阶段、准备阶段、提交阶段和出块阶段;
步骤400全局共识,全局共识节点由各分组代表组成,分组代表是各分组中质押证明分数最高的节点,维护一条全局哈希链;全局哈希链只存储各分组链的区块头数据;全局共识节点根据全局哈希链运行RAFT快速共识算法对步骤300中各分组产生的新区块进行二次确认并签名,并将其转发到相应的分组中,分组中共识节点接收到由全局共识节点确认过的新区块后,验证签名并将新区块上链。


2.根据权利要求1所述的CNFS协议中区块链节点的分组多链异步共识方法,其特征在于,包括步骤如下:
步骤301,客户端向所有节点发送请求消息,此消息包含请求的操作、请求标识符和客户端标识;用客户端的私钥签名,然后用MAC认证器对所有节点进行身份验证;在接收请求消息时,节点验证MAC认证器;如果MAC有效,则验证请求的签名;如果签名无效,那么客户端将被列入黑名单;
步骤302,正常的节点将请求传播到所有节点;一旦请求被验证,节点将向所有节点发送一条请求传播消息;在接收来自其他节点的传播消息时,节点首先验证MAC认证...

【专利技术属性】
技术研发人员:原旭王国良黄笠煌陈志奎
申请(专利权)人:大连理工大学
类型:发明
国别省市:辽宁;21

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

1