区块链技术最为重要的一个环节——共识机制,未来的区块链之争,必定是算法之争。如果一个区块链项目它根据自己所要适应的环境去开发或者选择合适的的共识机制,那么这个项目至少从逻辑上是合理的
那么作为区块链,我们又如何才能做出适合的共识机制呢?
首先,我们要回到“拜占庭将军”问题——由于缺乏互信的信任,将军们不知道该如何传递信息,也不知道如何才能实现共识。共识机制,就是“拜占庭将军”问题的解决方案。不过在区块链项目中,共识机制多种多样。
工作量证明(POW)
继续用“拜占庭将军”来举例。如果城堡左边有三个将军同时给城堡右边的三个将军发消息,并且他们发的消息是被加密的,右边的将军拿到信息,只需要使用之前约定好的解密方式,就可以拿到正确的信息。
虽然给信息进行加密非常的费时间,但是如果敌军抓到这个将军,可能需要花费更长的时间来进行解密。可能在解密的途中,敌方的城池就已经被攻下了。同样的原理放在区块链上,就成了“工作量证明”共识机制。“矿工”通过解答加密难题来“挖”出一个区块,但是整个过程需要很大的算力。当矿工解决了这个难题的时候,他们就会将区块放入网络进行验证,整个验证过程非常容易。所以,通过验证你的工作量来证明你有做过这件事情。
POW机制解决了拜占庭将军问题,即在互不信任的情况下,也能保证系统的正确运转。这让系统具备一定的容错性,也就是说的:区块链具备去信任的能力。
但是工作量证明机制也存在不少的弊端,比如效率不高,能买得起更好“矿机”的土豪就拥有更多的算力,也会导致对算力的垄断。
权益证明(POS)
说到权益证明,大家可能有点陌生了,其实以太坊一直也打算往权益证明共识方面转移。
权益证明考虑到工作量证明需要耗费大量的能量,并且还会产生各种浪费。于是想出用虚拟挖矿代替真实挖矿机制,并且由验证者代替矿工。
所以在权益证明中,想要充当验证者,首先就需要锁定一部分的代币作为权益证明。而且你持有的时间越长,代币越多,你的权益也就越大。
但是在权益证明中,最大的问题是很难像工作量证明那样对欺诈行为进行惩罚。不过以太坊为了想要使用POS算法,想出了一个新招,“Casper”协议。本质上说,这也是一种权益证明的方法。
同样地,验证者需要将一部分以太坊作为权益,发现区块进行投注,之后获得收益。但是,和普通权益证明不同的是,如果验证者作弊,他们就会立刻收到惩罚,并且预留的权益资产就会被削减。
授权股权证明(DPOS)
其实这是POS算法的一种变型,也是大名鼎鼎的EOS的共识算法。通过它,EOS才可以做到每秒百万级的转账速度。DPOS算法中,用户可以进行投票选出区块生产者,矿工要合作来产生区块,而不是互相竞争。但是DPOS机制太过于依赖投票,也是最大的缺陷。不过如果有项目,能够想到去应用DPOS算法,甚至是想到DPOS改良的方法,那么至少证明这个项目是有心做事的。
实用拜占庭容错算法(dBFT)
dBFT算法考虑到了如果有人发欺诈消息的情况,并保证只要有2/3的人发的是真消息,那么共识就可以达成。通过这种共识机制,可以达到更快的转账速度以及扩容性。
没有共识机制,就不会有拜占庭容错的去中心化P2P网络。现阶段,我们对POW和POS的讨论比较多,但是对应不同项目,会有不同的共识机制产生,所以大家在分析项目的时候,也许你不用懂得这个共识机制到底如何编写的,如果你知道这个项目的特性,比如项目需要很快的转账速度,但是用的是POW共识机制,那么大概率是无法满足的。
小结
通过以上介绍,我们可以知道区块链技术最重要的环节就是共识机制。能够在算法、容错机制上有所改良和突破的项目,都将是区块链世界的实力选手。