主页 > imtoken钱包华为手机安装不了 > 被誉为“区块链灵魂”的共识机制,是否要迎来一场巨大的进化?

被誉为“区块链灵魂”的共识机制,是否要迎来一场巨大的进化?

共识算法是近年来分布式系统研究的热点,也是区块链技术的核心要素。

如何理解共识算法的重要性和评价体系? 如何认识当前主流的共识算法及其背后的发展脉络? 接下来,共识算法发展的趋势和障碍是什么?

01

共识算法和评估系统

共识算法主要解决分布式系统中多个节点之间就某一状态达成共识结果的问题。 在分布式系统中,多个服务节点共同完成事务处理,分布式系统中多个副本呈现的数据状态需要保持一致性。

但是,由于节点的不可靠性和节点间通信的不稳定性,甚至节点作恶,伪造信息,造成节点间数据状态不一致的问题。 通过共识算法,可以将多个不可靠的个体节点组成一个可靠的分布式系统,实现数据状态的一致性,提高系统的可靠性。

区块链系统本身是一个非常大规模的分布式系统,但它与传统的分布式系统有着明显的区别。 最重要的是,整个系统没有中央权威,共识算法实现了分散节点之间对交易处理顺序的共识。 这是共识算法在区块链系统中发挥的最重要的作用。

此外,与企业分布式系统不同的是,区块链系统中的共识算法还承担了区块链系统激励模型和治理模型中的一些功能,包括每个区块中哪些矿工被激励,网络中哪些矿工得到奖励等。 . 所有交易费用的结算和分配比特币采用的共识机制是pos,区块链网络共识周期的切换等。

共识算法根据容错能力不同,即在节点故障不响应的情况下,再考虑节点是否会伪造信息进行恶意响应,可分为:CFT(Crash Fault Tolerance,容错)和BFT(Byzantine Fault Tolerance,拜占庭容错)类共识算法。

q币和比特币是货币吗_比特币采用的共识机制是pos_莱特币是比特币?

CFT共识算法仅在分布式系统中某个节点宕机并发生错误时,才保证整个分布式系统的可靠性; 保证分布式系统的可靠性。 因此,CFT共识算法目前主要应用于企业内部的封闭式分布式系统。 目前流行的CFT共识算法主要包括Paxos算法及其派生的Raft共识算法。

在使用 BFT 共识算法的分布式系统中,即使系统中的节点出现任何类型的错误,只要错误节点的数量小于一定比例,就可以保证整个系统的可靠性。 因此,在一个开放的分布式系统中,比如区块链网络,必须采用 BFT 共识算法。

在区块链网络发展之前,BFT共识算法主要是PBFT共识算法(Practical Byzantine Fault Tolerant Consensus Algorithm),目前部分联盟链采用PBFT共识算法。 由于其开放性,任何节点都可以随时参与和退出网络,都有作恶的可能。 近两年公链的快速发展也带动了BFT共识算法的长足进步。

q币和比特币是货币吗_莱特币是比特币?_比特币采用的共识机制是pos

另外,由于共识算法都是基于底层网络模型,从网络同步模型来看,共识算法可以分为三种,即同步共识算法、半同步共识算法和异步共识算法。

同步共识算法要求网络中的任何消息都能在已知的限定时间内到达所有共识节点。 因此主要应用于规模有限的网络环境,大多数联盟链采用同步共识算法。

异步共识算法对消息在网络中的传播延迟没有任何限制,可以在无限时间后将消息发送到其他共识节点。 由于FLP不可能定理(在节点故障的可靠网络中,即使只有一个最小化异步模型系统,也不存在可以解决一致性问题的确定性算法),异步共识算法不能确定性地保证共识的最终性,所以,几乎没有高效的全异步共识算法,即使比特币也是基于同步网络保证一致性,基于异步网络保证可用性。

半同步共识算法在前两者之间进行了权衡,要求消息在一定时间后到达网络中所有共识节点的概率和时间之间的关系是已知的。 目前主流的区块链共识算法都是基于半同步网络模型,即半同步共识算法。

比特币采用的共识机制是pos_莱特币是比特币?_q币和比特币是货币吗

莱特币是比特币?_比特币采用的共识机制是pos_q币和比特币是货币吗

评价一个区块链共识算法的优劣可以从以下四个方面进行,即:容错性能、终结性性能、可扩展性(消息复杂度)和网络模型性能。

容错性:指共识算法的容错性。 在区块链中,尤其是在公链中,由于节点之间存在利益博弈,网络状态是去中心化的,其共识算法必须支持节点作恶的容错性,因此区块链的共识算法必然是拜占庭容错算法。

Finality performance:指区块链网络完成一个候选区块的最终一致性所需的时间,对于面向用户的DApp应用来说是一个非常重要的参数。

可扩展性:指区块链网络中节点数量与共识算法性能之间的关系。 例如,PBFT算法随着节点数量的增加,完成一轮共识需要在网络中传播的消息数量呈二次方增长,因此PBFT算法无法支持大规模网络。

共识算法网络模型的性能对其容错性能和最终性能有很大的影响。 在大规模区块链网络条件下,同步共识算法要求所有节点在规定时间内响应其他节点的消息,否则将被认为是故障节点,因此受网络波动影响较大,进一步导致算法的容错性能失效,由于 FLP 不可能定理,异步共识算法无法给出明确的最终性性能,所以目前主流的区块链共识算法都是基于半同步模型。

02

目前主流的共识算法

在区块链发展初期,主流的区块链网络是基于,包括,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,等.

由于存在问题比特币采用的共识机制是pos,基于PoS共识算法的研究在2017年后快速发展,2018年陆续推出各种基于PoS共识算法的公链。

莱特币是比特币?_q币和比特币是货币吗_比特币采用的共识机制是pos

目前主流的共识算法可以分为以下几种:

一、按开采方式分类:

1. PoW:所有节点通过解决某个计算问题(如哈希问题)参与共识,包括:比特币、以太币、莱特币。

2. PoS:所有节点通过质押Token参与共识,包括:EOS的DPoS、DFINITY、VBFT。

2. 基于最终性的分类:

1. GHOST:PoW,以太坊-PoS。

2. BFT:Tendermint、EOS DPoS、Algorand、DFINITY、VBFT。

3、基于节点的选择方法:

1. 所有节点参与:PoW、Ethereum PoS、Tendermint。

莱特币是比特币?_q币和比特币是货币吗_比特币采用的共识机制是pos

2. 随机选择部分节点参与:Algorand、Dfinity、VBFT。

比特币采用的共识机制是pos_q币和比特币是货币吗_莱特币是比特币?

▲ 主流共识算法对比

从上面的分类过程中,我们可以看到当前区块链共识算法在性能、可扩展性、去中心化等方面的演进过程。

比特币采用PoW共识算法,通过计算哈希问题和最长链规则实现去中心化的共识算法。 随着比特币网络规模的增大,后续区块在网络传播中的延迟增加,基于最长链规则造成大量假分叉,浪费了网络中的算力和PoW共识的性能算法。

针对假分叉问题,区块链社区随后提出通过DAG扩展PoW共识算法,如:PHANTOM、Conflux等。但针对PoW算力的浪费,区块链社区转而更多基于 PoS 的共识算法。

,直到PoW共识机制完全取消,完成向PoS共识算法的切换。 同时,很多新兴的区块链平台都采用了PoS共识机制,其中最著名的就是EOS的DPoS共识算法。

同时,随着区块链应用的增多,区块链共识算法的可扩展性也日益凸显。 图灵奖获得者 Micali 教授提出了 Algorand 算法,提出了一种基于 VRF 随机选择部分节点参与共识的方法。 BFT方式大大降低了共识算法的消息复杂度,在保证去中心化安全性的同时达成共识。 算法可扩展性。

在此基础上,VBFT等共识算法加入了PoS治理机制,并以此为基础,解决了随机节点选择的采样陷阱问题,在保证算法可扩展性的同时,实现了出色的最终性性能。

莱特币是比特币?_q币和比特币是货币吗_比特币采用的共识机制是pos

混合共识算法也值得介绍。 由于单一共识算法的局限性,如 PoW 共识速度慢等,区块链研究人员试图将两种或多种共识算法组合起来,取长补短,取得更好的共识特性。

一般来说,混合共识包括PoW+PoS、PoW+BFT、PoS+BFT。 新一代的共识算法,如Algorand、DFINITY、BUMO的BU Firework、Ontology的VBFT等,都是混合共识算法。

03

共识算法的发展趋势

总的来说,目前的共识算法正在逐渐从PoW转向PoS,通过VRF随机选择节点来实现算法的可扩展性。 此外,Avalanche 共识算法还利用节点的随机选择来实现区块链共识算法的可扩展性。 但是,目前还没有区块链使用这种共识算法。

随着对区块链共识算法的研究,区块链技术界发现,在互联网规模的网络中所能达到的性能上限不仅取决于共识算法的性能参数,还取决于该规模下消息传播的完成情况网络时延等物理上限。

因此,主流区块链的研究团队纷纷投入下一步区块链网络性能扩展的方向。

q币和比特币是货币吗_比特币采用的共识机制是pos_莱特币是比特币?

q币和比特币是货币吗_莱特币是比特币?_比特币采用的共识机制是pos