共识机制是什么
如果说共识是区块链的基础,那共识机制就是区块链的灵魂。
由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。
因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。
在区块链系统当中,没有一个像银行一样的中心化记账机构,保证每一笔交易在所有记账节点上的一致性,即让全网达成共识至关重要。共识机制解决的就是这个问题。
首先,没有一种共识机制是完美无缺的,各共识机制都有其优缺点,有些共识机制是为解决一些特定的问题而生。
现今区块链的共识机制可分为四大类:工作量证明机制、权益证明机制、股份授权证明机制和Pool验证池。
1.POW( Proof of Work)工作量证明
一句话介绍:干的越多,收的越多。
顾名思义,工作量证明是证明你完全某项任务所花费的精力(包括时间、脑力、体力等),同时也证明你达到了某个水平。
在众多的区块链应用中,使用工作量证明作为共识算法的典型案例就是比特币。
假设比特币的世界里有A、B、C、D四个人,现在这四个人都在争抢记账权限(挖矿),到底用什么方式在保证公开、公正、透明的情况下,快速决定把记账权限归谁呢?
因此就发明了工作量证明机制,即每一次要争夺记账权限,都给A、B、C、D四个人出一道题,谁要是第一时间算出了这道题的正确答案,就可以获得一个证书——工作量证明,就可以获得记账权。
PoW即工作量证明,
它的优点是:
1.算法简单,容易实现;
2.节点间无需交换额外的信息即可达成共识;
3.破坏系统需要投入极大的成本;
它的缺点:
1.浪费能源;
2.区块的确认时间难以缩短;
3.新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
4.容易产生分叉,需要等待多个确认;
5.永远没有最终性,需要检查点机制来弥补最终性;
2.POS(Proof of Stake),权益证明
一句话介绍:持有越多,获得越多。
POS通过评估你持有代币的数量和时长来决定你获得记账权的机率。这就类似于股票的分红制度,持有股权相对多的人能够获得更多的分红。
优点:
在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。
它的缺点:
1.没有专业化,拥有权益的参与者未必希望参与记账;
2.容易产生分叉,需要等待多个确认;
3.永远没有最终性,需要检查点机制来弥补最终性;
3.DPos,股份授权证明
DPOS与POS原理相似,只是选了一些“人大代表”。 与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。
股份授权证明类似于董事会投票,假设某个区块链系统的世界里有10万人,现在这10万人投票选出了4位股东作为代表来行驶记账权,这4位董事分别是A、B、C、D,在记账过程中,按顺序每位董事有两秒钟的时间来记账,如果在规定的时间内记账失败,则直接把权限交给下一位董事,这样原本10万人参与记账竞争的游戏,现在变成了4人。
典型的几十现在炒的很热门的EOS超级节点
优点:
大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。
缺点:
整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的
4.PooI验证池
Pool验证池基于传统的分布式一致性技术建立,并辅之以数据验证机制,是目前区块链中广泛使用的一种共识机制。
Pool验证池不需要依赖代币就可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础之上,可以实现秒级共识验证,更适合有多方参与的多中心商业模式。不过,Pool验证池也存在一些不足,例如该共识机制能够实现的分布式程度不如PoW机制等
优点:
不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。
缺点:
去中心化程度不如bictoin;更适合多方参与的多中心商业模式。
对比这四种最常用的共识算法,不难发现各有利弊,它们的诞生都围绕着一个核心——如何更加公平、公正、透明、轻量(不过多消耗资源)、高效(更快)地达成共识,挑选出记账的人(节点)。