什么是NEO的dBFT算法dBFT算法机制怎么样工作

当前位置:首页 > 币圈百科 > 什么是NEO的dBFT算法dBFT算法机制怎么样工作

什么是NEO的dBFT算法dBFT算法机制怎么样工作

2022-11-21币圈百科853

拜占庭一般问题

最广为人知的两种共识机制是PoS(工作证明机制)和PoW(权益证明机制)。在此基础上,NEO改进并提出了一种新的共识机制dBFT。

可以阅读neo白皮书(https://github . com/NEO-project/docs/blob/master/en-us/index . MD)、NEO文档摘要(docs.neo.org)等了解NEOdBFT模型框架的详细介绍。

在判断投票的正确结果时,总会出现拜占庭一般的问题。假设拜占庭帝国的九位将军率军包围古罗马。为了成功占领古罗马城,将军们面临两个选择,一是全部进攻,二是全部撤退。如果任何一位将军违反了一致决定,就会导致全军覆没。

他们每天投票一次,决定进攻还是撤退。如果某项决策的赞成率超过50%,则达成共识。因为每个将军所处的地理位置不同,所以他们会让使蓑衣网小编2022者通知其他将军他们的投票情况。

这个系统有内在的缺陷。

首先,任何数量的拜占庭将军都有可能被罗马人收买成为拜占庭军队的叛徒。这些将军被称为哗变将军。

其次,任何将军都可能做出不恰当的决定。这些将军被称为判断不当的将军。

再者,告知将军指示的信使也可能被罗马人收买,叛逃篡改投票结果,信使也可能无法告知或提供虚假信息。

拜占庭将军的情况可以类比分布式计算系统所面临的问题:当系统中存在不可信的、功能失调的、可能造成生态瘫痪的节点时,如何达成共识?

dBFT算法

有很多协议想解决拜占庭将军的问题。例如,Hyperledger的工作证明机制中使用了PBFT算法。NEO使用dBFT算法解决拜占庭将军的问题。NEO的创始人之所以选择这个协议,是因为与现有的其他方案相比,它具有更强的可扩展性和性能。

可伸缩性是任何区块链的主要问题。随着交易数量的增加和网络规模蓑衣网小编2022的扩大,区块链必须相应扩大。如果区块链不能根据需求扩展,交易将被延迟或无法处理。

类比:假设有一个国家叫NEO,这个国家的每个公民都有权利选举一个领袖,也就是众议员。代表负责制定国家法律。如果公民不同意某个代表对某个法律的投票决定,可以下次再投另一个代表。市民会告诉所有代表怎么做才能让他们最满意。每个代表都必须跟踪所有公民的需求,并在记录簿上做好记录。公民的所有需求都能得到满足,才能通过法律,目的是让公民满意。

当一项法律需要通过时,将从代表中随机选出一名发言人,这位发言人将根据公民的需要起草该法律。在起草法律的时候,他会计算这个法律对国民幸福指数(衡量幸福的指标)的影响。然后,发言人把准备好的法律交给每个代表,每个代表先判断发言人的计算结果是否与自己的一致,然后与其他代表讨论,验证幸福指数的计算结果是否正确。如果66%的代表一致认为演讲者计算的幸福指数是正确的,那么法律通过了,工作完成了。

所有节点都是诚实的,达成100%的共识。法A(块)将被验证。

如果少于66%的代表达成共识,将随机选择新的发言人,并重复上述过程。这个系统是为了保护系统免受叛徒/坏人和不能发挥作用的领导(即没有恶意但不能正确计算幸福指数的领导)的攻击。

等等。对近地天体区块链来说,公民是近地天体持有者。NEO持有者大多是普通节点,只能进行资产转让或交易。

就像近地天体国家的公民一样,不能参与区块验证。公民选出的代表是NEO智能经济的记账节点。记帐节点负责验证区块链上写入的每个数据块。

公民的需求是近地天体持有者进行的交易。该定律代表区块链生成的当前块,而幸福指数代表当前块的哈希值。让我们来看看系统是如何保护的。

不诚实的发言人

鉴于发言人是随机抽取的代表,他可能是不诚实的,也可能是故障。在下面的例子中,说话者向三个代表中的两个发送了恶意信息(法律B),同时向一个代表发送了正确的信息(法律A)。

不诚实的说话者把正确的信息(a)发送到左边的节点,却把恶意的信息(B)发送到中间和右边的节点(B)

在这种情况下,合法的法案无法通过。用右边代表算出的幸福指数和说话人发来的不一致,所以说话人拟定的法律无法验证,导致两个人拒绝通过该法律。左边的代表因为收到了精确定律,所以能够确认幸福指数,然后成功完成了1次验证。但这一提案仍然无法通过,因为只有不到66%的人达成了共识(需要2票)。然后将随机选出一位新的发言人,重新启动共识进程。

不诚实的代表

在这种情况下,发言者是诚实的,但其中一个代表是不正常的。

右边的代表向其他代表发送了不正确的信息(B)

这样,说话人拟定的法律A就可以得到验证,因为诚实的代表(左边和中间)可以验证诚实的说话人拟定的法律A,达到66%的共识。代表也可以判断说话人是对右节点撒谎还是右节点不诚实。这还不清楚,但公民可以根据相关数据检查每个节点是否诚实/正常运行。这些信息有助于选民判断哪个代表最值得信任,进而选择投票给哪个代表。

什么是NEO的dBFT算法dBFT算法机制怎么样工作 | 分享给朋友: