CN112118321A - 一种工业区块链的实用拜占庭容错共识机制优化系统 - Google Patents
一种工业区块链的实用拜占庭容错共识机制优化系统 Download PDFInfo
- Publication number
- CN112118321A CN112118321A CN202011013343.3A CN202011013343A CN112118321A CN 112118321 A CN112118321 A CN 112118321A CN 202011013343 A CN202011013343 A CN 202011013343A CN 112118321 A CN112118321 A CN 112118321A
- Authority
- CN
- China
- Prior art keywords
- consensus
- node
- client
- request
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000007246 mechanism Effects 0.000 title claims abstract description 23
- 238000005457 optimization Methods 0.000 title claims abstract description 15
- 230000002787 reinforcement Effects 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 39
- 230000008569 process Effects 0.000 claims description 28
- 238000012216 screening Methods 0.000 claims description 25
- 230000000977 initiatory effect Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 238000012790 confirmation Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 8
- 238000002360 preparation method Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000006399 behavior Effects 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000011156 evaluation Methods 0.000 claims description 2
- 238000004806 packaging method and process Methods 0.000 claims description 2
- 238000007781 pre-processing Methods 0.000 claims description 2
- 238000012549 training Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 5
- 238000013461 design Methods 0.000 description 8
- 230000010076 replication Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种工业区块链的实用拜占庭容错共识机制优化系统,通过引入强化学习算法对区块链网络节点进行筛选,筛选出一批性能更高的节点,再改进节点共识规则,优化区块链网络共识时延、吞吐量等指标,从而实现工业互联网系统的大规模应用与持续发展,进一步防止数据篡改,保证数据安全,同时保证系统的可拓展性与吞吐量不受影响。
Description
技术领域
本发明属于互联网管理技术领域,尤其涉及一种工业区块链的实用拜占庭容错共识机制优化系统。
背景技术
工业互联网是互联网和新一代信息技术与工业系统全方位深度融合所形成的产业和应用生态,是工业智能化发展的关键综合信息基础设施,是面向制造业数字化、网络化、智能化需求,构建基于海量数据采集、汇聚、分析的服务体系,支撑制造资源泛在连接、弹性供给、高效配置的工业云网,是我国制造强国和网络强国建设的重要基础。工业互联网的核心是基于全面互联而形成数据驱动的智能,网络、数据、安全是工业互联网的三大重要特征,而如何保证工厂内网海量数据的安全流通是目前工业互联网领域亟需解决的问题。目前的工业信息化程度,无论是在安全防护性能,还是工厂内网部署的规模程度上,都还远远达不到工业互联网的发展需求。近年来,区块链技术作为一种新兴的数据安全技术,被广泛地用来解决上述问题。
区块链实际上是一种分布式计算和存储系统,具有防篡改、去中心化、多方参与等特点,其利用分布式共识算法生成和更新数据,利用密码学方式保证数据传输和存储的安全性。可以有效降低中心化结构产生的信任成本。区块链网络分两种类型,包括非许可链(permissionless blockchain)与许可链(permissioned blockchain)。在非许可链中,注册对任何人都是开放的,节点可以使用Nakamoto共识协议并在区块链网络(例如比特币)中一起动态频繁的加入和离开。所有参与者(矿工)都贡献自己的计算能力来完成任务,但只有提供算力最多的参与者才能提出区块并与其他人进行同步。因此,在非许可链需要消耗大量的资源和时间成本。在许可链网络中,通过颁发身份证书的方式指定成员加入网络并建立信任关系,且每个成员的参与权各有不同,形成一种部分去中心化、效率更高的半开放式的区块链网络。许可链多使用拜占庭容错(BFT)共识协议,通过状态机复制机制来解决被恶意节点攻击所产生的拜占庭错误,并成功达成正确的共识。经典的拜占庭共识协议包括实用拜占庭共识机制(PBFT)与Paxos协议,这些协议始终在部分受信任的环境中运行。因此,许可链的优点是低成本、低延迟,但规模相对较小。考虑到工业互联网应用的安全需求、管理需求、性能需求、可监管需求、大规模应用需求,工业互联网常采用许可链网络。
目前常用的许可链网络共识算法为实用拜占庭共识算法(PBFT)及其变种,多用于超级账本、以太坊等区块链开源项目,也被广泛应用于各类联盟链网络中。PBFT是一种状态机副本复制算法,即将服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。PBFT实现了一种具有确定性的副本复制服务,这个服务包含了一个状态和多个操作。每个状态机的副本都保存了服务的状态,同时也实现服务的操作。PBFT算法存在一个基本限制,即当存在f个失效节点时必须保证存在至少3f+1个副本数量,这样才能保证在异步系统中安全又稳定的运行。PBFT要求各副本共同维护一个状态,所有节点采取的行动一致。为此,需要运行三类基本协议,包括一致性协议、检查点协议和视图更换协议。我们主要关注支持系统日常运行的一致性协议。一致性协议至少包含若干个阶段:请求(request)、序号分配(pre-prepare)和响应(reply),一致性协议运行流程见图1。根据协议设计的不同,可能包含相互交互(prepare),序号确认(commit)等阶段。在区块链网络中,PBFT共识机制及其变种系列算法主要用于在复杂环境下实现较为快速的节点共识。需要指出的是,现阶段还没有完全适用于工业互联网领域的共识机制。
区块链解决了工业互联网数据流通过程中遇到的数据安全问题、数据集中化问题,以及在工业互联网发展过程中不断涌现的如商品溯源、智慧工厂等场景的数据流通问题。目前,联盟链在工业互联网中已经有了实际应用,并基本上沿用了原生的联盟链关键技术,但这并不能很好的适应工业互联网场景。本发明主要针对工业区块链共识机制展开研究,现有联盟链原生共识机制在工业互联网中主要存在如下缺点:
(1)联盟链原生共识机制的运行性能难以满足工业互联网系统的使用需要。PBFT系列共识机制在性能方面存在一定上限,且复杂度过高,可拓展性低。对于主流的许可链网络来说,在共识系统内达到20个左右的节点个数时,性能下降非常快,而工业互联网场景作为海量互联场景,接入的节点数量长期处于较高的水平,所以现有区块链网络不适用于工业互联网多接入、高并发、低时延场景的使用需求。
(2)联盟链原生共识系统对于网络环境要求高,在网络不稳定的情况下达成共识的时延会非常不稳定。而工业互联网场景下网络环境较为复杂,内网服务器与外网物联网设备网络情况差距较大,常规联盟链网络在这样的网络环境下共识时延会产生较大的波动,不利于实际使用。
发明内容
为了满足工业互联网系统安全需求、管理需求、性能需求、可监管需求、大规模应用需求,本发明设计了一种工业区块链的实用拜占庭容错共识机制优化系统。具体而言,本发明主要考虑了在工业互联网系统中应用区块链网络解决安全问题的场景下,如何保证系统的可拓展性、吞吐量、共识时延等性能指标,设计一种更加合理的共识方法及系统,通过引入强化学习算法对区块链网络节点进行筛选,筛选出一批性能更高的节点,再改进节点共识规则,优化区块链网络共识时延、吞吐量等指标,从而实现工业互联网系统的大规模应用与持续发展,进一步防止数据篡改,保证数据安全,同时保证系统的可拓展性与吞吐量不受影响。
附图说明
图1PBFT一致性协议运行流程;
图2工业区块链实用拜占庭容错共识优化架构组成及交互示意图;
图3功能模块设计;
图4节点筛选流程;
图5节点共识流程;
图6模块交互流程。
具体实施方式
本发明针对现有区块链系统在工业互联网应用场景下无法很好满足安全、可监管、性能、管理、大规模应用需求的问题进行改进,提出了一种在工业互联网环境下基于拜占庭机制的共识协议,其中区块链作为受信任的第三方来实现工业数据的安全传输与溯源。具体来说,本发明采用了许可链作为目标系统,由于许可链的吞吐量受BFT共识协议性能的限制,本发明共同考虑了区块链节点的信任特征以及区块链系统的计算能力,以进一步提高区块链的性能,如吞吐量、共识时延等。因此,本发明将节点筛选、通信时延与吞吐量化为联合优化问题,通过定义状态空间、动作空间和奖励函数,将此问题描述为马尔科夫决策过程,并使用深度强化学习方法来解决这一马尔科夫决策问题。
该系统共由三部分构成:工业区块链实用拜占庭容错共识优化架构、功能模块设计、系统运行流程。
1、工业区块链实用拜占庭容错共识优化架构
如图2所示,本共识架构主要包括客户端、发起节点、共识节点、候选节点,通过许可链实现各节点的授权管理、信任背书、记账存储等功能,通过强化学习方法实现对发起与共识节点的筛选。其中,发起节点负责与客户端交互,接收客户端共识请求内容,并将内容处理后发送给共识节点。共识节点接收发起节点信息,履行验证与共识功能,验证后将报文发回给客户端,并接收客户端确认指令,完成共识。候选节点与共识节点功能一致,作为共识节点的候选,等待被选中后执行共识节点职能。
具体来说,客户端与被选中的发起节点进行数据交互,发送共识请求内容与客户端签名,发起节点负责将请求报文加入自己维护的数据队列中并给定一个编号,再将请求报文发送给被筛选后的共识节点,共识节点接收到请求报文后根据本地信息进行验证,验证无误后将验证结果发送给客户端,客户端收集分析后再将确认报文发回给共识节点,共识节点接收到确认报文后完成共识记录。候选节点负责维护区块链网络,在每个共识周期结束后进行新一轮的筛选,每个周期都会根据各节点的相关数据如网络时延、可用于共识的计算资源、节点信用评分等筛选新一轮的共识节点。上述涉及到的发起节点选择和共识节点筛选将在3.1节点筛选部分进行详细介绍。
拜占庭环境来源于古老的拜占庭将军问题,区块链网络环境可以类比为经典的拜占庭环境,在网络中有运行正常的服务器(类似忠诚的拜占庭将军),有故障的服务器,还有破坏者的服务器(类似叛变的拜占庭将军)。拜占庭环境内共识算法的核心是在正常的节点间形成对网络状态的共识。通常,这些发生故障节点被称为拜占庭节点,而正常的节点即为非拜占庭节点。
拜占庭系统普遍采用的假设条件包括:
1)拜占庭节点的行为可以是任意的,拜占庭节点之间可以交换信息;
2)节点之间的错误是不相关的;
3)节点之间通过异步网络连接,网络中的消息可能丢失、乱序并延时到达,但大部分协议假设消息在有限的时间里能传达到目的地;
4)服务器之间传递的信息,第三方可以嗅探到,但是不能篡改、伪造信息的内容和验证信息的完整性。
原始的拜占庭容错系统由于需要展示其理论上的可行性而缺乏实用性。另外,还需要额外的时钟同步机制支持,算法的复杂度也是随节点增加而指数级增加。本发明所设计的共识机制也应用在拜占庭环境下,但采用的是仲裁机制而非状态机复制机制,因此在性能上与PBFT族算法有较大的不同。
当工业互联网节点规模扩大时,或网络环境变的较为复杂时,本架构同样会根据节点的各项属性进行择优选取,将工业互联网节点数量的指数级变化降为线性变化,不影响总体性能,因此可以满足工业互联网系统的安全需求、管理需求、大规模应用需求。
2、功能模块设计
如图3所示,本发明所设计的工业区块链实用拜占庭容错共识优化架构中包含四个功能模块,它们用于保证工业互联网内部数据的可信流通与高效处理。
请求处理模块(Request Processing Module,RPM)用于实现对工业互联网请求的预处理,即前文架构中的客户端,负责将请求打包进请求报文中并打上时间戳与数据签名,将其发送给共识记账模块。
节点筛选模块(Node Filter Module,NFM)用于根据节点的各项属性进行综合评判,选出下一周期的发起节点、共识节点,并维护一个所有节点的状态信息表。
区块链链运行模块(Blockchain Operation Module,BOM)用于发放许可链身份证书、获取全局的许可链信息、计算许可链优化决策等。
共识记账模块(Consensus Accounting Module,CAM)用于执行共识流程,记账模块内被选中的节点用于执行当前工作周期的共识任务,处理接收到的需求处理模块的数据请求,并在共识结束后将结果返回需求处理模块。
需要指出的是,这些功能模块使用软件的形式部署在通用设备中。
3、系统运行流程
本发明设计了基于上述架构和功能模块的系统运行流程,其中包括节点筛选、节点共识、模块交互。在系统运行流程中,许可链周期性的进行共识节点筛选,从候选节点列表中选择出下一周期的发起节点与共识节点,然后当前周期结束后,被选中的发起节点开始接收客户端请求,处理请求信息,并将信息发送给其余共识节点,进行共识记账流程。需要说明的是,节点筛选、共识记账、模块交互等模块互不影响,即在当前周期内,可以同时进行下一周期的节点筛选与当前周期的共识记账,以及模块间的信息交互。
3.1节点筛选
该发明架构下,系统需要维护一个深度强化学习网络与一个区块链网络节点的状态空间,根据节点状态进行训练用以优化节点筛选决策,并在每一个工作周期更新节点状态并筛选下一周期的共识节点,流程如图4所示。
(1)采集节点状态信息,包括<通信带宽,信用评分,可用于共识算法执行的计算资源,与其他节点的平均通信时延>等属性,抽象为马尔科夫状态空间。
(2)强化学习网络根据采集到的节点状态信息进行深度强化学习方法,在一段时间的训练后输出节点筛选决策
(3)每个工作周期开始时,节点筛选模块对状态空间数据进行更新,记录上一周期结束后的各节点可用通信带宽,最新信用评分,当前可用于共识算法执行的计算资源,以及与其他节点的平均通信时延
(4)根据上文训练好的节点筛选决策选出下一工作周期的共识节点与发起节点
3.2节点共识流程
本发明所采用的共识流程为基于仲裁的拜占庭副本。在没有争议、没有拜占庭故障时,为快速共识流程,共三步;出现拜占庭故障或争议时,运行慢速拜占庭协议,共5步。在无领导者情况下为保持一致,每个副本节点需维护一个实例表I[],以及依赖集D[]。其中D[I[L]]为请求L所依赖的请求实例号。具体流程如图5所示。
(1)客户端co向距离它最近的副本节点i发送请求m。
(2)副本节点i接收请求后为其按顺序分配实例号IL,并将其D[IL]分配为空.分配完成后,发送准备命令给节点组n中的其他副本。
(3)其他副本收到准备消息后根据本地依赖集进行验证,并将结果和一组更新的依赖集回复给客户端。当副本Rj收到副本Ri的准备消息时,它首先验证m为有效的REQUEST消息,并且IL=maxIRi+1。验证成功后,Rj根据其实例空间与依赖集更新D[IL],将命令放入执行队列中等待,并回复给客户端。
(4)当客户端收到3f+1个PREPARE消息时,进行验证。如果来自不同副本的消息具有相同的IL与Dt,则称他们匹配。若具有3f+1个匹配命令,则发送执行命令给所有副本进行执行。
(5)若收到的匹配响应不足3f+1个,则进入慢速拜占庭共识流程。如果副本对命令依赖项的看法不同,则客户端可能会收到不同的回复,这可能是由于争议或者拜占庭节点存在所导致。客户端c在发出请求后立即设置计时器,计时器到期时若收到了2f+1个准备请求,则会生成一个新的Dt(所有请求的合集)。C将确认命令发送到所有副本,用于执行仲裁流程。
(6)副本Ri作为命令负责人指定一组已知的2f+1个副本以形成仲裁组。
(7)副本收到COMMIT消息后将接收到的Dt更新入自己的实力空间,并将之前的预执行结果删除,重新根据新的顺序进行执行。最终执行结果rep通过仲裁信息返回客户端。客户端在收到2f+1个返回消息后将执行结果返回到应用程序,流程完成。
3.3模块交互流程
在本发明的架构中,各模块需要频繁的进行交互,才能实现节点筛选与共识记账功能,其工作流程如图6所示。
该流程应用于系统运行过程中各模块之间交互的场景。客户端产生请求后,RPM对请求进行处理,将处理后的报文发送给CAM,而CAM将根据现在的节点状态进行共识,共识结束后将结果返回给RPM,RPM再将处理结果返回给客户端。而CAM中的节点状态由NFM决定,NFM将下一周期的节点选取决策输出给BOM,BOM更新区块链网络内节点配置,并将更新好的配置发送给CAM,由CAM进行共识操作具体消息流程如下:
(1)客户端向RPM发送共识请求。
(2)RPM将请求进行处理后打包成报文,发送至CAM
(3)NFM定期进行更新,并将当前最优的决策输送给BOM
(4)BOM接收NFM的决策后更新区块链配置,并将更新后的配置发给CAM
(5)CAM将共识结果返回给RPM
(6)RPM将共识结果进行处理后,将处理结果返回给客户端
本发明的有益效果:
1.本发明根据工业互联网系统数据安全流通的应用场景,提出了一种工业区块链共识机制优化方法。其特征在于,将共识流程分为两部分,先通过深度强化学习方法训练出节点筛选策略,再根据节点筛选策略在每个周期开始时选出参与下一工作周期的共识节点,由这些共识节点进行共识,使其满足工业互联网系统数据流通的安全需求、可监管需求、管理需求、性能需求、大规模应用需求。
2.本发明提出了基于上述架构的区块链系统共识机制模块设计。通过请求处理模块实现与工业互联网系统的相互通信,并将数据报文加密发至共识记账模块,共识记账模块采用节点筛选模块训练出的策略进行共识。
3.本发明提出了基于工业区块链实用拜占庭容错共识优化架构的节点筛选、共识记账、模块交互流程。
Claims (3)
1.一种工业区块链的实用拜占庭容错共识机制优化系统,其特征在于,包括:共识架构、请求处理模块、节点筛选模块、区块链运行模块、共识记账模块,所述本共识架构包含客户端、发起节点、共识节点、候选节点;其中,所述系统运行流程包括:
步骤1、节点筛选
(1)采集节点状态信息,包括<通信带宽,信用评分,可用于共识算法执行的计算资源,与其他节点的平均通信时延>等属性,抽象为马尔科夫状态空间;
(2)强化学习网络根据采集到的节点状态信息进行深度强化学习方法,在一段时间的训练后输出节点筛选决策;
(3)每个工作周期开始时,节点筛选模块对状态空间数据进行更新,记录上一周期结束后的各节点可用通信带宽,最新信用评分,当前可用于共识算法执行的计算资源,以及与其他节点的平均通信时延;
(4)根据上文训练好的节点筛选决策选出下一工作周期的共识节点与发起节点;
步骤2、节点共识
(1)客户端co向距离它最近的副本节点i发送请求m;
(2)副本节点i接收请求后为其按顺序分配实例号IL,并将其D[IL]分配为空.分配完成后,发送准备命令给节点组n中的其他副本;
(3)其他副本收到准备消息后根据本地依赖集进行验证,并将结果和一组更新的依赖集回复给客户端;当副本Rj收到副本Ri的准备消息时,它首先验证m为有效的REQUEST消息,并且IL=maxIRi+1;验证成功后,Rj根据其实例空间与依赖集更新D[IL],将命令放入执行队列中等待,并回复给客户端;
(4)当客户端收到3f+1个PREPARE消息时,进行验证;如果来自不同副本的消息具有相同的IL与Dt,则称他们匹配。若具有3f+1个匹配命令,则发送执行命令给所有副本进行执行;
(5)若收到的匹配响应不足3f+1个,则进入慢速拜占庭共识流程;如果副本对命令依赖项的看法不同,则客户端可能会收到不同的回复;客户端c在发出请求后立即设置计时器,计时器到期时若收到了2f+1个准备请求,则会生成一个新的Dt;C将确认命令发送到所有副本,用于执行仲裁流程;
(6)副本Ri作为命令负责人指定一组已知的2f+1个副本以形成仲裁组;
(7)副本收到COMMIT消息后将接收到的Dt更新入自己的实力空间,并将之前的预执行结果删除,重新根据新的顺序进行执行;最终执行结果rep通过仲裁信息返回客户端。客户端在收到2f+1个返回消息后将执行结果返回到应用程序,流程完成。
步骤3、模块交互
(1)客户端向RPM发送共识请求;
(2)RPM将请求进行处理后打包成报文,发送至CAM;
(3)NFM定期进行更新,并将当前最优的决策输送给BOM;
(4)BOM接收NFM的决策后更新区块链配置,并将更新后的配置发给CAM;
(5)CAM将共识结果返回给RPM;
(6)RPM将共识结果进行处理后,将处理结果返回给客户端。
2.如权利要求1所述的工业区块链的实用拜占庭容错共识机制优化系统,其特征在于,发起节点负责与客户端交互,接收客户端共识请求内容,并将内容处理后发送给共识节点;共识节点接收发起节点信息,履行验证与共识功能,验证后将报文发回给客户端,并接收客户端确认指令,完成共识;候选节点与共识节点功能一致,作为共识节点的候选,等待被选中后执行共识节点职能;其中,
客户端与被选中的发起节点进行数据交互,发送共识请求内容与客户端签名,发起节点负责将请求报文加入自己维护的数据队列中并给定一个编号,再将请求报文发送给被筛选后的共识节点,共识节点接收到请求报文后根据本地信息进行验证,验证无误后将验证结果发送给客户端,客户端收集分析后再将确认报文发回给共识节点,共识节点接收到确认报文后完成共识记录;候选节点负责维护区块链网络,在每个共识周期结束后进行新一轮的筛选,每个周期都会根据各节点的相关数据如网络时延、可用于共识的计算资源、节点信用评分筛选新一轮的共识节点;
所述区块链网络环境可以类比为经典的拜占庭环境,在网络中有运行正常的服务器,其类似忠诚的拜占庭将军,有故障的服务器、破坏者的服务器,其类似叛变的拜占庭将军;拜占庭环境内共识算法的核心是在正常的节点间形成对网络状态的共识;所述发生故障节点被称为拜占庭节点,而正常的节点即为非拜占庭节点;
所述拜占庭系统普遍采用的假设条件包括:
1)拜占庭节点的行为可以是任意的,拜占庭节点之间可以交换信息;
2)节点之间的错误是不相关的;
3)节点之间通过异步网络连接,网络中的消息可能丢失、乱序并延时到达,但大部分协议假设消息在有限的时间里能传达到目的地;
4)服务器之间传递的信息,第三方可以嗅探到,但是不能篡改、伪造信息的内容和验证信息的完整性。
3.如权利要求1所述的工业区块链的实用拜占庭容错共识机制优化系统,其特征在于,
请求处理模块(Request Processing Module,RPM),用于实现对工业互联网请求的预处理,即前文架构中的客户端,负责将请求打包进请求报文中并打上时间戳与数据签名,将其发送给共识记账模块;
节点筛选模块(Node Filter Module,NFM),用于根据节点的各项属性进行综合评判,选出下一周期的发起节点、共识节点,并维护一个所有节点的状态信息表;
区块链链运行模块(Blockchain Operation Module,BOM),用于发放许可链身份证书、获取全局的许可链信息、计算许可链优化决策;
共识记账模块(Consensus Accounting Module,CAM),用于执行共识流程,记账模块内被选中的节点用于执行当前工作周期的共识任务,处理接收到的需求处理模块的数据请求,并在共识结束后将结果返回需求处理模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011013343.3A CN112118321B (zh) | 2020-09-24 | 2020-09-24 | 一种工业区块链的实用拜占庭容错共识机制优化系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011013343.3A CN112118321B (zh) | 2020-09-24 | 2020-09-24 | 一种工业区块链的实用拜占庭容错共识机制优化系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112118321A true CN112118321A (zh) | 2020-12-22 |
CN112118321B CN112118321B (zh) | 2023-06-06 |
Family
ID=73800556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011013343.3A Active CN112118321B (zh) | 2020-09-24 | 2020-09-24 | 一种工业区块链的实用拜占庭容错共识机制优化系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112118321B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112671808A (zh) * | 2021-03-16 | 2021-04-16 | 北京顺谋科技有限公司 | 互联网数据传输防篡改哨兵系统及互联网数据传输系统 |
CN113269630A (zh) * | 2021-07-06 | 2021-08-17 | 贵州大学 | 一种用于联盟区块链的实用拜占庭容错算法改进方案 |
CN113486118A (zh) * | 2021-07-21 | 2021-10-08 | 银清科技有限公司 | 共识节点选取方法及装置 |
CN113922965A (zh) * | 2021-10-09 | 2022-01-11 | 筹远(上海)信息科技有限公司 | 一种拜占庭场景下的区块链数据共识方法及装置 |
CN113923146A (zh) * | 2021-10-11 | 2022-01-11 | 南京邮电大学 | 一种可视化区块链共识算法性能测试方法 |
CN114124579A (zh) * | 2022-01-26 | 2022-03-01 | 北京航空航天大学 | 一种基于以太坊抵御工业互联网中拜占庭攻击的方法 |
CN114499874A (zh) * | 2021-12-29 | 2022-05-13 | 重庆邮电大学 | 一种应用于工业互联网的拜占庭容错共识优化方法 |
CN114531248A (zh) * | 2022-04-24 | 2022-05-24 | 国网浙江省电力有限公司电力科学研究院 | 区块链与5g融合的分布式能源系统去中心控制方法及系统 |
CN115378788A (zh) * | 2022-08-22 | 2022-11-22 | 天津大学 | 基于分层共识和强化学习的区块链性能自适应优化方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100017644A1 (en) * | 2008-07-21 | 2010-01-21 | International Business Machines Corporation | Byzantine fault tolerant dynamic quorum using a trusted platform module |
CN109246194A (zh) * | 2018-08-13 | 2019-01-18 | 佛山市顺德区中山大学研究院 | 基于多领导节点的实用拜占庭容错区块链共识方法及系统 |
CN109347804A (zh) * | 2018-09-19 | 2019-02-15 | 电子科技大学 | 一种用于区块链的拜占庭容错共识优化方法 |
US20190251077A1 (en) * | 2018-11-07 | 2019-08-15 | Alibaba Group Holding Limited | Facilitating practical byzantine fault tolerance blockchain consensus and node synchronization |
CN110677485A (zh) * | 2019-09-30 | 2020-01-10 | 大连理工大学 | 一种基于信用的动态分层拜占庭容错共识方法 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
-
2020
- 2020-09-24 CN CN202011013343.3A patent/CN112118321B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100017644A1 (en) * | 2008-07-21 | 2010-01-21 | International Business Machines Corporation | Byzantine fault tolerant dynamic quorum using a trusted platform module |
CN109246194A (zh) * | 2018-08-13 | 2019-01-18 | 佛山市顺德区中山大学研究院 | 基于多领导节点的实用拜占庭容错区块链共识方法及系统 |
CN109347804A (zh) * | 2018-09-19 | 2019-02-15 | 电子科技大学 | 一种用于区块链的拜占庭容错共识优化方法 |
US20190251077A1 (en) * | 2018-11-07 | 2019-08-15 | Alibaba Group Holding Limited | Facilitating practical byzantine fault tolerance blockchain consensus and node synchronization |
CN110677485A (zh) * | 2019-09-30 | 2020-01-10 | 大连理工大学 | 一种基于信用的动态分层拜占庭容错共识方法 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
Non-Patent Citations (3)
Title |
---|
M. STENBERG等: "Distributed Node Consensus Protocol draft-ietf-homenet-dncp-09", 《IETF 》 * |
郭春梅等: "一种改进的区块链共识算法", 《计算机与数字工程》 * |
韩镇阳等: "一种区块链实用拜占庭容错算法的改进", 《计算机应用与软件》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112671808A (zh) * | 2021-03-16 | 2021-04-16 | 北京顺谋科技有限公司 | 互联网数据传输防篡改哨兵系统及互联网数据传输系统 |
CN113269630A (zh) * | 2021-07-06 | 2021-08-17 | 贵州大学 | 一种用于联盟区块链的实用拜占庭容错算法改进方案 |
CN113486118B (zh) * | 2021-07-21 | 2023-09-22 | 银清科技有限公司 | 共识节点选取方法及装置 |
CN113486118A (zh) * | 2021-07-21 | 2021-10-08 | 银清科技有限公司 | 共识节点选取方法及装置 |
CN113922965A (zh) * | 2021-10-09 | 2022-01-11 | 筹远(上海)信息科技有限公司 | 一种拜占庭场景下的区块链数据共识方法及装置 |
CN113922965B (zh) * | 2021-10-09 | 2024-04-16 | 筹远(上海)信息科技有限公司 | 一种拜占庭场景下的区块链数据共识方法及装置 |
CN113923146A (zh) * | 2021-10-11 | 2022-01-11 | 南京邮电大学 | 一种可视化区块链共识算法性能测试方法 |
CN113923146B (zh) * | 2021-10-11 | 2024-05-03 | 南京邮电大学 | 一种可视化区块链共识算法性能测试方法 |
CN114499874B (zh) * | 2021-12-29 | 2023-10-31 | 重庆邮电大学 | 一种应用于工业互联网的拜占庭容错共识优化方法 |
CN114499874A (zh) * | 2021-12-29 | 2022-05-13 | 重庆邮电大学 | 一种应用于工业互联网的拜占庭容错共识优化方法 |
CN114124579B (zh) * | 2022-01-26 | 2022-04-12 | 北京航空航天大学 | 一种基于以太坊抵御工业互联网中拜占庭攻击的方法 |
CN114124579A (zh) * | 2022-01-26 | 2022-03-01 | 北京航空航天大学 | 一种基于以太坊抵御工业互联网中拜占庭攻击的方法 |
CN114531248B (zh) * | 2022-04-24 | 2022-07-05 | 国网浙江省电力有限公司电力科学研究院 | 区块链与5g融合的分布式能源系统去中心控制方法及系统 |
CN114531248A (zh) * | 2022-04-24 | 2022-05-24 | 国网浙江省电力有限公司电力科学研究院 | 区块链与5g融合的分布式能源系统去中心控制方法及系统 |
CN115378788A (zh) * | 2022-08-22 | 2022-11-22 | 天津大学 | 基于分层共识和强化学习的区块链性能自适应优化方法 |
CN115378788B (zh) * | 2022-08-22 | 2023-11-10 | 天津大学 | 基于分层共识和强化学习的区块链性能自适应优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112118321B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112118321A (zh) | 一种工业区块链的实用拜占庭容错共识机制优化系统 | |
CN110784346B (zh) | 一种基于信誉值的pbft共识系统及方法 | |
Kobo et al. | Fragmentation-based distributed control system for software-defined wireless sensor networks | |
Vromant et al. | On interacting control loops in self-adaptive systems | |
Fujimoto | Distributed simulation systems | |
CN111092896B (zh) | 基于优化paxos的食品溯源分布式数据同步方法 | |
Hu et al. | CRSM: An effective blockchain consensus resource slicing model for real-time distributed energy trading | |
KR102377841B1 (ko) | 서비스 존 기반의 계층적 합의 방법 및 장치 | |
Müller et al. | Tangle 2.0 leaderless nakamoto consensus on the heaviest dag | |
CN113141414B (zh) | 一种cnfs协议中区块链节点的分组多链异步共识方法 | |
CN111400112A (zh) | 分布式集群的存储系统的写入方法、装置及可读存储介质 | |
CN111241589A (zh) | 一种数据库系统、节点和方法 | |
Kim et al. | Improved raft algorithm exploiting federated learning for private blockchain performance enhancement | |
CN114493865A (zh) | 基于区块链的去中心化互联网协同系统和数据交互方法 | |
CN111241590A (zh) | 一种数据库系统、节点和方法 | |
Liu et al. | P-PBFT: An improved blockchain algorithm to support large-scale pharmaceutical traceability | |
CN111798234B (zh) | 一种轻量级区块链系统及构造方法 | |
Tian et al. | A byzantine fault-tolerant raft algorithm combined with Schnorr signature | |
Wels | Guaranteed-TX: The exploration of a guaranteed cross-shard transaction execution protocol for Ethereum 2.0. | |
CN103491161B (zh) | 交互云应用中ast部分复制和同步方法 | |
CN110166364B (zh) | 一种软件定义机会网络流表更新方法 | |
Pawlaszczyk et al. | A hybrid time management approach to agent-based simulation | |
Lei et al. | Improved Method of Blockchain Cross‐Chain Consensus Algorithm Based on Weighted PBFT | |
Chen et al. | Thinkey: A scalable blockchain architecture | |
Jacobi et al. | A RESTful messaging system for asynchronous distributed processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |