CN112860807B - 一种适用于无线区块链网络的容错共识方法 - Google Patents
一种适用于无线区块链网络的容错共识方法 Download PDFInfo
- Publication number
- CN112860807B CN112860807B CN202110375424.6A CN202110375424A CN112860807B CN 112860807 B CN112860807 B CN 112860807B CN 202110375424 A CN202110375424 A CN 202110375424A CN 112860807 B CN112860807 B CN 112860807B
- Authority
- CN
- China
- Prior art keywords
- nodes
- miner
- block chain
- leader
- stage
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种适用于无线区块链网络的容错共识方法,包括以下步骤:领导选举阶段:在无线区块链网络中选举出一个leader矿工节点;区块提议和验证阶段:由上一阶段产生的leader矿工节点提出和广播新区块并对其进行记录,其他矿工节点也对新区块进行记录,直到记录了多于故障节点数量的相同的区块,则进入下一阶段,否则,返回上一阶段;区块链更新阶段:所有正常工作的矿工节点更新本地区块链,达成共识。该方法可在矿工节点间传输信息不确定,传输信道不稳定且存在故障节点的情况下,通过物理载波侦听和设置节点间传输规则的方法,使得无线区块链网络中所有正常工作的节点在有效的运行轮数内达成共识,且在一定程度上避免了区块链网络中的分叉问题。
Description
技术领域
本发明属于分布式网络技术领域,特别涉及一种适用于无线区块链网络中的容错共识方法。
背景技术
在过去的十年中,区块链系统发展迅速,引起了研究界和工业界的极大的兴趣。区块链本质上是一个分布式数据库系统,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性和生成下一个区块。区块链可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和交易。除了作为公开密码货币的核心机制外,区块链还可以应用于金融、公共服务物流和物联网等多个领域。
共识机制是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识。共识机制是维护分布式账本去中心化的重要机制,是保持区块链安全稳定运行的核心。共识算法就是用于实现共识机制的方法。然而区块链系统想要在无线网络环境中达成共识存在着以下挑战:其一是轻型移动设备存储和计算能力有限,难以解决无线区块链网络中的工作量证明的难题;其二是由于多设备可以访问相同的无线信道,节点之间的传输相互影响。无线网络中的消息传输的不确定性和信道的不稳定性导致在无线网络中难以达成共识环境;其三是在现实生活中,设备可能因不明原因发生故障,从而导致其不工作或发送错误消息,这是难以避免的,同时也使得区块链网络中共识的实现变得更加困难。
目前,大部分针对无线区块链网络共识的研究关注的都是如何在设备上实现工作量证明计算或者是如何取代工作量证明计算,没有充分考虑无线网络的特性。在当前已有的技术中,还没有在同时考虑无矿工节点之间传输信息的成功率不确定,信道不稳定且存在故障的矿工节点的情况下,使无线区块链网络中所有正常工作的节点达成共识的方法。
发明内容
为了解决上述技术问题,本发明提供了一种适用于无线区块链网络中的容错共识方法,在区块链网络中传输信道不稳定且存在一定数量故障节点的情况下,利用无线信道底层特性和技术,使得整个网络中正常节点之间达成共识。
为达到上述目的,本发明的技术方案如下:
一种适用于无线区块链网络中的容错共识方法,包括以下步骤:
(1)领导选举阶段:通过对信道进行物理载波侦听,在O(logn)轮之后,在无线区块链网络中选举出一个leader矿工节点;
(2)区块提议和验证阶段:由上一阶段产生的leader矿工节点提出和广播新区块B并对其进行记录,其他矿工节点也对新区块B进行记录,直到网络中正常节点均记录了f+1个相同的新区块B,f为网络中至多存在的故障节点数,则进入下一阶段,否则其他没有当选为leader的矿工节点返回领导选举阶段再次参与领导选举;
(3)区块链更新阶段:所有矿工节点根据记录的区块的情况更新本地区块链,达成共识。
上述方案中,步骤(1)具体如下:
(1.1)无线区块链网络中所有矿工节点的状态值State初始值设为candidate,验证参数为C和运行轮数计数器的初始值为0,矿工节点每从头开始执行一次该方法称为一轮;在每一轮,所有状态值为candidate的矿工节点以一定的概率发送非编码信息M;
(1.2)在每一轮,没有发送信息的状态值为candidate的矿工节点会侦听信道,如果侦听到信道中有矿工节点在传输信息,则将自己的状态值设置为silent,并且在后续轮数内不会改变其状态值,直至重新参与领导选举;
(1.3)当前轮若只有一个状态值为candidate的矿工节点,则该矿工节点当选为leader,随后进入下一阶段,否则本轮结束,进入下一轮,即所有状态值为candidate的矿工节点再次参与领导选举;在经过O(logn)轮之后,在无线区块链网络中的所有矿工节点中选出一个节点其状态值为leader。
上述方案中,步骤(2)具体如下:
(2.1)在当前轮,每次成为leader的矿工节点将产生新区块B,记录该区块并将该区块广播至整个网络中;
(2.2)无线区块链网络中其他矿工节点将收到新区块B,并对新区块B进行记录;
(2.3)在当前轮,如果相同的新区块B被记录了f+1次,f为网络中至多存在的故障节点数,则节点将验证值C设置为1,进入下一阶段,否则所有状态为silent的矿工节点将状态值重新设置为candidate,进入下一轮,即返回领导选举阶段重新参与领导选举。
上述方案中,步骤(3)具体如下:
(3.1)如果矿工节点的验证值C是1,则将被记录了f+1次的新区块B写入自己的本地区块链中;
(3.2)无线区块链网络中的所有矿工节点将其状态值State、验证参数C和运行轮数计数器重新设置为初始值。
通过上述技术方案,本发明提供的一种适用于无线区块链网络中的容错共识方法,与现有技术方案相比,具体具有以下技术特征及效果:
(1)本发明考虑了无线区块链网络中,存在故障节点的情况,即设备可能因不明原因发生故障导致其不工作或者发送错误消息。通过设置传输规则,利用一种类似投票的机制,使得只有由网络中正常工作的节点生成的有效的区块才能被节点写入其本地区块链中。这将使本发明的方法更加适用实际的无线区块链网络,更有利于应用于现实中。
(2)本发明中leader矿工节点会主动记录网络中当前时间隔所有发生的交易,因此所有正常的leader矿工节点都会提出并广播一个相同的块,这样就可以保证了只有正常的leader 矿工节点所提出的区块才会被写入区块链中,进而保证了区块链网络中的账本的唯一性,同时也避免了区块链中难以解决的分叉问题,既节省了节点资源又提高了共识效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中需要使用的附图做简单的介绍。
图1为本发明实施例所公开的一种适用于无线区块链网络中的容错共识方法的阶段示意图;
图2为本发明实施例所公开的一种适用于无线区块链网络中的容错共识方法的具体流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清晰、完整地描述。
本发明提供了一种适用于无线区块链网络中的容错共识方法,如图1所示,该方法可以在矿工节点之间传输信息的成功率不确定,传输信道不稳定且存在不超过f个矿工节点因不明原因发生故障导致不工作或发送错误消息的情况下,利用物理载波侦听和设置节点间的传输规则等方法,使无线区块链网络中所有无故障的节点在有效的运行轮数内达成共识,且在一定程度上避免了区块链网络中的分叉问题。
如图2所示,具体实施例如下:
一种适用于无线区块链网络中的容错共识方法,包括以下步骤:
(1)领导选举阶段:
(1.1)无线区块链网络中所有矿工节点的状态值State初始值设为candidate,验证参数为C和运行轮数计数器的初始值为0,矿工节点每从头开始执行一次该方法称为一轮;在每一轮,所有状态值为candidate的矿工节点以一定的概率发送非编码信息M;
(1.2)在每一轮,没有发送信息的状态值为candidate的矿工节点会侦听信道,如果侦听到信道中有矿工节点在传输信息,则将自己的状态值设置为silent,并且在后续轮数内不会改变其状态值,直至重新参与领导选举;
(1.3)当前轮若只有一个状态值为candidate的矿工节点,则该矿工节点当选为leader,随后进入下一阶段,否则本轮结束,进入下一轮,即所有状态值为candidate的矿工节点再次参与领导选举;在经过O(logn)轮之后,在无线区块链网络中的所有矿工节点中选出一个节点其状态值为leader。
(2)区块提议和验证阶段:
(2.1)在当前轮,每次成为leader的矿工节点将产生新区块B,记录该区块并将该区块广播至整个网络中;
(2.2)无线区块链网络中其他矿工节点将收到新区块B,并对新区块B进行记录;
(2.3)在当前轮,如果相同的新区块B被记录了f+1次,f为网络中至多存在的故障节点数,则节点将验证值C设置为1,进入下一阶段,否则所有状态为silent的矿工节点将状态值重新设置为candidate,进入下一轮,即返回领导选举阶段重新参与领导选举。
(3)区块链更新阶段:
(3.1)如果矿工节点的验证值C是1,则将被记录了f+1次的新区块B写入自己的本地区块链中;
(3.2)无线区块链网络中的所有矿工节点将其状态值State、验证参数C和运行轮数计数器重新设置为初始值。
上述对所公开的实施例的说明,使本领域的专业技术人员能够实现或使用本发明。本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明的实施范围不仅限于本文所示的这些实施例,其实施范围是符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
2.根据权利要求1所述的一种适用于无线区块链网络的容错共识方法,其特征在于,步骤(1)具体如下:
(1.1)无线区块链网络中所有矿工节点的状态值State初始值设为candidate,验证参数为C和运行轮数计数器的初始值为0,矿工节点每从头开始执行一次该方法称为一轮;在每一轮,所有状态值为candidate的矿工节点以一定的概率发送非编码信息M;
(1.2)在每一轮,没有发送信息的状态值为candidate的矿工节点会侦听信道,如果侦听到信道中有矿工节点在传输信息,则将自己的状态值设置为silent,并且在后续轮数内不会改变其状态值,直至重新参与领导选举;
3.根据权利要求2所述的一种适用于无线区块链网络中的容错共识方法,其特征在于,步骤(2)具体如下:
(2.1)在当前轮,每次成为leader的矿工节点将产生新区块B,记录该区块并将该区块广播至整个网络中;
(2.2)无线区块链网络中其他矿工节点将收到新区块B,并对新区块B进行记录;
(2.3)在当前轮,如果相同的新区块B被所有的正常节点均记录了f+1次,f为网络中至多存在的故障节点数,则节点将验证值C设置为1,进入下一阶段,否则所有状态为silent的矿工节点将状态值重新设置为candidate,进入下一轮,即返回领导选举阶段重新参与领导选举。
4.根据权利要求3所述的一种适用于无线区块链网络中的容错共识方法,其特征在于,步骤(3)具体如下:
(3.1)如果矿工节点的验证值C是1,则将被记录了f+1次的新区块B写入自己的本地区块链中;
(3.2)无线区块链网络中的所有矿工节点将其状态值State、验证参数C和运行轮数计数器重新设置为初始值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110375424.6A CN112860807B (zh) | 2021-04-08 | 2021-04-08 | 一种适用于无线区块链网络的容错共识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110375424.6A CN112860807B (zh) | 2021-04-08 | 2021-04-08 | 一种适用于无线区块链网络的容错共识方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860807A CN112860807A (zh) | 2021-05-28 |
CN112860807B true CN112860807B (zh) | 2022-04-12 |
Family
ID=75992289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110375424.6A Active CN112860807B (zh) | 2021-04-08 | 2021-04-08 | 一种适用于无线区块链网络的容错共识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860807B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192382B (zh) * | 2023-03-01 | 2023-09-15 | 齐齐哈尔大学 | 一种基于区块链的dh密钥第三方篡改验证方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616596A (zh) * | 2018-05-09 | 2018-10-02 | 南京邮电大学 | 基于动态授权和网络环境感知的区块链自适应共识方法 |
CN109547527A (zh) * | 2018-10-12 | 2019-03-29 | 广西师范大学 | 区块链中基于信誉机制的分区快速共识方法 |
CN110913501A (zh) * | 2019-11-08 | 2020-03-24 | 山东大学 | 一种适用于无线区块链网络中的共识方法 |
CN112187866A (zh) * | 2020-09-03 | 2021-01-05 | 山东大学 | 一种基于共享存储的新型区块链共识方法 |
-
2021
- 2021-04-08 CN CN202110375424.6A patent/CN112860807B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108616596A (zh) * | 2018-05-09 | 2018-10-02 | 南京邮电大学 | 基于动态授权和网络环境感知的区块链自适应共识方法 |
CN109547527A (zh) * | 2018-10-12 | 2019-03-29 | 广西师范大学 | 区块链中基于信誉机制的分区快速共识方法 |
CN110913501A (zh) * | 2019-11-08 | 2020-03-24 | 山东大学 | 一种适用于无线区块链网络中的共识方法 |
CN112187866A (zh) * | 2020-09-03 | 2021-01-05 | 山东大学 | 一种基于共享存储的新型区块链共识方法 |
Non-Patent Citations (1)
Title |
---|
Consensus in Wireless Blockchain System;Qiang Xu等;《WASA 2020》;20200910;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112860807A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110199500B (zh) | 用于更新网络拓扑的网络知识的计算机实现的系统和方法 | |
CN110784346B (zh) | 一种基于信誉值的pbft共识系统及方法 | |
CN112313916B (zh) | 一种融合区块链技术拟态存储防篡改日志的方法及系统 | |
CN109951474B (zh) | 一种实现区块链共识出块的方法 | |
CN111431903B (zh) | 一种跨链中继方法、装置以及计算机可读存储介质 | |
EP4209980A1 (en) | Computer-implemented system and method for managing a large distributed memory pool in a blockchain network | |
CN111612455A (zh) | 一种面向用电信息保护的拜占庭容错联盟链共识方法及其系统、存储介质 | |
CN113347164B (zh) | 基于区块链的分布式共识系统及方法、设备、存储介质 | |
Wang et al. | Beh-Raft-Chain: a behavior-based fast blockchain protocol for complex networks | |
CN108366113B (zh) | 一种基于dpos的分组高容错共识机制 | |
CN115499129B (zh) | 一种多模信任跨链共识方法、系统、介质、设备及终端 | |
CN113448694B (zh) | 一种提高事务处理能力的区块链共识方法 | |
CN111047316A (zh) | 一种反篡改的智能区块链系统及实现方法 | |
CN109450685B (zh) | 一种基于局部链节点离线的共识方法及节点 | |
CN112860807B (zh) | 一种适用于无线区块链网络的容错共识方法 | |
CN115801407A (zh) | 异常节点屏蔽方法、装置、存储介质及目标节点 | |
Zhang et al. | Enhancing scalability of trusted blockchains through optimal sharding | |
CN114978650A (zh) | 一种基于信誉值和可验证随机函数的改进实用拜占庭容错算法 | |
CN114745140A (zh) | 基于聚合加密的城市规划领域区块链共识验证方法及系统 | |
Fang et al. | Pelopartition: Improving blockchain resilience to network partitioning | |
He et al. | Don’t trust, verify: The case of slashing from a popular ethereum explorer | |
Grybniak et al. | Waterfall: Gozalandia. Distributed protocol with fast finality and proven safety and liveness | |
Wels | Guaranteed-TX: The exploration of a guaranteed cross-shard transaction execution protocol for Ethereum 2.0. | |
CN112272114A (zh) | 跨区块链网络发送信息的方法、装置、设备及存储介质 | |
Sun et al. | Mosaic-a blockchain consensus algorithm based on random number generation |
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 |