1.区块链的共识机制
所谓共识机制,即一套让参与者能形成共同认识的方法论。区块链作为一个去中心化的分布式大账本,没有一个中心主体在负责体系的运转,账本怎么记?什么账本才是大家确认的?诸如此类都需要由一个去中心化的机制来达成共识。所以共识机制至关重要,是区块链技术的核心,共识机制对于一个区块链系统来说就是它的灵魂,很大程度上决定了整个区块链系统节点间的相互信任程度,也决定了其他使用者对于区块链上数据的信任程度,还决定了一个区块链系统“去中心化”的程度。
同时,共识机制设计好了,一是能够保证网络的安全,保证记账的安全,免于遭受恶意攻击;二是能够让社区很好的自己运转,特别是在如何激励方面,是否有好的设计是自治社区能否进入良性循环的关键。区块链的共识机制主要有工作量证明机制、权益证明机制和股份授权证明机制。
工作量证明机制:POW( Proof of Work)一言以蔽之:干的多,得的多。POW是最经典的共识机制,由比特币引入并使用。这个机制的本质就是消耗算力,因为解题没有其他办法,就是靠算力。而虽然解题耗费算力,但验证答案是否正确却很简单。由于算力背后是经济的成本,需要电费和矿机等支撑。这意味着要发起51%的算力攻击需要巨大的能源和算力资源才能完成。
PoW是目前为止运行时间最长的共识机制,也是最久经考验的共识算法,有较高的安全性,也是相对公平、去中心化的网络。但也不是十全十美,尤其是在电力消耗和性能上。由于解题需要消耗大量的电力,全世界PoW算法所消耗的能源据统计已经超过爱尔兰一个国家所消耗的电力。另外,PoW的机制为了保证安全性,在性能上也不能兼顾,它的扩展性备受诟病。每秒才7个交易,跟中心化每秒10万以上的交易相比,完全无法媲美。基于PoW机制,比特币很难成为网络电子现金支付系统。
权益证明机制:POS(Proof of Stake)简而言之:持有越多,获得越多。主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于POW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。
由于POS无须通过消耗算力获得记账权,所以更环保。POS有验证者,这些验证者节点需要锁定一定量的token,锁定之后,就有权益的证明。一组验证者轮流提议和投票下一个区块的生成,而投票的权重取决于其持有token多少,权重越大,就越有话语权。POS的好吃达成共识速度快,更适合代币固定的网络,不会产生通货膨胀,它的收益奖励主要来自于用户的交易;但也有不足,不是所有节点都愿意挖矿、永远没有最终性,需要检查点机制来减缓这个问题、也容易产生分叉。
股份授权证明机制DPoS,类似于人民代表大会制度,每个人民都有权力,但是他们会将其投票权授予一名代表出来代理他们行使权力,假如代表权力行使得不好,人民可能就会重选。DPoS解决了比特币采用的传统工作量证明机制(POW)以及点点币和NXT所采用的股份证明机制(POS)的问题的同时,还能通过实施科技式的民主以抵消中心化所带来的负面效应。
DPOS背后的基本原理:
1.给持股人一把可以开启他们所持股份对应的表决权的钥匙,而不是给他们一把能挖矿的铲子。
2.最大化持股人的盈利。
3.最小化维护网络安全的费用。
4.最大化网络的效能。
5.最小化运行网络的成本 (带宽、CPU等)。
5.零知识证明
零知识证明指证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
放在比特币中就是隐私交易,在比特币网络中,用户需要将交易明文广播给所有矿工,由他们来校验交易的合法性。但是有些情况下,基于隐私的考虑,又不想把交易的具体内容公布出来。这就形成了一对矛盾。解决这个矛盾的核心就是,证明这个事件本身正确与否,而不再需要验证者重视整个事件。对于比特币交易的例子,只需要证明:发送方的钱属于发起交易的人;发送发的钱跟接收方收到的钱相等;发送方的钱在交易结束后确实被销毁了。整个证明过程中,矿工其实并不关心具体花掉了多少钱,发送者具体是谁,接受者具体是谁。矿工只关心系统的钱是不是守恒的。