共識機(jī)制是區(qū)塊鏈的核心問題,所有區(qū)塊鏈都會采用一種共識機(jī)制來使得去中心化網(wǎng)絡(luò)能夠同步。毫不夸張的說,在區(qū)塊鏈領(lǐng)域內(nèi),一切都是圍繞共識運(yùn)轉(zhuǎn)的。共識機(jī)制之于區(qū)塊鏈,就如同法律之于國家一樣的存在。那么,共識機(jī)制究竟是什么?
所謂共識機(jī)制,是分布式系統(tǒng)中的一個過程,用于在涉及多個不可靠節(jié)點的網(wǎng)絡(luò)中,在所有節(jié)點之間實現(xiàn)數(shù)據(jù)一致性并對某個提案達(dá)成一致的協(xié)議。不同的共識機(jī)制各自有其優(yōu)缺點?,F(xiàn)在主要根據(jù)安全性,可擴(kuò)展性,TPS性能,以及資源消耗來判定一款共識機(jī)制的優(yōu)劣。
盡管現(xiàn)在區(qū)塊鏈項目如過江之鯽,但主流的共識機(jī)制總結(jié)起來卻不外乎幾種,下面我們一一分析道來,相信大家看完,會對共識機(jī)制有一個自己的認(rèn)識。
最普遍的共識機(jī)制便是PoW和PoS。
PoW (Proof of work)即工作量證明機(jī)制,PoW機(jī)制是比特幣等需要挖礦幣種的通用機(jī)制,對于重復(fù)性小概率事件來說,出示結(jié)果同時就證明了工作量。具體到應(yīng)用,就是工作越多,收益越大。
這種思想被廣泛地使用在我們的生活中。比如近期火爆的“吃雞”游戲(絕地求生),不考慮外-掛的前提下,玩家在一場游戲中成功活到最后的概率很小,如果一個人最近“吃雞”的次數(shù)非常多,那基本能證明他的實力,大概率靠的不是運(yùn)氣。
再或者關(guān)于運(yùn)動技巧的掌握,通常也是一種工作量證明。一個三分球精準(zhǔn)的籃球投手,一定付出了大量的時間去練習(xí)投籃,因為工作量與技能的熟練程度是正相關(guān)的。
PoS(Proof of stake)即股權(quán)證明機(jī)制,與PoW不同,PoS幣是不需要挖礦的,它會在創(chuàng)世區(qū)塊內(nèi)寫明股權(quán)證明,直接證明你擁有的份額。簡而言之,就是你擁有1%的股權(quán),和PoW中你擁有1%的算力的效果是一樣的。
兩種機(jī)制在保障安全上各有獨到之處。
在PoW機(jī)制中,由于獲得激勵的概率大體等同于占有的算力,此時撒謊的收益顯著低于誠實挖礦。在這個機(jī)制下,比特幣的安全主要取決于挖礦者,而與持有者沒有關(guān)系。
而PoS的安全機(jī)制則在于股東不會殺死自己的錢,在這個機(jī)制下,不占有PoS股權(quán)的人無法對鏈本身構(gòu)成威脅,其安全取決于持有人,和其他因素?zé)o關(guān)。
無論是PoW還是PoS都不完美。前者是一種贏者通吃的游戲,并會導(dǎo)致大量的算力被浪費,而后者根本就是不公平的,少數(shù)人獲得大量成本極低的加密貨幣,新獲得PoS的能力受到已持有PoS的絕對限制。
在PoS機(jī)制基礎(chǔ)上又誕生了DPoS機(jī)制。它和PoS原理上類似,區(qū)別就在于前面這個D,這類似于董事會投票。以EOS為例,所有持幣地址投票共選出21個超級節(jié)點來行使記賬權(quán),如果在規(guī)定時間內(nèi)記賬失敗,網(wǎng)絡(luò)會選出新的節(jié)點來取代他們。
這樣做的優(yōu)點是大大減少了參與驗證和記賬的節(jié)點數(shù)量,比特幣出塊時間為十分鐘,而EOS宣稱形成共識速度可達(dá)秒級。
但缺點是去中心化程度不夠,只能算是弱中心化,算不上真正意義的去中心化。另外,絕大多數(shù)的持幣人根本不關(guān)心投票,也缺少投票所需的時間,經(jīng)驗和技能。
PBFT(Practical ByzanTIne Fault Tolerance)即實用拜占庭容錯算法,它主要依據(jù)法定多數(shù)的決定,一個節(jié)點代表一票,以少數(shù)服從多數(shù)的方式實現(xiàn)了拜占庭的容錯演算。
優(yōu)點在于保證靈活性和安全性的前提下最大允許(n-1)/3故障節(jié)點的容錯性,缺點是當(dāng)有1/3或以上記賬人停止工作后,系統(tǒng)將無法提供服務(wù)。