风险提示:理性看待区块链,提高风险意识!

从PoS到dBFT:浅析共识协议

2个回答

恩赐解脱6星评价

2020-04-30 13:48:21

从PoS到dBFT:浅析共识协议

尽管区块链和加密货币社区仍然因对区块链的信仰而团结在一起,但他们之间却存在着一个巨大的分歧——共识协议。虽然工作量证明协议(PoW)仍然是比特币和许多其他平台的首选,但围绕着权益证明协议(PoS)及其它新兴共识协议的争论仍然剑拔弩张。

工作量证明(PoW)

作为共识协议的鼻祖和中本聪的创意,工作量证明协议的设定使矿工通过解决复杂的密码难题来获得比特币或通证形式的奖励。

优点

作为最早的协议,PoW已经证明了其抵御内部和外部攻击的能力。

缺点

PoW受到人们指责主要有以下几个原因。

首先,比特币的能源消耗非常大,据估计,比特币网络等同于159个国家的总耗电量。比特币的批评者Andrew Tayo等人指出,这其中有很大一部分能源都被浪费了,因为不管有多少人参与到挖比特币的竞争中来,每个区块最终只能由一名矿工挖出。

其次,比特币目前主要使用ASIC矿机进行挖矿,换一句话说,比特币挖矿主要由Bitmain等大型操作公司来主导,这些公司能够负担得起大规模挖矿所需的硬件设施。这种做法将挖矿业的权力集中到了少数人的手中,因此社区中有一部分人将比特币称为中心化货币。尽管像Vertcoin等加密货币试图通过定期变化算法的方式来保持对ASIC的抵抗力,但前提是它们必须要在ASIC制造商生产出新型矿机之前调整算法。

采用情况

比特币,莱特币,Zcash和Ethereum Classic,以及其他一些最流行的加密货币都采用了PoW共识协议。

权益证明(PoS)

PoS最初的设想是为了避免PoW众所周知的问题,比如能源消耗。在PoS模型中,那些持有区块链通证的人可以把赌注押在下一个区块是否是正确产出的区块上。如果是正确区块的话,他们就会得到奖励。但是相反,如果有人在一个被证明包含欺诈交易的区块上下注,那么他们的赌注将会被扣除”。

优点

PoS消耗的能量比PoW少。PoS还在积极惩罚不诚实行为,阻止验证者的欺诈行为。

缺点

由于验证节点不提供计算能力(即所谓的无利害关系”问题),PoS区块链可能比PoW有更多的分叉风险。此外,PoS有利于拥有最多通证的人,这也可能会进一步增加它的中心化。比较明显的例子就是基于PoS的NXT,它的最大持有者已经获得了超过90%的通证。

采用情况

使用纯PoS算法的项目有Reddcoin、Decred和NavCoin。PoW的算法问题导致以太坊从原来的纯PoW驱动变成现在开始采用Casper,一种PoW/PoS的混合共识机制。

PoW与PoS的比较

由于比特币和以太坊的市场主导地位,围绕共识协议的争论似乎也都常常围绕着PoW和PoS展开。

其实,人们关于挖矿算法展开激烈辩论的是中心化与去中心化的问题,而不是选择PoS还是PoW的问题。ASIC有助于激励挖矿的中心化,为了克服这一问题,一些PoW网络通过周期性地改变挖矿算法。PoS网络的情况与此类似,一些网络选择了对验证器数量进行限制的共识机制,从而希望提供更大的交易吞吐量。

然而我们必须了解到,PoW和PoS并不是唯一的共识模式,那还有其他的选择么?

股份权益证明(dPoS)

股份权益证明由Steem和EOS的首席技术官Daniel Larimer发明的,它们都使用了dPoS。dPoS允许网络投票给见证人(witness)”,他们将达成增加下一个区块的共识。与标准的PoS模型类似,网络参与者的投票权重由他们所持有的网络通证数量决定。

优点

dPoS中达成共识的参与者越少,决策的速度就越快。通过避免使用ASIC,它促进了网络的去中心化。

缺点

见证人”的使用意味着永远无法实现完全的去中心化。你可以考虑一下完全民主(所有公民对所有问题投票)和代议制民主(选出代表来代表全体选民发言)之间的区别。

Vitalik Buterin对dPOS提出了批评,并描述了这种共识协议将如何导致两极分化,即有影响力的选民组成的团体最终可能会对网络进行恶意攻击。而Larimer在他自己的博客上也写出了加密经济治理的局限性”来为自己辩护。Larimer的结论是:共识是网络的作用,每个社区可能都有自己的‘对与错’定义,这只能通过调查社区成员主观意见来进行衡量。”

采用情况

dPoS适用于Dan Larimer的所有项目,即BitShares、Steem和EOS。

任务证明(Proof of Assignment,简称为PoA)

与dPoS类似,PoA模型会在网络中建立几个可信节点,只有这些节点才能存储整个分类帐本。PoA模型允许任何在物联网(IoT)上运行、同时还支持网络的设备进行挖矿(它们无需存储整个分类账本)。这一过程被称为微挖矿(micro-mining)”,它甚至可以使那些联网的家用电器来为区块链网络的计力做贡献。

优点

通过利用更大的计算机网络的计算能力,PoA可以在大大减少能耗的情况下处理更快的交易速度。

缺点

PoA仍处于起步阶段,需要通过早期阶段证明它的潜力。

采用情况

任务证明是由IOTW开发的,IOTW是一个区块链项目,它旨在将任何联网设备引入区块链网络。IOTW创始人兼首席执行官Fred Leung解释道:

IOTW的最终目标是,为了大量采用区块链从而将区块链引入进每个家庭。PoA和微采矿将允许任何连接设备在不增加硬件成本的情况下进行挖矿。普通人将获得区块链奖励,因此他们也将进一步了解区块链和加密货币。PoA使用的电力会非常少,因为它不需要进行工作量证明。通过见证协议,微挖矿将允许具有相同数量验证节点的分类账本的数量显著减少。

授权拜占庭容错(dBFT)

dBFT是由NEO团队开发来解决拜占庭将军问题的。该系统由节点、委托人(谁可以批准区块)和发言人(谁提议下一个区块)组成。各种场景说明了dBFT协议有足够能力来保护网络不受恶意参与者的影响。

优点

NEO的高级研发经理Malcolm Lerider谈到了dBFT协议:

dBFT是NEO(以前称为Antshares)发明的,事实证明它很好用。所有交易在第一次确认之后都是100%的最终结果。区块链不能使用dBFT进行分叉,同时高价值链上交易执行起来会快得多,它是基于管理和业务用例构建的。

缺点

Vitalik认为100%的最终结果总是概率性事件,至少从哲学角度来看是这样的。然而,NEO区块链还没有遭遇任何交易逆转的情况。

采用情况

dBFT被NEO使用。

区块链作为一项新型技术正处于大量开发的背景中。许多关键的因素——比如去中心化的程度——都体现了区块链技术的精神核心。至少从现在来看,人们就共识协议还没有达成一致。


刺客4星评价

2020-04-30 13:57:46

POW:Proof of Work,工作证明。

比特币在Block的生成过程中使用了POW机制,一个符合要求的Block Hash由N个前导零构成,零的个数取决于网络的难度值。要得到合理的Block Hash需要经过大量尝试计算,计算时间取决于机器的哈希运算速度。当某个节点提供出一个合理的Block Hash值,说明该节点确实经过了大量的尝试计算,当然,并不能得出计算次数的绝对值,因为寻找合理hash是一个概率事件。当节点拥有占全网n%的算力时,该节点即有n/100的概率找到Block Hash。

POS:Proof of Stake,股权证明。

POS:也称股权证明,类似于财产储存在银行,这种模式会根据你持有数字货币的量和时间,分配给你相应的利息。 简单来说,就是一个根据你持有货币的量和时间,给你发利息的一个制度,在股权证明POS模式下,有一个名词叫币龄,每个币每天产生1币龄,比如你持有100个币,总共持有了30天,那么,此时你的币龄就为3000,这个时候,如果你发现了一个POS区块,你的币龄就会被清空为0。你每被清空365币龄,你将会从区块中获得0.05个币的利息(假定利息可理解为年利率5%),那么在这个案例中,利息 = 3000 * 5% / 365 = 0.41个币,这下就很有意思了,持币有利息。

DPOS:Delegated Proof of Stake,委任权益证明

比特股的DPoS机制,中文名叫做股份授权证明机制(又称受托人机制),它的原理是让每一个持有比特股的人进行投票,由此产生101位代表 , 我们可以将其理解为101个超级节点或者矿池,而这101个超级节点彼此的权利是完全相等的。从某种角度来看,DPOS有点像是议会制度或人民代表大会制度。如果代表不能履行他们的职责(当轮到他们时,没能生成区块),他们会被除名,网络会选出新的超级节点来取代他们。DPOS的出现最主要还是因为矿机的产生,大量的算力在不了解也不关心比特币的人身上,类似演唱会的黄牛,大量囤票而丝毫不关心演唱会的内容。

PBFT:Practical Byzantine Fault Tolerance,实用拜占庭容错算法。

PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。

RPCA:Ripple共识

2013年2月Vitalik Buterin曾详细介绍了瑞波币共识证明(Proof of Consensus),但RPCA真正应用到算法共识是在2014年。RPCA每隔几秒能应用到所用节点,这是十分高效的,可以以此来维护整个网络的有效性和一致性。在整个社区中,一旦达成共识,当前的账本将会保存记录在此之前的所有交易信息,然后关闭成为最后的账本。在这个关闭的账本中所有网络节点维护都是相同的。在瑞波币共识证明算法中,节点能够人为的干涉投票和维持trust not list 。RPCA的缺点就是易于遭受攻击,黑客可以伪造node,甚至可以大量扩散潜伏,并在某个时间突然攻击所有网络。当然RPCA优势就是产生区块,Ripple 也不需要大量计算的。它的维护成本高,可以人工维护节点,但也有改动节点的风险。自然它可以采用手工干预,剔除网络中不安全节点。这样网络就分成两部分。牺牲了自动化的优势,保证可信的节点不被攻击。

dBFT:小蚁共识(delegated BFT),一种改进的拜占庭容错算法

小蚁采用的共识机制是在Castro 和 Liskov提出的“实用拜占庭容错算法”(Practical Byzantine Fault Tolerance)的基础上,经过改进后使其能够适用于 区块链系统。拜占庭容错技术被广泛应用在分布式系统中,比如分布式文件系统、分布式协作系统、云计算等。

小蚁主要做了以下改进:

1)将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;

2)将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;

3)为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);

4)在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题;