首页 > 区块链博客 > 各种共识机制

各种共识机制

2018-04-23 18:32:01 阅读量:

全文摘要:

依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错 ... 为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点) ... 4.dBFT: delegated BFT 授权拜占庭容错算法介绍:小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识 ...

1.pow( Proof of Work)工作量证明一句话介绍:干的越多,收的越多。依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。优点:1)算法简单,容易实现;2)节点间无需交换额外的信息即可达成共识;3)破坏系统需要投入极大的成本;缺点:1)浪费能源;2)区块的确认时间难以缩短;3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;4)容易产生分叉,需要等待多个确认;5)永远没有最终性,需要检查点机制来弥补最终性;2.POS Proof of Stake,权益证明一句话介绍:持有越多,获得越多。主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于PoW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。该共识机制容错性和PoW相同。它是Pow的一种升级共识机制,根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。缺点:还是需要挖矿,本质上没有解决商业应用的痛点;所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成以太坊硬分叉,而ETC由此事件出现,事实上证明了此次硬分叉的失败。DPOS与POS原理相同,只是选了一些“人大代表”。BitShares社区首先提出了DPoS机制。与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。DPoS的工作原理为:去中心化表示每个股东按其持股比例拥有影响力,51%股东投票的结果将是不可逆且有约束力的。其挑战是通过及时而高效的方法达到51%批准。为达到这个目标,每个股东可以将其投票权授予一名代表。获票数最多的前100位代表按既定时间表轮流产生区块。每名代表分配到一个时间段来生产区块。所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。如果一个平均水平的区块含有100股作为交易费,一名代表将获得1股作为报酬。网络延迟有可能使某些代表没能及时广播他们的区块,而这将导致区块链分叉。然而,这不太可能发生,因为制造区块的代表可以与制造前后区块的代表建立直接连接。建立这种与你之后的代表(也许也包括其后的那名代表)的直接连接是为了确保你能得到报酬。该模式可以每30秒产生一个新区块,并且在正常的网络条件下区块链分叉的可能性极其小,即使发生也可以在几分钟内得到解决。成为代表:成为一名代表,你必须在网络上注册你的公钥,然后分配到一个32位的特有标识符。然后该标识符会被每笔交易数据的“头部”引用。授权选票:每个钱包有一个参数设置窗口,在该窗口里用户可以选择一个或更多的代表,并将其分级。一经设定,用户所做的每笔交易将把选票从“输入代表”转移至“输出代表”。一般情况下,用户不会创建特别以投票为目的的交易,因为那将耗费他们一笔交易费。但在紧急情况下,某些用户可能觉得通过支付费用这一更积极的方式来改变他们的投票是值得的。保持代表诚实:每个钱包将显示一个状态指示器,让用户知道他们的代表表现如何。如果他们错过了太多的区块,那么系统将会推荐用户去换一个新的代表。如果任何代表被发现签发了一个无效的区块,那么所有标准钱包将在每个钱包进行更多交易前要求选出一个新代表。抵抗攻击: 在抵抗攻击上,因为前100名代表所获得的权力权是相同的,每名代表都有一份相等的投票权。因此,无法通过获得超过1%的选票而将权力集中到一个单一代表上。因为只有100名代表,可以想象一个攻击者对每名轮到生产区块的代表依次进行拒绝服务攻击。幸运的是,由于事实上每名代表的标识是其公钥而非IP地址,这种特定攻击的威胁很容易被减轻。这将使确定DDOS攻击目标更为困难。而代表之间的潜在直接连接,将使妨碍他们生产区块变得更为困难。优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。3.PBFT :Practical Byzantine Fault Tolerance,实用拜占庭容错介绍:在保证活性和安全性(liveness& safety)的前提下提供了(n-1)/3的容错性。在分布式计算上,不同的计算机透过讯息交换,尝试达成共识;但有时候,系统上协调计算机(Coordinator /Commander)或成员计算机 (Member /Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。拜占庭将军问题就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。而拜占庭问题的可能解决方法为:在 N ≥ 3F + 1 的情况下一致性是可能解决。其中,N为计算机总数,F为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。1)系统运转可以脱离币的存在,pbft算法共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。2)共识的时延大约在2~5秒钟,基本达到商用实时处理的要求。3)共识效率高,可满足高频交易量的需求。缺点:1)当有1/3或以上记账人停止工作后,系统将无法提供服务;2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;4.dBFT: delegated BFT 授权拜占庭容错算法介绍:小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。此算法在PBFT基础上进行了以下改进:将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。优点:  1)专业化的记账人;  2)可以容忍任何类型的错误;  3)记账由多人协同完成,每一个区块都有最终性,不会分叉;  4)算法的可靠性有严格的数学证明;缺点:  1)当有1/3或以上记账人停止工作后,系统将无法提供服务;  2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;  以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。

5.POOL验证池基于传统的分布式一致性技术,加上数据验证机制。优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。

6.PaxosPaxos被用于分布式系统中典型的例子就是Zookeeper,他是第一个被证明的共识算法,其原理基于两阶段提交并扩展。Paxos算法中将节点分为三种类型:proposer:提出一个提案,等待大家批准为结案。往往是客户端担任该角色acceptor:负责对提案进行投票。往往是服务端担任该角色learner:被告知结案结果,并与之统一,不参与投票过程。可能为客户端或服务端基本过程包括proposer 提出提案,先争取大多数acceptor 的支持,超过一半支持时,则发送结案结果给所有人进行确认。一个潜在的问题是proposer 在此过程中出现故障,可以通过超时机制来解决。极为凑巧的情况下,每次新的一轮提案的proposer 都恰好故障,系统则永远无法达成一致(概率很小)。Paxos能保证在超过50%的正常节点存在时,系统能达成共识。

7.PaftRaft算法是对Paxos算法的一种简单实现。它包括三种角色:leader、candiate 和 follower,其基本过程为:Leader 选举:每个 candidate 随机经过一定时间都会提出选举方案,最近阶段中得票最多者被选为leader同步log:leader 会找到系统中 log 最新的记录,并强制所有的 follower 来刷新到这个记录,这里的log指的是各种事件的发生记录

8.Pool验证池:布比区块链基于传统的分布式一致性技术,加上数据验证机制。优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。

来源:币乎

以上就是《各种共识机制》全部内容,全文涉及到:共识机制、验证机制、共识验证、共识参与节点、记账节点、等方面的内容,您也可以通过阅读全文摘要来快速获取有价值数字货币和区块链的信息。



上一篇:【资源汇总】与EOS项目直接相关的官方网站
下一篇:区块链未来趋势化

微信

微信

微信

微信