文 | 内参君
“共识机制”的概念因区块链网络而久负盛名。如果说共识是区块链的基础,那共识机制就是区块链的灵魂。它就像一个国家的法律,维系着区块链世界的正常运转。
众所周知,区块链需要在维护它的节点之间达成共识,从而确保网络的正常运行。共识机制,就是区块链中的节点,其中包括诚实节点和恶意的节点,就如何写入一个区块达成共识。
共识机制在一套区块链系统里面起到的作用,非常类似于CPU架构在电子设备中的核心“组件”,一个升级版的架构往往能使电脑的流畅度提升质的飞越。
比特币是第一个提出“共识算法”这一术语的加密货币,因为我们都知道,它使用的是工作量证明算法(Proof of Work algorithm, PoW),由于其能量消耗过多而成为今天讨论的热点。
区块链发展到今天,大家对共识机制已不那么陌生了。区块链作为一个新兴产物,它们的“共识机制”也在不停的更迭。从POW,POS,DPOS开始,到如今各种创新的共识机制,正在推动着整个区块链行业的发展。
工作量证明机制(PoW)
正如我们之前提到的,PoW(Proof-of-Work)是区块链第一个共识算法,它首先被比特币使用。比特币是当今市场上领先的加密货币。在PoW采矿中,矿工要解决复杂的数学难题,这需要大量的计算能力。
第一个解决这个难题的人会创建一个块并获得奖励。解决这一问题的方法基本上是一个“谜语”,因为除了试错法之外,别无选择。
PoW算法确保挖掘者只能验证一个新的事务块并将其添加到链中,前提是网络的分布式节点达成共识,并接受挖掘者发现的哈希值为有效。
PoW具有完全去中心化的优点,在以PoW为共识的区块链中,节点可以自由进出。然而,由于PoW在比特币网络中的应用已经吸引了全球计算机大部分的算力,其他想尝试使用该机制的区块链应用很难获得同样规模的算力来维持自身的安全。
同时,基于PoW的挖矿行为还造成了大量的资源浪费,达成共识所需要的周期也较长,因此该机制并不适合商业应用。
使用POW的加密货币:
根据CryptoSlate统计,目前生态系统中3000多种货币中,共有522种货币使用POW作为共识机制。甚至有些算法经过PoW衍生或改进而来,例如使用DPOW(延迟工作证明)生成共识的Komodo平台,这是POW的基本方案,但经过了修改。
比特币使用SHA 256算法来签署其交易,因此比特币现金、比特币SV和Syscoin等加密货币基本上都采用了相同的比特币方法,但区块的大小有所改进,允许增加生成和验证时间。
一般来说,比特币(BTC)、以太坊( ETH)、莱特币(LTC)、莫奈罗(Monero)、Dash、比特币现金、比特币SV、以太坊Classic、Zcash等都使用了工作证明算法。
这些平台被称为第一代区块链平台,由于它们与主流货币的相似性,绝大多数都位于加密市场的前20名,拥有83.71%的市场份额,约2206.9亿美元。
股权证明(PoS)
PoS(Proof-of-Stake ),这种共识算法是作为PoW的一种替代方案而诞生的,其目标是实现分布式共识。它最初由Peercoin使用,并于2011年在一个Bitcointalk论坛上讨论后创造了这个词。
它的操作与以前的算法有很大的不同。与让矿商证明每一笔交易都是合法的不同,股权益证明要求每一个人下注、持有或对加密货币进行锁仓,并验证其所有权。简而言之,该算法用一种机制代替了PoW的密集挖掘,在这种机制下,将根据相关参与者的“参与”来验证区块。
虽然可以通过多种方式选择新的区块创建者来避免通过可以锁定或处于“下注”状态的硬币数量进行集中化,但通常来说,区块链是通过考虑了区块链丰富性的伪随机选择过程来保护的,并考虑到节点的丰富性和加密货币的年龄以及随机因子。
这种共识机制可以缩短达成共识所需的时间,但本质上仍然需要网络中的节点进行挖矿运算。因此,PoS机制并没有从根本上解决PoW机制难以应用于商业领域的问题。
使用PoS的加密货币:
大约有415个硬币在它们的所有衍生品中使用了这个算法:Binance币,Stellar,Dash,Neo,Cosmos,Ontology等。市值合计约92.7亿美元,占整个市场的3.52%。
委任权益证明(DPoS)
DPoS(Proof of delegated participation)是在EOS中实施的一种非常快速且众所周知的共识机制,由于其股权加权投票系统,通常被称为数字民主。
它的工作方式是用户投票给“代理人”,这些代理人有权通过运行完整节点来获利。您的投票权重取决于您是否参与或阻止硬币。
由于代表希望获得尽可能多的选票,因此不断鼓励他们为社区创造有价值的东西,因为这样做很可能会获得更多的选票。
这种方法应该更有效,保护用户免受不必要的监管干扰。然而,最近几周,其最大的支持者EOS遭到了最初开发人员的大批撤离,他们指责该系统集中且不安全。
使用DPoS的加密货币:
使用DPoS算法的加密货币中,有EOS,Tron,Cardano,Tezos,Lisk,Bitshares,Steem等,总共有24个使用此算法的区块链。考虑到所涉及的项目数量不多,按市值计算,占整个市场的2.64%,该行业的领域相当高。也就是说,大约69.7亿美元。
实用拜占庭容错算法(PBFT)
PBFT(Practical Byzantine Fault Tolerance)是由麻省理工的MiguelCastro在1999年提出,是首个实用的在异步分布式网络中实现拜占庭容错的共识算法。
在公有链中用的最多的是PoW算法和PoS算法,这些算法都是参与者的利益直接相关,通过利益来制约节点诚实的工作,解决分布式系统中的拜占庭问题。拜占庭容错算法是一种状态机副本复制算法,通过节点间的多轮消息传递,网络内的所有诚实节点就可以达成一致的共识。
使用拜占庭容错算法不需要发行加密货币,但是只能用于私有链或者联盟链,需要对节点的加入进行权限控制;不能用于公有链,因为公有链中所有节点都可以随意加入退出,无法抵挡女巫攻击(sybil attack)
使用PBFT的平台:
PBFT共识算法目前不只是蚂蚁区块链平台在使用,央行所推出的区块链数字票据交易平台也是使用的优化后的PBFT共识算法。
批量共识(Batch PBFT)
众所周知,EOSIO采用的是基于流水线的PBFT。在EOSIO上一笔交易基本上需要约3分钟 (理论最低为325个出块时间,即162.5秒) 才能进入LIB。
从技术角度看,在EOSIO采用的DPOS BFT共识算法中,所有块同步后的确认信息都只有轮到该节点出块的时候才会被广播出去,因此,在交易确认上就会产生较长的时间。
因此,正因为看到EOSIO共识机制的不足之处,BOSCore侧链提出并采用了改进优化型的PBFT共识机制,该机制可以实现BP之间实时地对当前正在生产的区块进行确认,从而使整个系统最终达到接近实时的共识速度,客观上缩短了一笔交易变成不可更改状态的时间。
同时,在保证实现拜占庭容错的前提下,BOSCore针对LIB的加速,提出了采用批量共识(Batch PBFT)替换PBFT的方案,对每个块进行共识的要求,通过一次广播多个块的相关信息,以此来逼近实时BFT的理想状态并减轻网络负载。
也就是说,通过Batch PBFT的实施,实现一次广播多个块的相关信息,让BP之间实时地对当前正在生产的区块进行确认,使得整个BOSCore系统最终达到接近实时的共识速度。
Batch PBFT方案能够进一步缓解EOS主网LIB过久的问题,使确认交易不可逆的时间从现在的几分钟缩短到几秒,使区块链技术在某些实际场景中的应用特别是零售支付拥有更多的可能。
新共识机制的特点是多块广播同时进行,生产区块的实时确认。升级后确认速度将从原有EOSIO的160秒左右提升至3秒。
使用Batch PBFT的数字货币:
典型代表BOS。BOSCore采用了名为PBFT (Practical Byzantine Fault Tolerance) 来替代EOS所使用的Pipelined BFT,让超级节点之间实时地对当前正在生产的区块进行确认,以使整个系统最终达到接近实时的共识速度。
授权拜占庭容错(DBFT)
DBFT(Byzantine Tolerance to Delegated Failure)是一个优雅而光辉的名字,它是在一定条件下达成最终共识的解决方案。
DBFT算法的大致原理是这样的。参与记账的是超级节点,普通节点可以看到共识过程并同步账本信息,但是不参与记账。N个超级节点分为1个议长和n-1个议员,议长会轮流当选,每次记账时,先由议长发起区块提案,也就是拟账的区块内容。一旦有2/3以上的记账节点同意了这个提案,那么这个提案就会成为最终发布的区块,并且这个区块是不可逆的,里面所有的交易都是百分之百确认的。
DBFT保证,如果您达成了共识,以后就无法达成其他的共识。只要不良行为者少于核算节点的三分之一,那么一切都没问题。
使用DBFT的加密货币:
该算法是NEO提出的,此后在这种机制下开发了分散式应用程序。
瑞波共识机制(RPCA)
RPCA(Ripple Protocol consensus algorithm)2013年2月Vitalik Buterin曾详细介绍了RPCA,但RPCA真正应用到算法共识是在2014年。RPCA是一个类似PBFT的共识机制,属于节点投票的共识机制。
RPCA每隔几秒能应用到所用节点,这是十分高效的,可以以此来维护整个网络的有效性和一致性。在整个社区中,一旦达成共识,当前的账本将会保存记录在此之前的所有交易信息,然后关闭成为最后的账本。在这个关闭的账本中所有网络节点维护都是相同的。在瑞波币共识证明算法中,节点能够人为的干涉投票和维持trust not list 。RPCA的缺点就是易于遭受攻击,黑客可以伪造node,甚至可以大量扩散潜伏,并在某个时间突然攻击所有网络。当然RPCA优势就是产生区块,Ripple 也不需要大量计算的。它的维护成本高,可以人工维护节点,但也有改动节点的风险。自然它可以采用手工干预,剔除网络中不安全节点。这样网络就分成两部分。牺牲了自动化的优势,保证可信的节点不被攻击。
使用RPCA的加密货币:
最典型的是Ripple。
PoW+PoS混合共识机制
Hcash创新性的采用了PoW+PoS共识机制,持有Hcash的用户与矿工均可以参与到投票中,共同参与Hcash社区的重大决定,持币者与矿工都可以影响预先编制好的更新,如隔离见证(SegWit)、增大区块等等。如果这些更新被广泛认可,无需开发者干预,链就会自动分叉以配合更新。而这才是真正的去中心化。
Hcash的PoS机制使持币者与矿工能够对Hcash区块链上的具体提案/议程进行投票。议程可包括决定开发团队是否花时间实现特定功能,激活已提交的功能的代码以供执行,或作出其他决定,如开发者补贴应该如何花费。
Hcash的PoS还为不合格的矿工提供了一个制衡机制。如果与网络的共识规则不匹配,则多数持币者可以投票阻止无效。
Hcash通过PoS+PoW公平的按持币数量与工作量分配投票权重,可以实现社区自治。在社区里,开发者与爱好者可以提出改进或者增加现有功能。通过社区投票来决定执行与否,即聚集群体智慧,进行决策与执行。
使用PoW+PoS混合共识机制的加密货币:
Hcash采用了PoW+PoS的混合共识机制,能够将受众群体最大化。
有向无环图(DAG)
DAG(Directed acyclic graph)最初出现就是为了解决区块链的效率问题。其通过改变区块的链式存储结构,通过DAG的拓扑结构来存储区块。在区块打包时间不变的情况下,网络中可以并行的打包N个区块,网络中的交易就可以容纳N倍。之后DAG发展成为脱离区块链,提出了blockless无区块的概念。新交易发起时,只需要选择网络中已经存在的并且比较新的交易作为链接确认,这一做法解决了网络宽度问题,大大加快了交易速度。
DAG具有交易速度快,无需挖矿,极低的手续费等优点,但网络规模不大,导致极易成为中心化,安全性低于PoW机制等缺点也不容忽视。
使用DAG的加密货币:
目前采用这个技术有IOTA、byteball两个币,项目ITC万物链是国内首个基于DAG的物联网区块链。
PooI验证池机制
Pool验证池基于传统的分布式一致性技术建立,并辅之以数据验证机制,是目前区块链中广泛使用的一种共识机制。
Pool验证池不需要依赖代币就可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础之上,可以实现秒级共识验证,更适合有多方参与的多中心商业模式。不过,Pool验证池也存在一些不足,例如该共识机制能够实现的分布式程度不如PoW机制等。
验证池机制是区块链共识机制的四大类之一,它是基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制。
活动证明(POA)
POA (Proof of Activity ),这一概念最早于2012年作为权益证明(PoS)的替代方案引入。它不是一种独立的共识算法,而是一种POW与POS(proof of stake股权证明)混合的算法。不同数字货币对POS算法的实现协议差别很大,而且POS的安全性有待时间检验。而POW算法的安全性在比特币和以太坊上得到了充分的证明。POA算法可以看作是比特币的一个扩展,而且协议简单清晰,比较容易理解。
该机制的工作原理是从工作证明开始,矿工们基本上解决了一个密码难题,如果他们成功了,他们就可以获得奖励。区别在于,开采的区块仅是标题和挖掘的奖励地址,而不包含交易。
使用POA的加密货币:
目前有唯链,欧链等采用了POA共识机制,还有最受欢迎的货币包括Decred(DCR)和Espers(ESP)。
燃烧证明(POB)
POB(Proof of Burn)与以下概念相似:某人不可能从区块链中删除数据。因此,概念是“燃烧”硬币。它包括提供证据,表明在将交易发送到无法使用的地址的过程中一些硬币已被烧毁。
此方法仅适用于从工作量证明的加密货币中提取的硬币。用户将尝试消耗最多的硬币来“赢得”区块奖励。大多数时候,已经引入了燃烧测试,以减慢其他硬币的速度,从而破坏一个硬币的价值。
据说选择过程是随机的,但同时也说,用户燃烧的硬币越多,被选择提取下一个区块的机会就越大。这有点类似于比特币流程,在该流程中,投资取决于计算能力,需要提高计算能力以获得更好的哈希率。
使用POB的加密货币:
Slimcoin(SLM)是该算法的一个很好的例子。TGCoin或第三代硬币也使用该算法。但是,Counterparty的辅助货币是通过燃烧测试过程分配的。参与者不得不将比特币发送到一个不可靠的地址,并获得了对方代币。
容量证明(POC)
POC(Proof of Capacity)是一种共识机制,它使用一个称为跟踪的过程。有了工作证明,矿工们使用计算来猜测正确的解决方案;然而,有了容量证明,这些解决方案先前存储在数字存储(如硬盘驱动器)中。这个过程称为跟踪。
绘制存储后(这意味着它已填充解决方案),可以参与块创建过程。
谁拥有解决(新)块难题的最快解决方案,谁就可以创建新的块。您拥有的存储容量越多,可以存储的解决方案越多,则创建块的机会就越大。
使用POC的加密货币:
Burstcoin是第一个引入此概念的人。其他示例是Chia和SpaceMint。
流逝时间的证明(PoET)
PoET(Proof of Elapsed time )是一种共识机制算法,通常用于授权区块链网络,以决定网络中的采矿权或区块赢家。授权的区块链网络是要求任何潜在参与者都可以被识别才能加入的网络。基于公平抽奖的原则,即每个节点都有可能成为赢家,PoET机制的基础是在尽可能多的网络参与者中公平地分配中奖机会。
从本质上讲,工作流类似于比特币工作证明(PoW)算法所遵循的共识机制,但没有其高功耗。
使用PoET的加密货币:
该协议最典型的例子是hyperledger sawtooth,一个模块化、授权和企业级的区块链平台。
方尖碑一致性共识算法(Obelisk)
Obelisk(Obelisk consensus algorithm)是一种很有前途的共识算法,其目的是消除工作量证明(PoW)和权益证明(PoS)算法的缺点,从而可以以最小的计算能力且无需参与即可维护分布式网络中的区块链状态。它减少了对采矿的需求,显着提高了交易速度,并提高了安全性。
Obelisk试图通过根据“信任网络”的概念在网络中分配影响力来规避PoW和PoS问题,在该概念中,节点用户网络的密度决定了其在链中的影响力。
使用Obelisk的加密货币:
这种共识算法的最典型案例是在名为SkyCoin的项目中。
转让证明(POA)
PoA(Proof of Assignment)是一种新时代的共识机制,它需要更少的动力,可以在相对低端的硬件上运行。PoA工作机制允许将日常的物联网(IoT)应用程序用于有限容量的基本挖掘功能。凭借其机载处理能力,可将IoT兼容设备用于加密货币挖掘。
但是,由于这些设备上的可用内存和处理能力有限,因此它们对挖掘的贡献仍然很小。PoA算法的工作机制促进了这种“轻度”挖掘。
使用POA的加密货币:
最著名的例子是IOTW区块链。
检查点证明(POC)
PoC(Proof of Checkpoint)是一个混合系统,它使用任何利害关系证明系统和工作证明系统。这个概念的思想是减轻对权益证明系统的攻击。但是,它仍然会遭受已断开连接很长时间的节点的攻击,进而可以用来提供有关区块链的虚假信息。
权益证明系统中每x个块都需要删除工作量证明块。每个工作量证明块不包含事务,并且直接链接到工作量证明网络和参与证明网络。
证明公式配方证明(POF)
韩国FLETA平台提出的新颖共识算法称为PoF(Proof of Formulation )试图通过在单个共识机制中结合各自的优点来解决PoW(能源支出),PoS(安全失败)和dPoS(集中化)的不足。
在配方证明(PoF)中,与现有区块链平台相比,采矿和区块生成的执行方式有所不同。配方设计师在FLETA平台上充当块生成器。观察者可以实时确认所生成的区块,并避免重复花费。制定者充当PoF算法的骨干。PoF算法与PoW的不同之处在于,它不需要巨大的计算能力,也不同于DPoS,后者只有当选的代表才能参与挖掘。
由于只有0.5秒的短块时间,因此挖掘速度很高,每个块只有4秒。此外,在FLETA采矿生态系统中,可通过观察者节点立即确认区块。在五个观测节点中,三个观测节点在生成它们后应立即对其进行验证,以使这些块快速传播。
信誉共识算法(PoR)
PoR(Prof of Reputation)信誉共识算法,是贝克链的独创的共识机制。
信誉共识PoR协议算法起到提高共识效率、提高并行处理效率、实现多节点协作,建立区块链世界的信誉体系Bit-R解决信誉问题;通过技术创新和制衡哲学打破区块链“不可能三角”,实现了区块链可扩展性,安全性,有效的去中化。
PoR信誉共识算法,通过Bit-R信誉值(Bitconch Reputation)选择诚信节点来有效抗中心化,通过PBFT实用性拜占庭容错提高共识效率,通过创新的BLAZE技术提高并行处理效率,通过Sharding 分片技术实现多节点协作。
在安全性方面,PoR共识算法和Bit-R信誉体系使系统拥有良好的容错性能、抗双花攻击和抗女巫攻击性能。为了有效抗击中心化,预防少数节点联合作恶,贝克链通过扩大候选池、提高作恶成本、基于交易历史的信誉无法合并等方式,更公平的让更多高用户参与和获得系统权益。
PoR共识算法还得到了现代密码学之父、世界计算机领域最高奖图灵奖获得者Whitfield Diffie博士的高度认可,也因此他的实验室与贝克链成为战略合作伙伴。该实验室还包括2007年诺贝尔经济学奖获得者Maskin博士和2010年诺贝尔经济学奖获得者Pissarides博士。
并且在福布斯创新板块上评选了“全球10个2019年最值得关注的区块链项目”,贝克链被福布斯评为2019年值得关注的区块链项目TOP5,是唯一一个公链项目。在文章的推荐语对PoR共识算法进行了精准的评价:贝克链建立了一个智能的三维节点信誉系统,POW(工作证明)+ POS(股权证明)+ POA(活动证明),形成了一个开放的节点池和反集中化。
使用POR的加密货币:
贝克链通过不断的创新,已经申请多项区块链专利,获得国家知识产权局颁发的专利证书。其中首创POR共识算法和BLAZE零延迟验证技术,并获三项国际专利。
重要性证明(POI)
POI(Proof of Importance,Proof of Importance),使用账户重要性评分来分配记账权的概率。
参与度证明(POP)
POP(Proof of Participation)结合了DPOS与POI的思想。