共识机制是区块链的核心问题,所有区块链都会采用一种共识机制来使得去中心化网络能够同步.毫不夸张的说,在区块链领域内,一切都是围绕共识运转的.共识机制之于区块链,就如同法律之于国家一样的存在.那么,共识机制究竟是什么?
所谓共识机制,是分布式系统中的一个过程,用于在涉及多个不可靠节点的网络中,在所有节点之间实现数据一致性并对某个提案达成一致的协议.不同的共识机制各自有其优缺点.现在主要根据安全性,可扩展性,TPS性能,以及资源消耗来判定一款共识机制的优劣.
尽管现在区块链项目如过江之鲫,但主流的共识机制总结起来却不外乎几种,下面我们一一分析道来,相信大家看完,会对共识机制有一个自己的认识.
最普遍的共识机制便是PoW和PoS.
PoW (Proof of work)即工作量证明机制,PoW机制是比特币等需要挖矿币种的通用机制,对于重复性小概率事件来说,出示结果同时就证明了工作量.具体到应用,就是工作越多,收益越大.
这种思想被广泛地使用在我们的生活中.比如近期火爆的"吃鸡"游戏(绝地求生),不考虑外-挂的前提下,玩家在一场游戏中成功活到最后的概率很小,如果一个人最近"吃鸡"的次数非常多,那基本能证明他的实力,大概率靠的不是运气.
再或者关于运动技巧的掌握,通常也是一种工作量证明.一个三分球精准的篮球投手,一定付出了大量的时间去练习投篮,因为工作量与技能的熟练程度是正相关的.
PoS(Proof of stake)即股权证明机制,与PoW不同,PoS币是不需要挖矿的,它会在创世区块内写明股权证明,直接证明你拥有的份额.简而言之,就是你拥有1%的股权,和PoW中你拥有1%的算力的效果是一样的.
两种机制在保障安全上各有独到之处.
在PoW机制中,由于获得激励的概率大体等同于占有的算力,此时撒谎的收益显著低于诚实挖矿.在这个机制下,比特币的安全主要取决于挖矿者,而与持有者没有关系.
而PoS的安全机制则在于股东不会杀死自己的钱,在这个机制下,不占有PoS股权的人无法对链本身构成威胁,其安全取决于持有人,和其他因素无关.
无论是PoW还是PoS都不完美.前者是一种赢者通吃的游戏,并会导致大量的算力被浪费,而后者根本就是不公平的,少数人获得大量成本极低的加密货币,新获得PoS的能力受到已持有PoS的绝对限制.
在PoS机制基础上又诞生了DPoS机制.它和PoS原理上类似,区别就在于前面这个D,这类似于董事会投票.以EOS为例,所有持币地址投票共选出21个超级节点来行使记账权,如果在规定时间内记账失败,网络会选出新的节点来取代他们.
这样做的优点是大大减少了参与验证和记账的节点数量,比特币出块时间为十分钟,而EOS宣称形成共识速度可达秒级.
但缺点是去中心化程度不够,只能算是弱中心化,算不上真正意义的去中心化.另外,绝大多数的持币人根本不关心投票,也缺少投票所需的时间,经验和技能.
PBFT(Practical Byzantine Fault Tolerance)即实用拜占庭容错算法,它主要依据法定多数的决定,一个节点代表一票,以少数服从多数的方式实现了拜占庭的容错演算.