导航:首页 > 观区块链 > pbft在区块链中的应用

pbft在区块链中的应用

发布时间:2025-03-12 01:32:51

1. 区块链笔记——PBFT

PBFT是实用拜占庭容错的简称,是解决拜占庭将军问题的一种方案。比起最开始的BFT算法,PBFT额外要求网络封闭,即节点数目确定并提前互通,但将复杂度从指数级降低到多项式级,使得BFT系列算法真正具有可行性。

与POW、POS等大家耳熟能详的共识不同,BFT系列的共识不需要“Proof”,亦即不需要节点投入算力或其他资源来确权,因此不需要代币激励便可完成共识。缺点是原始的BFT效率太低,只能存在于理论而无法应用。而改进的PBFT虽然效率大大提高,却对节点数量和状态提出了要求,导致合格的记帐节点太少,并且也只能维持在少数,过多的节点会拖慢网络速度。因此PBFT更多是用在联盟链和私链上。公链也有应用,例如NEO,便是采用了PBFT算法。

拜占庭将军问题的实质是在恶劣的通讯环境中,如何使各参与方达成一致意见。POW和POS等共识要求参与方投入成本,争夺唯一的发言权。在某一段时间内只有唯一的发言人,自然只会有一个意见,从而达成共识。PBFT采取不同的思路,要求各参与方相互发送及验证彼此的信息,最终采用多数原则达成共识。

PBFT能够以一种低成本的方式实现节点间共识,其理念其实相当贴近我们的生活习惯。例如在老师布置作业后,同学们总要互相问问确认一下,才放心地把今天的作业记到本子上。当然实现上还有很多细节,保证各节点的平等关系。在节点数目不多的时候,节点之间实现相互通信的成本并不高,节点之间可以快速发送确认。但节点数目增长却会带来整体性能的下降。PBFT可以容忍的坏节点数量不多于总数的三分之一,如果节点损坏率比较固定,提高总节点数量虽然能使系统获得更好的冗余,却会大大增加通讯量,造成效率下降。加上PBFT没有激励机制,其适合联盟链和私链场景。作为公链不可避免地节点数量太少,分布过分集中,例如NEO只有七个节点。

PBFT要求坏节点数量f<=(n-1)/3,这里n是总节点数。只要f满足这个条件,共识总是可以达成。为什么f要满足这个条件?简单来说,假设网络中存在恶意节点联盟,其控制了数量为f的节点,这些节点可以故意发布错误的信息。此时网络中正常节点数量为n-f个。将这n-f个节点分为两部分,各自包含一部分节点。对于任一部分正常节点来说,只要恶意节点数f大于自身节点数,同时大于剩余的正常节点数,这部分正常节点便会与恶意节点联盟达成共识。此时只要恶意节点联盟先后向两部分正常节点发送不同的共识信息,便可造成网络分叉。因此要保证网络运行,对于每一部分正常节点来说,网络中恶意节点数量不能同时大于自身节点数和网络剩余正常节点数。代入计算便得到f<=(n-1)/3。

2. 学习笔记|一文读懂11个主流共识算法

在区块链的交流和学习中,「共识算法」是被频繁提及的词汇。共识算法确保了区块链的可信性,常见的算法包括但不限于工作量证明(PoW)、权益证明(PoS)、委托权益证明(DPoS)、实用拜占庭容错算法(PBFT)等。共识算法实质上是通过特定的数学算法来实现区块链内节点间的协调与数据一致性。

共识算法可以被理解为一套规则,各个节点都根据这套规则确认各自的数据。类比于现实生活中,当一群人需要达成一致意见,特别是没有明确的领导者时,共识算法提供了解决方案。在区块链中,每个节点必须保证自己的账本与网络中的其他节点账本保持一致,这与传统软件结构中通过中心服务器实现数据同步的方式不同。共识算法解决了分布式网络中数据一致性的问题。

工作量证明(PoW)是最常见的共识算法之一,其核心在于矿工需要解决一个计算难题来验证并添加新区块。这种机制通过消耗计算资源来确保网络安全,但存在能源消耗大、效率低、易受大规模经济影响等问题。工作量证明系统被广泛应用于比特币以太坊莱特币、狗狗币等加密货币中。

权益证明(PoS)是一种节能的共识机制,它根据持有加密货币的数量和时间分配相应的权益,持有者通过“烧币”获取利息收益。权益证明降低了能源消耗,并通过较高的攻击成本提高了网络安全性。然而,无利害关系(Nothing at Stake)攻击问题仍然是其面临的挑战。以太坊计划未来采用PoS机制。

延迟工作量证明(dPoW)是工作量证明的改进版本,它通过创建一个可添加至其他区块链的块,以节省交易成本,同时保持节能和安全性。这种机制被Komodo采用。

委托权益证明(DPoS)是一种授权共识机制,允许加密货币持有者投票选举一组验证者(超级节点),这些验证者负责创建新区块。DPoS旨在提高效率和去中心化程度,同时减少能源消耗。EOS、BitShares、Steemit等项目采用了这种共识机制。

实用拜占庭容错算法(PBFT)是一种高效且可扩展的共识算法,适用于私有和许可网络。它通过少数节点达成一致来确保系统的安全性与高速度。

权威证明(PoA)基于信任验证者的共识机制,允许持有特定身份证明的节点成为验证者。这种机制通常用于私有和许可区块链。

所用时间证明(PoET)机制通过随机选择等待时间来决定谁有资格创建新区块,适用于许可区块链网络,旨在提供公平的领导者选举。

权益流通证明(PoSV)结合了工作量证明和权益证明,旨在提高加密货币网络的安全性和效率。

恒星共识(Stellar Consensus)基于联邦拜占庭共识算法,提供了一种高效且去中心化的共识机制,适用于Stellar区块链。

活动证明(PoActivity)结合了工作量证明和权益证明,旨在通过验证者的活动来选择创建新区块的节点。

共识算法的选择取决于应用场景的需求。工作量证明和权益证明是最早被广泛应用的算法,而委托权益证明、实用拜占庭容错算法、权威证明等则旨在解决特定问题,如提高效率、降低能源消耗或实现去中心化。选择共识算法时,应考虑安全性、效率、能源消耗、去中心化程度以及与具体应用场景的匹配度。

3. 拜占庭容错共识算法介绍

在区块链共识算法中,拜占庭容错(BFT)算法是一种独特且重要的解决方案,它源自拜占庭将军问题。这个问题的核心在于,如何在存在叛徒的情况下,确保忠诚节点能达成一致的决策,类似于分布式系统中的正常服务器和故障或恶意节点。BFT有三种主要版本,包括实用拜占庭容错(PBFT)、联邦拜占庭协议(FBA)和授权拜占庭容错(dBFT)。

PBFT是首个实际解决拜占庭问题的协议,具有高速和可扩展性,但主要适用于私有和许可网络,如Hyperledger Fabric和Ripple。PBFT通过预设的将军数量(如33%的容错率)保证高效运行,但其中心化的特性限制了它在公开网络的应用。Ripple的共识算法利用了PBFT,允许快速确认交易,但仅限于受信任的节点网络。

FBA,如在Stellar中采用的,强调的是吞吐量、低交易开销和网络扩展性,用户可以选择信任的验证者。与PBFT相比,FBA的去中心化程度更高,允许自由节点加入并投票,但可能牺牲部分性能。

dBFT在Neo中被应用,具有快速和可扩展性,通过代理投票支持大规模参与,但存在多个根链的风险。这种机制在交易速度和吞吐量上表现出色,但对记账节点的依赖度高,超过三分之一的记账节点故障可能导致服务中断或区块链分叉。

总结来说,BFT共识算法为分布式网络提供了在不确定性和安全性环境中达成共识的有效途径,但每个版本都有其适用场景和权衡。了解这些区别有助于选择最合适的共识机制来构建安全的区块链网络。

阅读全文

与pbft在区块链中的应用相关的资料

热点内容
超级算力在哪里下载 浏览:665
pbft在区块链中的应用 浏览:701
虚拟货币算不算个人资产 浏览:608
区块链起源基础技术 浏览:403
区块链虚拟货币乌托邦 浏览:844
区块链编程vb 浏览:726
以太坊全球公约 浏览:551
特币挖可信的矿池 浏览:338
以太坊otc什么意思啊 浏览:444
比特币合法化国家 浏览:289
比特币每周难度增加 浏览:214
星火矿池客户电话 浏览:824
310比特币挑战论坛 浏览:491
区块链aiar 浏览:121
比特币合约负溢价会怎样 浏览:502
代币峰会区块链 浏览:613
比特币兑换人民币方便 浏览:579
比特币日k线里的5M 浏览:386
统治者的区块链 浏览:298
btc体系是什么意思 浏览:648