首页 > 区块问答

fib共识,vrf共识算法

发布时间:2024-06-14 01:12:55
OK欧意app

OK欧意app

欧意交易app是全球排名第一的虚拟货币交易所。

APP下载  官网地址

当NEO采用dBFT机制实现共识节点之间的拜占庭容错,并且NEO白皮书中描述的恶意共识节点小于1/3时,这种共识机制可以保证系统的安全性和可用性。通过研究,我们发现目前NEO的dBFT机制只能保证诚实的共识节点能够达成共识。但是,共识节点之间没有分叉并不意味着整个网络不会出现分叉。NEO对目前dBFT共识机制的实现不满意?拜占庭容错。

NEOdbft共识机制简介neo区块链是一个分布式智能合约平台。NEO实现了一个委托给拜占庭的容错共识算法,借鉴了一些PoS的特点(NEO持有者需要对共识节点进行投票),用最少的资源保护网络免受拜占庭故障,弥补了PoS的一些问题。对于由n个共识节点组成的共识系统,dBFT提供?的容错包括安全性和可用性,适用于任何网络环境。

请参见NEO官方共识机制白皮书中的NEO dBFT共识机制:

http://docs.neo.org/zh-cn/basic/consensus/whitepaper.html?(中文版)

http://docs.neo.org/en-us/basic/consensus/whitepaper.html?

拜占庭将军的问题和区块链拜占庭位于土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国疆域辽阔,出于防御目的,军队相距甚远,将军之间的消息只能通过信使传递。战争期间,拜占庭军队中所有的将军和副官都必须达成共识,决定是否有胜算,才能进攻敌方阵营。但军队中可能有汉奸和敌特,将军们的决定会扰乱全军的秩序。当达成共识时,结果并不代表大多数人的意见。这时候拜占庭的问题就形成了,其他忠诚的将领在没有叛徒影响的情况下,明知某些成员在密谋,还是达成了协议。PBFT算法是解决拜占庭问题的经典算法。

区块链是一个去中心化的分布式账本系统,可以用来登记和发放数字资产、产权证、积分等。并以点对点的方式进行转账、支付和交易。区块链技术最早由中本聪在一份加密邮件列表中提出,即比特币。此后,基于区块链技术的各种应用不断涌现,如基于区块链的电子现金系统、基于区块链的股权交易系统、基于区块链的智能合约系统等。与传统的集中式总账系统相比,区块链系统具有完全公开、防篡改和防止多次支付的优点,并且不依赖于任何可信的第三方。然而,与任何分布式系统一样,区块链系统也会面临网络延迟、传输错误、软件错误、安全漏洞、黑客入侵等问题。另外,去中心化的特点决定了这个系统中没有一个参与者是可以信任的,可能存在恶意节点和利益不同导致的数据差异。为了防止这些潜在的错误,区块链系统需要一个有效的共识机制,以确保每个节点都有一个唯一的和公认的全球分类账。针对某些特定问题的传统容错方法不能完全解决分布式系统和区块链系统的容错问题。人们需要一个可以容忍任何错误的容错方案。

新区块链共识机制的细节采用拜占庭容错授权(dBFT)作为共识机制。http://docs.neo.org/en-us/basic/consensus/consensus.html?).整个网络中的NEO节点分为两种:一种是共识节点,负责与其他共识节点进行共识通信,生成新的块;另一种是普通节点,不参与共识,但可以验证和接受新块。共识节点由全网用户通过投票产生。NEO node的dBFT背后的思想是,PBFT算法可以很好地解决分布式节点的一致性问题,但是参与PBFT一致性的节点数量越大,性能越低。通过对PBFT共识的投票,选择相对较少的共识节点上理财经边肖2022生成新区块,然后将新区块发布到全网,达成全网共识。在近地天体共识节点之间,生成新区块的正常共识过程如下:

启动共识的节点分为两类:非记账节点和记账节点。非记账人不参与共识,记账人参与共识流程。

并选择代言人。Neo扬声器生成机制是根据当前块高和簿记员数量通过MOD运算得到的,扬声器实际上是按顺序排列的。

由节点初始化选择。

满足离开条件后,发言人发送PrepareRequest。

收到请求后,成员验证记账节点是否传递了签名。

发送准备响应

,节点保存对方的签名信息,检查是否超过三分之二,阻止

该节点接收该块。触发PersistCompleted事件后,整个系统将被重新初始化。

为了防止恶意的共识节点或发言者,保证系统的安全性和可靠性,NEO提出了changeview机制,进一步增强dBFT的安全性。当节点?路过?存在

在的时间间隔后,未达成一致意见,或收到包含非法交易的建议,视图替换流程开始:

订单?

节点?发出视图更改请求?

任何节点至少接收?他们来自不同的地方吗?一样的?实现视图更改后,继续吗?并开始达成共识;

如果你路过?在的时间间隔后,视图替换仍未实现,则递增并返回步骤2;近地天体共识节点的总体流程如下:

DBFT共识机制分析

DBFT的核心思想是通过pBFT协议和选举出的共识节点达成共识,从而产生全网的共识。这似乎是一个好主意,但是在dBFT和pBFT中,共识节点为非共识节点提供服务的模式是不同的。在pBFT中,非共识节点(客户端节点)需要接收至少f 1个共识节点的相同执行结果才能获得服务结果。在dBFT中,非共识节点需要获得至少2f 1个共识节点签名的块。dBFT的拜占庭容错不能从pBFT想当然。要证明共识协议的安全性,需要严格证明。

分析网络协议安全性的一个重要前提是,网络是一个复杂的环境,我们不能保证第一个包先到达。这就是网络协议复杂的原因。我们举两个反例证明dBFT不能提供。拜占庭容错。

攻击案例一:[X] [X]假设七个节点A1A2A3A4A5A7。其中,说话人A1和A2为恶意节点(不到1/3的节点),A1为当前说话人。A1生成block1向A2 A3 A4发送PrepareRequest(block1),生成block2向A5 A6 A7发送PrepareRequest(block2)。当每个人都收到PrepareRequest消息时。A2 A3 A4将返回准备响应的消息(块1),A5 A6 A7将返回准备响应的消息(块2)。至此,Block1和Block2的签名已经公布在网络上。网络尚未达成共识,需要进一步协商。最终的共识区块尚未确定。但此时恶意节点A2其实可以生成block2的签名(他自己手里可以有5个block2签名),所以A2有能力生成网络中的一个分叉。在这种攻击情况下,dBFT无法实现拜占庭容错(2个恶意节点)。

攻击案例二:假设有七个节点A1 A2 A3 A4 A5 A6 A7。其中A2是恶意节点(只有一个恶意节点)。假设A1当选本轮代言人。由于大量交易或其他网络原因,A1已延迟。并且在临界超时的情况下发送block1。其中A5 A6 A7刚刚收到并在限定时间内完整验证了整块1,回复签名。A2 A3 A4还没有收到这个block1。此时,根据dBFT协议,当超时到达时,每个人都将请求更改视图。巧合的是,change view的包裹在Block1之前到达了A2 A3 A4。大家达成共识,改变看法。然后进入下一个查看阶段。如果在此阶段,A2 A3 A4接收到block1,但视图和发言者已更改,则它们不会接受block1。然后大家就进入下一轮Block2制作。一切正常,A3 A4 A5 A6 A7几个老实节点达成共识。但此时A2有五个Block1的签名。它可以构建Block1。因此,A2可以在网络中创建一个分叉。在这种攻击情况下,dBFT无法实现拜占庭容错(1个恶意节点)。

NEO目前对dBTF的实现还不够。本质原因是:NEO试图用共识节点间的共识代替全网的共识;然而,这一假设并不严格有效。DBFT只能保证诚实共识节点间的共识,但诚实共识节点间的共识与全网节点间的共识之间没有严格的绑定关系。在上面的例子1中,恶意节点A1 A2不能影响共识节点之间共识Block2的生成,但可以生成Block1,从而造成网络中普通节点的分叉。根据NEO目前的设计,一旦发生分叉,分叉的节点就无法返回NEO网络。

问题的影响

发现问题的当天,我们就把问题发给了NEO的创始人埃里克·张(Erik Zhang)。Erik当天也回复说他们已经发现了这个问题,并在社区做了相关声明。NEO在github项目上发起了处理这个问题的Pull请求,得到了社区成员的积极响应,为这个问题献计献策。目前问题已初步解决,正在测试稳定性。联系人:https://github.com/neo-project/neo/pull/320.

通过对该PR实现的具体讨论和研究,我们发现实际上该PR主要是为了修复NEO当前dBTF中PBFT的不完善实现。目前,社区的理解是,由于NEO中的dBFT缺少PBFT的提交阶段,可能是因为共识节点之间的网络延迟或宕机导致共识节点无法达成共识。但是,即使增加了提交过程,也无法阻止恶意共识节点构造fork块。NEO团队提出了一个新的改进方案来解决这个问题。目前,NEO社区正在完善之前的PR,以彻底解决这个问题。在解决这个问题的过程中,我们发现NEO团队在处理安全问题上非常专业和高效,社区的反应也非常热情和及时。360安全团队将继续与NEOs合作,测试、分析和改进相关问题,推动NEOs和区块链技术的发展。

本文链接:dbft.html http://blogs.360.cn/post/neo

Neo粉丝微博:https://www.weibo.com/neofanscommunity

尼奥粉丝电报组。

本网站声明:网站内容来源于网络。如有侵权,请联系我们,我们会及时处理。

温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信,我们会及时处理和回复。

(责编: admin)

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

如有疑问请发送邮件至:goldenhorseconnect@gmail.com