共识机制从古至今一直伴随着人类的发展。而共识算法是区块链的核心机制之一。今天咱们先来了解下什么是共识机制。抛开那些复杂的技术语言,共识机制的本意就是假设大家面对需要解决的问题,又没有一个明确的领导人,那么大家就需要协商出一个方法/方式来解决这个问题,最终达成统一,这一过程基本就可以理解为共识机制。
目前,随着区块链技术的发展和演变包含了:POW(工作量证明)、POS(权益证明)、DPOS(股份授权证明机制)、Pool验证池( 布比区块链的私有算法 )、DBFT( 小蚁采用的机制 )、POC(概念验证)、POR等共识算法机制。
主流共识机制
POW( Proof of Work)
一句话介绍:劳动致富,多劳者多得!
POW机制是依赖机器算力进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。POW机制最早出现在比特币中,这也是区块链里出现的较早的共识机制。
优点:
算法简单,容易实现;
节点间无需交换额外的信息即可达成共识;
破坏系统需要投入极大的成本;
缺点:
浪费能源;
区块的确认时间难以缩短;
新的区块链必须找到一种不同的散列算法,否则就会面临算力攻击;
容易产生分叉,需要等待多个确认;
永远没有最终性,需要检查点机制来弥补最终性;
POS( Proof of Stake)
一句话介绍:持有越多,获得越多。
主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于POW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。该共识机制容错性和POW相同。它是POW的一种升级共识机制,根据每个节点所占token的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度。
优点:
在一定程度上缩短了共识达成的时间;
不再需要大量消耗能源挖矿。
缺点:
还是需要挖矿,本质上没有解决商业应用的痛点;
所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成以太坊硬分叉,而ETC由此事件出现,事实上证明了此次硬分叉的失败。
DPOS(Delegated Proof of Stake)
一句话介绍:POS的升级版
DPOS与POS原理相同,只是选了一些“人大代表”。BTS社区最先提出了DPOS机制。最近较热的EOS也是采用了DPOS机制。
与POS的主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与POS相似。类似于董事会投票,持币者投出一定数量的超级节点,代理他们进行验证和记账。也就是说成为超级节点就等于能够成为“人大代表”(也就是超级节点)。
优点:
大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证;
更加去中心化的机制;
拥有更高的处理效率
缺点:
整个共识机制还是依赖于token,很多商业应用是不需要token存在的。
POOL验证池
一句话介绍:基于传统的分布式一致性技术,加上数据验证机制。
优点
不需要token也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。
缺点
去中心化程度不如Bitcoin;
更适合多方参与的多中心商业模式。