当前位置: 首页 > 专利查询>武汉大学专利>正文

一种供应链溯源场景下拜占庭容错共识方法及系统技术方案

技术编号:39670897 阅读:11 留言:0更新日期:2023-12-11 18:36
本发明专利技术公开了一种供应链溯源场景下拜占庭容错共识方法及系统,方法包含主节点选取规则

【技术实现步骤摘要】
一种供应链溯源场景下拜占庭容错共识方法及系统


[0001]本专利技术属于信息安全
,涉及一种拜占庭容错共识方法及系统,具体设计一种在供应链溯源场景下的拜占庭容错共识改进方法及系统


技术介绍

[0002]供应链是指商品生产

运输及销售过程中所涉及到的原料供应商

加工商

物流商

经销商

零售商等成员组成的网链结构

而供应链溯源,就是利用现代信息技术手段对商品从原材料采购一直到消费者购买之间的全部供应链数据进行记录,使商品的所有流通环节都处于监控之中

供应链溯源系统能够帮助消费者便捷地获取到商品的生产运输信息,也有助于改善相关监管机构的监管效率,及时追溯到责任人

[0003]区块链并不是一种单一技术,而是集
P2P
网络通信

分布式账本

密码学

共识算法

智能合约等多种技术于一身的组合体

正是由于上述技术,区块链天生就具有“不可伪造”、“可追溯”、“去中心化”等特性,解决了供应链溯源场景中由来已久的信任难题

区块链可在供应链溯源场景下提供公开透明的数据记录,使恶意攻击者难以篡改;帮助消费者和监管机构获取到商品的全部流通数据,以及时进行责任追溯;实现多企业无信任共识,企业之间可相互协作和监督

[0004]作为区块链的最核心组件,共识算法深刻影响着区块链的适用场景

供应链溯源属于典型的联盟区块链应用范畴之一,需要使用不依赖代币机制而又支持拜占庭容错的共识算法

适合于公有链的
PoW
算法
、PoS
算法依赖代币机制鼓励竞争而消耗了大量算力;适合于私有链的
Raft
算法又不支持拜占庭容错,因此上述算法均无法应用到联盟链中
。PBFT
算法作为一种共识效率较高且支持拜占庭容错的共识算法,无疑成为联盟链的最佳选择
。PBFT
算法最早被用于解决传统分布式系统中的一致性问题,它将原有拜占庭容错算法的通信复杂度从指数级别优化到了多项式级别并且拜占庭节点容错率能达到节点总数的三分之一,基本满足了常见场景中对效率和容错性的要求

[0005]然而,
PBFT
算法却不能完全适配于供应链溯源场景

与其他常见的联盟链场景不同,供应链溯源场景下具有参与成员复杂

流动性强

规模大以及跨地域广等特点

由于上述特点,现有的
PBFT
算法在供应链溯源场景下会存在主节点有序选取

网络动态性差

协议机制粗糙以及通信复杂度过高等缺点,因此无法直接迁移
PBFT
算法作为供应链溯源区块链的共识机制,需要对该算法的主节点选取规则

网络动态性

协议机制等进行针对性的改进

本方案在深入分析供应链溯源场景下
PBFT
算法缺点的基础上,从多个角度对
PBFT
算法进行针对性改进,使改进后的
PBFT
算法能够更加适用于供应链溯源场景


技术实现思路

[0006]鉴于以上提及的原有的实用拜占庭容错算法的弊端,以及在供应链场景下进行商品信息溯源的安全及性能需求,本专利技术基于现有的
PBFT
算法,提供了一种在供应链溯源场景下兼具随机性

动态性和高效性的拜占庭容错共识方法及系统

[0007]本专利技术的方法所采用的技术方案是:一种供应链溯源场景下拜占庭容错共识方法,构建主节点选取规则,包括构造哈希空间规则

网络配置表中的节点映射规则

前一区块哈希值映射规则和哈希位置映射规则,实现主节点的随机公平选取;
[0008]所述构造哈希空间规则,以一致性哈希算法的环状哈希空间为基础,使用和
IPv4
地址相同的哈希空间大小,选取0~232
的哈希位置构成一个哈希空间,顺时针依次递增,其中0和232
为重合位置;
[0009]所述网络配置表中的节点映射规则,选用节点的
IPv4
地址作为节点的唯一标识信息,并选取固定的映射公式将网络配置表
NCT
中的所有节点依次映射到所述环状哈希空间中的某个位置上;
[0010]所述前一区块哈希值映射规则,选取与所述网络配置表中的节点映射规则中相同的映射公式将前一区块哈希值映射到所述环状哈希空间中的某个位置上;
[0011]所述哈希位置映射规则,在网络配置表中记录每个节点的主节点当选次数,首先计算出各节点平均当选次数,然后从前一区块哈希值映射位置开始寻找小于等于平均当选次数的下一个顺时针临近位置的对应节点即为主节点

[0012]作为优选,所述网络配置表
NCT
,记录所有已加入网络的节点信息;每行表示一个副本节点,包含
IP、PK、State、Time、Note
字段;其中,
IP、PK
两个字段分别表示节点的
IP
地址和公钥,
State
字段表示该节点当前状态,
Time
字段表示当前节点已当选为主节点的次数;
Note
字段表示备注信息,用于记录节点加入

掉线

状态更新以及被惩罚的时间

[0013]作为优选,构建节点动态进出网络规则,通过新增网络配置表
NCT
和配置变更交易
CMT
,实现网络的动态性;
[0014]具体实现包括以下步骤:
[0015]步骤1:某个需要加入网络的节点
A
生成公私钥,将自己的
IP
地址

公钥信息发送给
CA
认证机构;
CA
认证机构评估节点的合法性,通过验证后,返回给节点
A
一份认证通过的证书;
[0016]步骤2:节点
A
首先向配置变更智能合约发送节点加入
/
退出请求,配置变更智能合约产生配置变更交易
CMT
,经过一致性协议达成全网共识;
[0017]步骤3:其他节点检查配置变更交易
CMT
的合法性并执行,其他节点向节点
A
返回配置变更交易
CMT
的执行结果,节点
A
依据执行结果判断是否可以加入
/
退出本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种供应链溯源场景下拜占庭容错共识方法,其特征在于:构建主节点选取规则,包括构造哈希空间规则

网络配置表中的节点映射规则

前一区块哈希值映射规则和哈希位置映射规则,实现主节点的随机公平选取;所述构造哈希空间规则,以一致性哈希算法的环状哈希空间为基础,使用和
IPv4
地址相同的哈希空间大小,选取0~232
的哈希位置构成一个哈希空间,顺时针依次递增,其中0和232
为重合位置;所述网络配置表中的节点映射规则,选用节点的
IPv4
地址作为节点的唯一标识信息,并选取固定的映射公式将网络配置表
NCT
中的所有节点依次映射到所述环状哈希空间中的某个位置上;所述前一区块哈希值映射规则,选取与所述网络配置表中的节点映射规则中相同的映射公式将前一区块哈希值映射到所述环状哈希空间中的某个位置上;所述哈希位置映射规则,在网络配置表中记录每个节点的主节点当选次数,首先计算出各节点平均当选次数,然后从前一区块哈希值映射位置开始寻找小于等于平均当选次数的下一个顺时针临近位置的对应节点即为主节点
。2.
根据权利要求1所述的供应链溯源场景下拜占庭容错共识方法,其特征在于:所述网络配置表
NCT
,记录所有已加入网络的节点信息;每行表示一个副本节点,包含
IP、PK、State、Time、Note
字段;其中,
IP、PK
两个字段分别表示节点的
IP
地址和公钥,
State
字段表示该节点当前状态,
Time
字段表示当前节点已当选为主节点的次数;
Note
字段表示备注信息,用于记录节点加入

掉线

状态更新以及被惩罚的时间
。3.
根据权利要求1所述的供应链溯源场景下拜占庭容错共识方法,其特征在于:构建节点动态进出网络规则,通过新增网络配置表
NCT
和配置变更交易
CMT
,实现网络的动态性;具体实现包括以下步骤:步骤1:某个需要加入网络的节点
A
生成公私钥,将自己的
IP
地址

公钥信息发送给
CA
认证机构;
CA
认证机构评估节点的合法性,通过验证后,返回给节点
A
一份认证通过的证书;步骤2:节点
A
首先向配置变更智能合约发送节点加入
/
退出请求,配置变更智能合约产生配置变更交易
CMT
,经过一致性协议达成全网共识;步骤3:其他节点检查配置变更交易
CMT
的合法性并执行,其他节点向节点
A
返回配置变更交易
CMT
的执行结果,节点
A
依据执行结果判断是否可以加入
/
退出网络;新加入网络的节点向其他节点发起状态同步协议以拉取当前区块链网络中的最新状态;退出网络的节点向
CA
认证机构请求撤销证书
。4.
根据权利要求3所述的供应链溯源场景下拜占庭容错共识方法,其特征在于:步骤2的具体实现包括以下子步骤:步骤
2.1
:节点
A
首先向配置变更智能合约发送
NCT

UPDATE
消息,表明自己想加入
/
退出网络,其中包含当前节点的状态信息;步骤
2.2
:当配置变更智能合约接收到
NCT

UPDATE
消息后,核对节点身份并产生一笔配置变更交易请求
REQUEST
;步骤
2.3
:配置变更交易请求
REQUEST
产生后暂时缓存到交易池中,等待主节点将其打包到区块中,然后经过一致性协议达成全网共识
。5.
根据权利要求1‑4任意一项所述的供应链溯源场景下拜占庭容错共识方法,其特征
在于:利用周期性视图轮换协议

异常性视图更换协议

状态同步协议以及一致性协议,对原有的协议机制进行了深度优化;所述周期性视图轮换协议,用于正常情况下主节点的定期更换;所述异常性视图更换协议,用于异常情况下主节点的替换;所述状态同步协议,用于落后节点从网络中拉取最新状态;所述一致性协议,用于所有节点对候选区块达成共
。6.
根据权利要求5所述的供应链溯源场景下拜占庭容错共识方法,其特征在于:所述周期性视图轮换协议,在新区块产生后,所有节点自动计算出新主节点,并向其他节点发送视图更换消息
VIEW

CHANGE
;当新主节点接收到超过额定个数的
VIEW

CHANGE
消息后检查并更新本地状态,同时新主节点更新自身的视图编号并向其他节点广播新视图消息
NEW

VIEW
;当某个节点接收到
NEW

VI...

【专利技术属性】
技术研发人员:陈晶何琨杜瑞颖王超粟栗吴鸿伟吴云坤陈华平纪胜龙
申请(专利权)人:武汉大学
类型:发明
国别省市:

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

1