1、POW & POS,傻傻分不清楚的共識(shí)機(jī)制
什么是共識(shí)機(jī)制?
我在開(kāi)更的第一篇文章,就簡(jiǎn)單講解了數(shù)字貨幣世界的16個(gè)最高頻名詞,其中一個(gè)就是共識(shí)機(jī)制,還記得嗎?
為什么要有共識(shí)機(jī)制呢?
這就必須要解釋一下在分布式系統(tǒng)中不得不了解的“拜占庭將軍問(wèn)題”了。
拜占庭將軍問(wèn)題(The Byzantine Generals Problem)可以總結(jié)為一句話:
在古代,11位忠誠(chéng)的、不同位置的將軍,如何排除叛徒的影響,對(duì)進(jìn)攻或撤退達(dá)成一致。
當(dāng)然,拜占庭將軍問(wèn)題并不是如今才提出的,我們大中華在春秋戰(zhàn)國(guó)時(shí)期就發(fā)明了“虎符”這個(gè)神奇的方式來(lái)保障命令的正確執(zhí)行。
在分布系數(shù)系統(tǒng)中,各個(gè)節(jié)點(diǎn)就是“拜占庭將軍”,算法執(zhí)行中的任意一個(gè)錯(cuò)誤就是“叛徒”。
為了盡可能地排除錯(cuò)誤、快速達(dá)成一致,來(lái)讓系統(tǒng)有效地、正確地運(yùn)行,便應(yīng)運(yùn)而生了各種“共識(shí)機(jī)制”。
————————————————
下面,我們就來(lái)一起學(xué)習(xí)數(shù)字貨幣世界中常見(jiàn)的幾種共識(shí)機(jī)制:
PoW,工作量證明 Proof of Work
PoW是比特幣所采用的共識(shí)機(jī)制,最早是由Adam Back為了解決垃圾郵件的問(wèn)題而開(kāi)發(fā)的一個(gè)“哈希現(xiàn)金Hashcash”程序。
比特幣采用的是SHA256的單向函數(shù),其具體的工作原理實(shí)在太專(zhuān)業(yè),我們只需要理解到“SHA256的結(jié)果很容易驗(yàn)證,但是要將其計(jì)算出來(lái),需要不斷嘗試運(yùn)算,直到匹配到某個(gè)隨機(jī)數(shù);技術(shù)上而言,任何新增區(qū)塊都需要經(jīng)過(guò)232394億運(yùn)算才能得到”的程度,感興趣的小伙伴可以搜索SHA256去深入學(xué)習(xí)。
因此,只要礦工出示運(yùn)算結(jié)果,那通過(guò)PoW,全網(wǎng)節(jié)點(diǎn)就認(rèn)可了他所付出的成本,承認(rèn)新的區(qū)塊獎(jiǎng)勵(lì)屬于他。
如此大量的運(yùn)算相當(dāng)浪費(fèi)資源,實(shí)際上并沒(méi)有任何科學(xué)或?qū)嶋H用途,只是為了實(shí)踐工作量證明機(jī)制、阻止攻擊者偽裝成節(jié)點(diǎn)來(lái)控制網(wǎng)絡(luò)。
雖然在2009年時(shí)為了構(gòu)建這種去中心化的、允許所有人可以免費(fèi)參與的全球貨幣網(wǎng)絡(luò),沒(méi)有更好的選擇;但是發(fā)展到如今,已經(jīng)有了其他不需要大量浪費(fèi)算力的證明機(jī)制,比如我們下面就要提到的,PoS權(quán)益證明。
————————————————
PoS,權(quán)益證明 Proof of Stake
主要思想是:節(jié)點(diǎn)記賬權(quán)的獲得難度與節(jié)點(diǎn)持有的權(quán)益成反比,也就是說(shuō),一個(gè)節(jié)點(diǎn)擁有的幣越多、時(shí)間越久,越容易獲取記賬權(quán),也就越容易獲取區(qū)塊獎(jiǎng)勵(lì)。
實(shí)際上,最初的PoS是PoW的一種升級(jí),根據(jù)每個(gè)節(jié)點(diǎn)的幣齡,來(lái)等比例地降低挖礦難度,從而加快找到隨機(jī)數(shù)的速度。
什么是幣齡呢?
幣齡=數(shù)量*擁有天數(shù)。
由于區(qū)塊鏈中的每筆交易記錄都會(huì)被標(biāo)記時(shí)間戳,這個(gè)時(shí)間戳就可以作為幣齡的證明,因此幣齡也不可能被輕易偽造。
比如A從B那里收到10個(gè)幣,并且持有了90天,那么,A就擁有了900的幣齡;如果A賣(mài)了這10個(gè)幣,這900幣齡就被消耗了;
后來(lái),為了徹底擺脫P(yáng)oW這種依靠算力的共識(shí)機(jī)制,PoS引入了“利息”的概念;年利率是在PoS機(jī)制最初確認(rèn)時(shí)就設(shè)定的,一般不會(huì)變化。
利息=(幣齡*年利率)/365 ,如果利率是1%,在上個(gè)例子中,A就可以得到0.02466個(gè)幣的利息。
如此一來(lái),PoS區(qū)塊鏈的作用過(guò)程就可以這樣描述:
在初期,通過(guò)PoW機(jī)制,產(chǎn)生創(chuàng)世幣;
在創(chuàng)世幣達(dá)到一定規(guī)模時(shí),PoS機(jī)制開(kāi)始作用,交易時(shí)消耗幣齡、獲得產(chǎn)生區(qū)塊的優(yōu)先權(quán),并獲取利息,同時(shí)PoW機(jī)制由于消耗太多資源、浪費(fèi)算力而逐漸淡出;
最終系統(tǒng)中僅剩PoS來(lái)維持正常運(yùn)作。
目前大家所熟悉的以太坊,主要還是采用PoW的機(jī)制,不過(guò)正在轉(zhuǎn)向PoS。
————————————————
大家了解了PoW和PoS,在遇到其他共識(shí)機(jī)制的時(shí)候,相信也會(huì)比較快得就能理解。
比如:股份授權(quán)證明DPOS,類(lèi)似于董事會(huì)投票;燃燒證明POB;沉淀證明POD;能力證明POC;消逝時(shí)間證明PODT,等等。
就不在這里為大家一一展開(kāi)了,感興趣的同學(xué)可以百度或知乎一下~
2、兩種共識(shí)機(jī)制對(duì)比(PoW vs PoS)
區(qū)塊鏈中最核心的架構(gòu)就是共識(shí)機(jī)制,可以說(shuō)是區(qū)塊鏈的驅(qū)動(dòng)引擎,發(fā)展這么多年,目前主流比較明確經(jīng)得住考驗(yàn)的就只剩下PoW(Proof of Work)與PoS(Proof of Stake)兩種機(jī)制。簡(jiǎn)單概述下,PoW系統(tǒng)的特點(diǎn)是通過(guò)消耗大量算力來(lái)計(jì)算特定算法的解(典型如哈希),第一個(gè)算出結(jié)果的有權(quán)生成區(qū)塊,同時(shí)也會(huì)得到coin作為獎(jiǎng)勵(lì)(這也是coin的生產(chǎn)與分發(fā)過(guò)程,形象地稱(chēng)為Mining),采用PoW的典型區(qū)塊鏈有Bitcoin和Ethereum,目前PoW也是運(yùn)行時(shí)間最長(zhǎng),被公認(rèn)為是最可靠安全的共識(shí)機(jī)制; 其本質(zhì)是通過(guò)消耗大量算力來(lái)實(shí)現(xiàn)系統(tǒng)內(nèi)的逆熵過(guò)程,保證系統(tǒng)的長(zhǎng)期安全與穩(wěn)定 。但PoW被廣為詬病的也是其消耗太多的能源資源,這方面PoS就被認(rèn)為是更為綠色的解決方案,顧名思義PoS是通過(guò)質(zhì)押系統(tǒng)中的資產(chǎn)即coin來(lái)成為一個(gè)質(zhì)押者(staker),這樣就有權(quán)產(chǎn)出區(qū)塊,質(zhì)押份額越多,獲得產(chǎn)出區(qū)塊權(quán)的概率就越高,也代表著獎(jiǎng)勵(lì)越多。
在分布式系統(tǒng)中有一個(gè) CAP 定理,是指一個(gè)分布式系統(tǒng)中存在著三元悖論,即不可能同時(shí)滿足這三個(gè)特性:一致性(Consistency)、可用性(Availability)和分區(qū)容錯(cuò)性 (Partition tolerance),而只能滿足其中兩個(gè)。區(qū)塊鏈作為一種分布式網(wǎng)絡(luò),這個(gè)定理也逐漸演變成了區(qū)塊鏈的三元悖論,即 安全性(Security) 、 去中心化(Decentralization) 和 可擴(kuò)展性 (Scalability) ,也是同時(shí)只能滿足兩個(gè)特性。
整體上看PoW系統(tǒng)更注重的是 安全性(Security) 與 去中心化(Decentralization) ,放棄 可擴(kuò)展性 (Scalability) ,這也是Bitcoin網(wǎng)絡(luò)的吞吐量非常慢的原因。而PoS系統(tǒng)更關(guān)注的是 可擴(kuò)展性 (Scalability) 與 去中心化(Decentralization) ,但就PoS能否真的 實(shí)現(xiàn) 去中心化(Decentralization) ,我是比較持懷疑態(tài)度的。從保守主義與系統(tǒng)的更長(zhǎng)期穩(wěn)定的角度出發(fā),我個(gè)人是堅(jiān)定地站在PoW這邊的,可能跟自身保守的性格有關(guān),并不是特別看好PoS作為基礎(chǔ)層能比較穩(wěn)定。特別是像這次 5月份的Luna事件 ,事件大概的過(guò)程是Luna鏈上的算法穩(wěn)定幣UST缺乏價(jià)值支撐最終脫錨,其核心問(wèn)題在于UST的錨定設(shè)計(jì)試圖用一個(gè)PoS股權(quán)系統(tǒng)去支撐其錨定美元,而且還超發(fā)了太多UST,再加上UST與Luna的兌換設(shè)計(jì)缺陷最終導(dǎo)致Luna自身的死亡螺旋。但這個(gè)事件更大的意義應(yīng)該是敲響了一個(gè)警鐘,PoS機(jī)制在面對(duì)空頭資本砸盤(pán)時(shí)真的還能維持穩(wěn)定、維持所謂的去中心化嗎?可能到時(shí)節(jié)點(diǎn)數(shù)量萎縮的速度會(huì)很快,逐漸趨于中心化。
所有系統(tǒng)設(shè)計(jì)都需要根據(jù)自身定位來(lái)折中,以下從價(jià)值錨定的角度,簡(jiǎn)單分析下為什么長(zhǎng)期來(lái)看PoW會(huì)更有優(yōu)勢(shì)。
在PoW系統(tǒng)中三股主要的參與者分別是研發(fā)人員,投資者(或者叫用戶)與Miner,這三者的相互制衡,使得這個(gè)系統(tǒng)達(dá)到一個(gè)穩(wěn)定平衡的狀態(tài)。而PoS系統(tǒng)中,將Miner這個(gè)重要的制衡力量移除了,投資者和Miner變成了同一群體 質(zhì)押者(stakers) ,因此該群體濫用權(quán)力的行為會(huì)變得相對(duì)不受限制,并且該鏈隨后的發(fā)展方向也可能會(huì)更加不平衡,更容易傾向有利于 質(zhì)押者(stakers) 群體的方向。
PoW系統(tǒng)很好的闡述了什么是被普遍認(rèn)可的價(jià)值,抽象上來(lái)看就是高代價(jià)的稀缺性 ,高代價(jià)與稀缺性?xún)烧呷币徊豢伞oS最多只能實(shí)現(xiàn)其中一個(gè)稀缺性。
Miner為了在鏈上生產(chǎn)區(qū)塊賺取coin,不僅需要持續(xù)支付高額電力成本,還必須不斷投入研發(fā)、升級(jí)硬件、優(yōu)化基礎(chǔ)設(shè)施和運(yùn)營(yíng)規(guī)模來(lái)保持其競(jìng)爭(zhēng)力。最終結(jié)果是,能夠長(zhǎng)期持續(xù)盈利的Miner并不會(huì)是一個(gè)一層不變的群體,而是總在競(jìng)爭(zhēng)中淘汰掉效率太低的Miner,使高效率的Miner能存活下來(lái)。這也更有利于 去中心化(Decentralization) ,因?yàn)椴粩嘧兓腗iner群體意味著沒(méi)有一個(gè)Miner可以在相當(dāng)長(zhǎng)的時(shí)間內(nèi)保持網(wǎng)絡(luò)的大部分算力,除非他們通過(guò)嚴(yán)酷的競(jìng)爭(zhēng)考驗(yàn),不斷優(yōu)化自身來(lái)提供更多的算力。
而PoS系統(tǒng)中的質(zhì)押者實(shí)際上并多少真正的風(fēng)險(xiǎn)投入,也沒(méi)有優(yōu)勝劣汰的嚴(yán)酷競(jìng)爭(zhēng)機(jī)制,他們只需要簡(jiǎn)單地運(yùn)行一個(gè)staker節(jié)點(diǎn)就可以躺著賺利息,本質(zhì)上只是將自己在銀行系統(tǒng)里的錢(qián)簡(jiǎn)單的轉(zhuǎn)化為鏈上資本,就可以坐地收割后進(jìn)入這個(gè)系統(tǒng)的新人。這種行為并沒(méi)有太多難度,只是簡(jiǎn)單地賺取“無(wú)風(fēng)險(xiǎn)”利息,他們并沒(méi)有將資本轉(zhuǎn)化為任何形式的需要面臨風(fēng)險(xiǎn)考驗(yàn)的投資。
而且當(dāng)發(fā)生硬分叉時(shí),PoW的Miner選擇支持哪條鏈時(shí)會(huì)更為謹(jǐn)慎,因?yàn)樗麄冃枰度敫甙旱碾娏Τ杀緛?lái)為他們的選擇背書(shū),一旦選錯(cuò)了將損失所有投入成本。PoS系統(tǒng)如果發(fā)生硬分叉,質(zhì)押的coin作為系統(tǒng)內(nèi)部狀態(tài)的一部分,硬分叉后質(zhì)押者將在兩條不同鏈上都擁有相同數(shù)量的資產(chǎn),由于沒(méi)有什么沉默成本,導(dǎo)致質(zhì)押者更愿意兩邊都支持,從而使硬分叉更容易且更頻繁地出現(xiàn),這被稱(chēng)為 nothing at stake 問(wèn)題。
PoW是真正能做到無(wú)準(zhǔn)入限制的(Permissionless),就是說(shuō)已經(jīng)在這個(gè)系統(tǒng)中的老人無(wú)法限制新人加入,只要你有能力提供算力,就能直接接入網(wǎng)絡(luò)中產(chǎn)出coin。而PoS系統(tǒng)中,新人要進(jìn)入,都不得不先從老人手中買(mǎi)coin。
而且PoW中Miner為了支付各種高昂成本(電力,設(shè)備,基礎(chǔ)設(shè)施等),產(chǎn)出coin后也不得不賣(mài)出一些以彌補(bǔ)成本,這同時(shí)也是一種把coin分發(fā)給更多人的過(guò)程; 特別是在熊市,Miner為了維持開(kāi)銷(xiāo)也不得不低價(jià)賤賣(mài)coin,這樣新人才有機(jī)會(huì)以相對(duì)低的成本獲得籌碼入場(chǎng),這才是一個(gè)健康的生態(tài)擴(kuò)張過(guò)程 。而PoS中由于質(zhì)押者并沒(méi)有什么運(yùn)行成本,也不需要面對(duì)太多競(jìng)爭(zhēng),質(zhì)押者出塊得到coin后不需要急著賣(mài)出,更容易哄抬價(jià)格,其實(shí)會(huì)變相激勵(lì)場(chǎng)內(nèi)老人剝削新入場(chǎng)者,不給后來(lái)人更多機(jī)會(huì);整個(gè)系統(tǒng)會(huì)趨向于更封閉,逐漸演變成一個(gè)有限游戲,長(zhǎng)期運(yùn)行下去只會(huì)越來(lái)越中心化;系統(tǒng)中財(cái)富越來(lái)越集中,富者更富,窮者更窮,從而更不可能實(shí)現(xiàn) 去中心化(Decentralization) 。
由于PoW系統(tǒng)中是以提供工作量的方式產(chǎn)出區(qū)塊的,隨著時(shí)間的推移這些工作量都會(huì)被累積起來(lái)并使鏈不斷向前延伸,這也是為什么叫區(qū)塊鏈;這些累積的工作量也給攻擊者造成了巨大障礙,如果想要反轉(zhuǎn)整條鏈,不僅需要非常高的算力,還需要相當(dāng)長(zhǎng)的時(shí)間,這也為應(yīng)對(duì)攻擊提供了足夠長(zhǎng)的時(shí)間緩沖。
而PoS系統(tǒng)其實(shí)只是維護(hù)一個(gè)分布式賬本, 并沒(méi)有工作量累積的概念,一旦攻擊成功,要反轉(zhuǎn)整條鏈就是相當(dāng)容易的,幾分鐘就可以搞定。
嚴(yán)格來(lái)說(shuō)由PoW算力支撐的BTC不應(yīng)歸為高科技類(lèi),由于它整個(gè)系統(tǒng)架構(gòu)更保守更穩(wěn)定,提供的更多的是一種 物化價(jià)值(objective costliness) ,更能作為價(jià)值之錨,所以數(shù)字黃金這個(gè)稱(chēng)號(hào)很貼切。而像ETH(目前還是PoW,2.0升級(jí)后為PoS)這些更接近科技類(lèi)創(chuàng)新平臺(tái),PoS本質(zhì)上更像是一種股權(quán)系統(tǒng),其實(shí)PoS系統(tǒng)反而是需要中心化,偏向更依靠整個(gè)社區(qū)的生命力,需要依靠核心團(tuán)隊(duì)的創(chuàng)新與開(kāi)拓能力往前走;而PoW則需要去中心化,更偏向穩(wěn)定與提供 物化價(jià)值(objective costliness) 。
區(qū)塊鏈作為一個(gè)價(jià)值分配系統(tǒng), 算力是它的價(jià)值之錨,如果沒(méi)有算力,就會(huì)退化為一個(gè)股權(quán)系統(tǒng) 。算力在哪,資金就會(huì)跟去哪。目前的發(fā)展趨勢(shì)也是逐漸往多層網(wǎng)絡(luò)的方向發(fā)展,類(lèi)似TCP/IP的多層協(xié)議棧。從作為基礎(chǔ)層(Base Layer)的角度看,更需要的是長(zhǎng)期穩(wěn)定與提供價(jià)值支撐,因此PoW系統(tǒng)更合適;而PoS可能更多的是可以作為L(zhǎng)ayer2以實(shí)現(xiàn) 可擴(kuò)展性 (Scalability) ,彌補(bǔ)PoW基礎(chǔ)層的吞吐量不足,并通過(guò)錨定在PoW基礎(chǔ)層上來(lái)獲取算力安全性與價(jià)值支撐。
最后順帶說(shuō)下最近市場(chǎng)行情,5,6月份以來(lái)的瀑布令很多人很恐慌,恐慌指數(shù)一度長(zhǎng)時(shí)間停留在個(gè)位數(shù);其實(shí)我覺(jué)得也沒(méi)必要那么恐慌,要在這個(gè)圈子長(zhǎng)期活下去,面對(duì)這種大波動(dòng)的心理預(yù)期還是要有的。想起之前紅杉資本的沈南鵬經(jīng)常提到一個(gè)詞Grit,沙礫,它是礫石在千萬(wàn)次打磨后留下來(lái)的細(xì)小顆粒;Grit代表了勇氣和持之以恒的一種堅(jiān)持,有種經(jīng)常被按地上摩擦但依然勇往直前的感覺(jué)。這個(gè)和塔勒布講的反脆弱性有異曲同工之妙,承載價(jià)值的東西就應(yīng)該具有這種品質(zhì),PoW系統(tǒng)肯定是有反脆弱性的。
回望2017年入圈后經(jīng)歷過(guò)的各種事件,其實(shí)像這樣的大波動(dòng)近乎每年都有(除了2019年一年比較順利外);像2017年國(guó)內(nèi)的94事件,2018年一整年的大熊市,2020的312事件,2021的519事件,再到2022今年的5,6月份市場(chǎng)轉(zhuǎn)熊,每次經(jīng)歷大波動(dòng)后,市場(chǎng)都會(huì)淘汰掉該淘汰的,出清掉該出清的風(fēng)險(xiǎn),對(duì)整個(gè)行業(yè)發(fā)展也是好事。眼光還是應(yīng)該放遠(yuǎn)一點(diǎn),至少看5到10年后的變化,科技發(fā)展過(guò)程中所帶來(lái)的波動(dòng)和風(fēng)險(xiǎn)是不可避免的,日光之下無(wú)新鮮事,每次科技革命過(guò)程中總會(huì)夾雜著眾多的反對(duì)、質(zhì)疑,還有眾多的投機(jī)、騙局;這個(gè)過(guò)程也總是通過(guò)各種暴雷、回歸,清除泡沫后價(jià)值重估,夯實(shí)了基礎(chǔ)后積蓄能量再次進(jìn)入躍升到新的發(fā)展階段。 價(jià)值互聯(lián)網(wǎng)的到來(lái)是一件無(wú)法回避的事情 ,當(dāng)理解和看清了這種趨勢(shì)后,規(guī)避掉各種坑和市場(chǎng)噪音,遠(yuǎn)離合約杠桿和各種山寨的誘惑,握住核心資產(chǎn),時(shí)間本身就會(huì)帶來(lái)回報(bào)。
3、pos機(jī)制的起源與設(shè)計(jì)理念
POS起源
2012年,背景是POW進(jìn)淪為資本玩家的玩具,算力過(guò)于中心化,隨時(shí)都有被“51%攻擊”。
開(kāi)放者Sunny Kind第一次提出了POS(股權(quán)證明)的概念,與POW是完全不一樣的。
POS不用大量的算力來(lái)維持網(wǎng)絡(luò)安全,只要參與者打開(kāi)自已的錢(qián)包在線增加權(quán)重,獲得相應(yīng)的獎(jiǎng)勵(lì)也就是利息。
POS的設(shè)計(jì)理念
我們應(yīng)該都知道,比特幣的區(qū)塊產(chǎn)量每四年就會(huì)減半,這樣區(qū)塊的產(chǎn)量將會(huì)越來(lái)越少,礦工就會(huì)“曠工”,因?yàn)橘嵉降脑絹?lái)越少。
那么,人數(shù)少了,比特幣就可能被一些高算力的人所掌握,數(shù)字貨幣網(wǎng)絡(luò)將會(huì)癱瘓。
POS解決方法:并非所有的區(qū)塊都是靠挖礦得來(lái)的,只要打開(kāi)錢(qián)包客戶端程序,就能發(fā)現(xiàn)區(qū)塊,也可以得到利息,這樣就會(huì)有一個(gè)引流的效果。
POS機(jī)制可以描述成一種虛擬挖礦。鑒于POW主要依賴(lài)于計(jì)算機(jī)硬件的稀缺性來(lái)防止女巫攻擊,POS則主要依賴(lài)于區(qū)塊鏈自身里的代幣。
女巫攻擊
這個(gè)名字是基于1973年的小說(shuō)《女巫》改編的同名電影,女主具有16重人格。
因?yàn)楣?jié)點(diǎn)隨時(shí)加入和退出等原因,為了維護(hù)網(wǎng)絡(luò)的穩(wěn)定,同一份數(shù)據(jù)可能備份在很多節(jié)點(diǎn)上,這就是數(shù)據(jù)冗余機(jī)制。
若是在網(wǎng)絡(luò)上存在惡意節(jié)點(diǎn),那這一個(gè)節(jié)點(diǎn)就具有多重身份。那這個(gè)惡意節(jié)點(diǎn)就可能騙到其他節(jié)點(diǎn)備份到他這里。
POW就是根據(jù)計(jì)算能力隨機(jī),而POS則根據(jù)擁有財(cái)產(chǎn)隨機(jī)。POW是保證比特幣、當(dāng)前以太坊和許多其它區(qū)塊鏈安全的一種機(jī)制。
但是POW算法在挖礦過(guò)程中因破壞環(huán)境和浪費(fèi)電力而受到指責(zé)。POS試圖通過(guò)以一種不同的機(jī)制取代挖礦的概念,從而解決這些問(wèn)題。
PoS的優(yōu)點(diǎn)
不再需要為了安全產(chǎn)生區(qū)塊而大量消耗電能。由于不再需要大量能耗,通過(guò)發(fā)行新幣以激勵(lì)參與者繼續(xù)參與網(wǎng)絡(luò)的壓力會(huì)下降。PoS機(jī)制下,全網(wǎng)每秒可以處理的交易數(shù)增加,可以提供比PoW機(jī)制更好的性能。
POS算法是個(gè)資本主義
你擁有的錢(qián)越多,得到的權(quán)利也就越大。為什么?
因?yàn)槟阍诶锩娴腻X(qián)越多你想要維護(hù)系統(tǒng)的愿望也就更大。若是有惡意攻擊,他們的錢(qián)也就只能是竹籃打水一場(chǎng)空。
POS算法
如果我手上有500個(gè)代幣,把它放進(jìn)POS機(jī)制,這樣里面的500個(gè)代幣就變成了驗(yàn)證者.假設(shè)它在區(qū)塊鏈里最新的塊。
POS算法將從驗(yàn)證者里面抽取一個(gè)隨機(jī)的,給他們權(quán)利產(chǎn)生下一個(gè)區(qū)塊。
PoS 機(jī)制由股東自己保證安全,工作原理是利益捆綁。在這個(gè)模式下,不持有 PoS 的人無(wú)法對(duì) PoS 構(gòu)成威脅。PoS 的安全取決于持有者,和其他任何因素?zé)o關(guān)。
PoS機(jī)制源于人們對(duì)PoW機(jī)制的不滿以及改進(jìn)。早期的PoS機(jī)制有各種缺陷,隨著各種項(xiàng)目對(duì)PoS機(jī)制的不斷改進(jìn),PoS正逐漸成為主流的共識(shí)機(jī)制。
4、pos機(jī)制解決了pow的()問(wèn)題
pos機(jī)制解決了pow機(jī)制難以應(yīng)用于商業(yè)領(lǐng)域的問(wèn)題。
為了解決POW的問(wèn)題,有人發(fā)明了POS機(jī)制。POS(Proof of Stake,權(quán)益證明)是根據(jù)你持有貨幣的量和時(shí)間進(jìn)行利息分配的制度。POS機(jī)制最核心的邏輯就是——誰(shuí)持有幣,誰(shuí)就有網(wǎng)絡(luò)的控制權(quán)。
在POS機(jī)制中,仍然存在算力挖礦,需要算力解決一個(gè)數(shù)學(xué)難題。但數(shù)學(xué)難題的難度和持幣者的“幣齡”相關(guān)。簡(jiǎn)單來(lái)說(shuō),持幣者持有幣的時(shí)間越長(zhǎng),難題越簡(jiǎn)單,挖到幣的概率越大。但POS的問(wèn)題是,大多數(shù)的持幣人沒(méi)有足夠的專(zhuān)業(yè)知識(shí)或足夠的預(yù)算,無(wú)法達(dá)到高性能節(jié)點(diǎn)所需的計(jì)算機(jī)硬件和軟件要求,這時(shí)候就有了DPOS機(jī)制。
5、深入了解區(qū)塊鏈的共識(shí)機(jī)制及算法原理
所謂“共識(shí)機(jī)制”,是通過(guò)特殊節(jié)點(diǎn)的投票,在很短的時(shí)間內(nèi)完成對(duì)交易的驗(yàn)證和確認(rèn);對(duì)一筆交易,如果利益不相干的若干個(gè)節(jié)點(diǎn)能夠達(dá)成共識(shí),我們就可以認(rèn)為全網(wǎng)對(duì)此也能夠達(dá)成共識(shí)。再通俗一點(diǎn)來(lái)講,如果中國(guó)一名微博大V、美國(guó)一名虛擬幣玩家、一名非洲留學(xué)生和一名歐洲旅行者互不相識(shí),但他們都一致認(rèn)為你是個(gè)好人,那么基本上就可以斷定你這人還不壞。
要想整個(gè)區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)維持一份相同的數(shù)據(jù),同時(shí)保證每個(gè)參與者的公平性,整個(gè)體系的所有參與者必須要有統(tǒng)一的協(xié)議,也就是我們這里要將的共識(shí)算法。比特幣所有的節(jié)點(diǎn)都遵循統(tǒng)一的協(xié)議規(guī)范。協(xié)議規(guī)范(共識(shí)算法)由相關(guān)的共識(shí)規(guī)則組成,這些規(guī)則可以分為兩個(gè)大的核心:工作量證明與最長(zhǎng)鏈機(jī)制。所有規(guī)則(共識(shí))的最終體現(xiàn)就是比特幣的最長(zhǎng)鏈。共識(shí)算法的目的就是保證比特幣不停地在最長(zhǎng)鏈條上運(yùn)轉(zhuǎn),從而保證整個(gè)記賬系統(tǒng)的一致性和可靠性。
區(qū)塊鏈中的用戶進(jìn)行交易時(shí)不需要考慮對(duì)方的信用、不需要信任對(duì)方,也無(wú)需一個(gè)可信的中介機(jī)構(gòu)或中央機(jī)構(gòu),只需要依據(jù)區(qū)塊鏈協(xié)議即可實(shí)現(xiàn)交易。這種不需要可信第三方中介就可以順利交易的前提是區(qū)塊鏈的共識(shí)機(jī)制,即在互不了解、信任的市場(chǎng)環(huán)境中,參與交易的各節(jié)點(diǎn)出于對(duì)自身利益考慮,沒(méi)有任何違規(guī)作弊的動(dòng)機(jī)、行為,因此各節(jié)點(diǎn)會(huì)主動(dòng)自覺(jué)遵守預(yù)先設(shè)定的規(guī)則,來(lái)判斷每一筆交易的真實(shí)性和可靠性,并將檢驗(yàn)通過(guò)的記錄寫(xiě)入到區(qū)塊鏈中。各節(jié)點(diǎn)的利益各不相同,邏輯上將它們沒(méi)有合謀欺騙作弊的動(dòng)機(jī)產(chǎn)生,而當(dāng)網(wǎng)絡(luò)中有的節(jié)點(diǎn)擁有公共信譽(yù)時(shí),這一點(diǎn)尤為明顯。區(qū)塊鏈技術(shù)運(yùn)用基于數(shù)學(xué)原理的共識(shí)算法,在節(jié)點(diǎn)之間建立“信任”網(wǎng)絡(luò),利用技術(shù)手段從而實(shí)現(xiàn)一種創(chuàng)新式的信用網(wǎng)絡(luò)。
目前區(qū)款連行業(yè)內(nèi)主流的共識(shí)算法機(jī)制包含:工作量證明機(jī)制、權(quán)益證明機(jī)制、股份授權(quán)證明機(jī)制和Pool驗(yàn)證池這四大類(lèi)。
工作量證明機(jī)制即對(duì)于工作量的證明,是生成要加入到區(qū)塊鏈中的一筆新的交易信息(即新區(qū)塊)時(shí)必須滿足的要求。在基于工作量證明機(jī)制構(gòu)建的區(qū)塊鏈網(wǎng)絡(luò)中,節(jié)點(diǎn)通過(guò)計(jì)算隨機(jī)哈希散列的數(shù)值解爭(zhēng)奪記賬權(quán),求得正確的數(shù)值解以生成區(qū)塊的能力是節(jié)點(diǎn)算力的具體表現(xiàn)。工作量證明機(jī)制具有完全去中心化的優(yōu)點(diǎn),在以工作量證明機(jī)制為共識(shí)的區(qū)塊鏈中,節(jié)點(diǎn)可以自由進(jìn)出。大家所熟知的比特幣網(wǎng)絡(luò)就應(yīng)用工作量證明機(jī)制來(lái)生產(chǎn)新的貨幣。然而,由于工作量證明機(jī)制在比特幣網(wǎng)絡(luò)中的應(yīng)用已經(jīng)吸引了全球計(jì)算機(jī)大部分的算力,其他想嘗試使用該機(jī)制的區(qū)塊鏈應(yīng)用很難獲得同樣規(guī)模的算力來(lái)維持自身的安全。同時(shí),基于工作量證明機(jī)制的挖礦行為還造成了大量的資源浪費(fèi),達(dá)成共識(shí)所需要的周期也較長(zhǎng),因此該機(jī)制并不適合商業(yè)應(yīng)用。
2012年,化名Sunny King的網(wǎng)友推出了Peercoin,該加密電子貨幣采用工作量證明機(jī)制發(fā)行新幣,采用權(quán)益證明機(jī)制維護(hù)網(wǎng)絡(luò)安全,這是權(quán)益證明機(jī)制在加密電子貨幣中的首次應(yīng)用。與要求證明人執(zhí)行一定量的計(jì)算工作不同,權(quán)益證明要求證明人提供一定數(shù)量加密貨幣的所有權(quán)即可。權(quán)益證明機(jī)制的運(yùn)作方式是,當(dāng)創(chuàng)造一個(gè)新區(qū)塊時(shí),礦工需要?jiǎng)?chuàng)建一個(gè)“幣權(quán)”交易,交易會(huì)按照預(yù)先設(shè)定的比例把一些幣發(fā)送給礦工本身。權(quán)益證明機(jī)制根據(jù)每個(gè)節(jié)點(diǎn)擁有代幣的比例和時(shí)間,依據(jù)算法等比例地降低節(jié)點(diǎn)的挖礦難度,從而加快了尋找隨機(jī)數(shù)的速度。這種共識(shí)機(jī)制可以縮短達(dá)成共識(shí)所需的時(shí)間,但本質(zhì)上仍然需要網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行挖礦運(yùn)算。因此,PoS機(jī)制并沒(méi)有從根本上解決PoW機(jī)制難以應(yīng)用于商業(yè)領(lǐng)域的問(wèn)題。
股份授權(quán)證明機(jī)制是一種新的保障網(wǎng)絡(luò)安全的共識(shí)機(jī)制。它在嘗試解決傳統(tǒng)的PoW機(jī)制和PoS機(jī)制問(wèn)題的同時(shí),還能通過(guò)實(shí)施科技式的民主抵消中心化所帶來(lái)的負(fù)面效應(yīng)。
股份授權(quán)證明機(jī)制與董事會(huì)投票類(lèi)似,該機(jī)制擁有一個(gè)內(nèi)置的實(shí)時(shí)股權(quán)人投票系統(tǒng),就像系統(tǒng)隨時(shí)都在召開(kāi)一個(gè)永不散場(chǎng)的股東大會(huì),所有股東都在這里投票決定公司決策。基于DPoS機(jī)制建立的區(qū)塊鏈的去中心化依賴(lài)于一定數(shù)量的代表,而非全體用戶。在這樣的區(qū)塊鏈中,全體節(jié)點(diǎn)投票選舉出一定數(shù)量的節(jié)點(diǎn)代表,由他們來(lái)代理全體節(jié)點(diǎn)確認(rèn)區(qū)塊、維持系統(tǒng)有序運(yùn)行。同時(shí),區(qū)塊鏈中的全體節(jié)點(diǎn)具有隨時(shí)罷免和任命代表的權(quán)力。如果必要,全體節(jié)點(diǎn)可以通過(guò)投票讓現(xiàn)任節(jié)點(diǎn)代表失去代表資格,重新選舉新的代表,實(shí)現(xiàn)實(shí)時(shí)的民主。
股份授權(quán)證明機(jī)制可以大大縮小參與驗(yàn)證和記賬節(jié)點(diǎn)的數(shù)量,從而達(dá)到秒級(jí)的共識(shí)驗(yàn)證。然而,該共識(shí)機(jī)制仍然不能完美解決區(qū)塊鏈在商業(yè)中的應(yīng)用問(wèn)題,因?yàn)樵摴沧R(shí)機(jī)制無(wú)法擺脫對(duì)于代幣的依賴(lài),而在很多商業(yè)應(yīng)用中并不需要代幣的存在。
Pool驗(yàn)證池基于傳統(tǒng)的分布式一致性技術(shù)建立,并輔之以數(shù)據(jù)驗(yàn)證機(jī)制,是目前區(qū)塊鏈中廣泛使用的一種共識(shí)機(jī)制。
Pool驗(yàn)證池不需要依賴(lài)代幣就可以工作,在成熟的分布式一致性算法(Pasox、Raft)基礎(chǔ)之上,可以實(shí)現(xiàn)秒級(jí)共識(shí)驗(yàn)證,更適合有多方參與的多中心商業(yè)模式。不過(guò),Pool驗(yàn)證池也存在一些不足,例如該共識(shí)機(jī)制能夠?qū)崿F(xiàn)的分布式程度不如PoW機(jī)制等
這里主要講解區(qū)塊鏈工作量證明機(jī)制的一些算法原理以及比特幣網(wǎng)絡(luò)是如何證明自己的工作量的,希望大家能夠?qū)沧R(shí)算法有一個(gè)基本的認(rèn)識(shí)。
工作量證明系統(tǒng)的主要特征是客戶端要做一定難度的工作來(lái)得到一個(gè)結(jié)果,驗(yàn)證方則很容易通過(guò)結(jié)果來(lái)檢查客戶端是不是做了相應(yīng)的工作。這種方案的一個(gè)核心特征是不對(duì)稱(chēng)性:工作對(duì)于請(qǐng)求方是適中中的,對(duì)于驗(yàn)證方是易于驗(yàn)證的。它與驗(yàn)證碼不同,驗(yàn)證碼是易于被人類(lèi)解決而不是易于被計(jì)算機(jī)解決。
下圖所示的為工作量證明流程。
舉個(gè)例子,給個(gè)一個(gè)基本的字符創(chuàng)“hello,world!”,我們給出的工作量要求是,可以在這個(gè)字符創(chuàng)后面添加一個(gè)叫做nonce(隨機(jī)數(shù))的整數(shù)值,對(duì)變更后(添加nonce)的字符創(chuàng)進(jìn)行SHA-256運(yùn)算,如果得到的結(jié)果(一十六進(jìn)制的形式表示)以“0000”開(kāi)頭的,則驗(yàn)證通過(guò)。為了達(dá)到這個(gè)工作量證明的目標(biāo),需要不停地遞增nonce值,對(duì)得到的字符創(chuàng)進(jìn)行SHA-256哈希運(yùn)算。按照這個(gè)規(guī)則,需要經(jīng)過(guò)4251次運(yùn)算,才能找到前導(dǎo)為4個(gè)0的哈希散列。
通過(guò)這個(gè)示例我們對(duì)工作量證明機(jī)制有了一個(gè)初步的理解。有人或許認(rèn)為如果工作量證明只是這樣一個(gè)過(guò)程,那是不是只要記住nonce為4521使計(jì)算能通過(guò)驗(yàn)證就行了,當(dāng)然不是了,這只是一個(gè)例子。
下面我們將輸入簡(jiǎn)單的變更為”Hello,World!+整數(shù)值”,整數(shù)值取1~1000,也就是說(shuō)將輸入變成一個(gè)1~1000的數(shù)組:Hello,World!1;Hello,World!2;...;Hello,World!1000。然后對(duì)數(shù)組中的每一個(gè)輸入依次進(jìn)行上面的工作量證明—找到前導(dǎo)為4個(gè)0的哈希散列。
由于哈希值偽隨機(jī)的特性,根據(jù)概率論的相關(guān)知識(shí)容易計(jì)算出,預(yù)計(jì)要進(jìn)行2的16次方次數(shù)的嘗試,才能得到前導(dǎo)為4個(gè)0的哈希散列。而統(tǒng)計(jì)一下剛剛進(jìn)行的1000次計(jì)算的實(shí)際結(jié)果會(huì)發(fā)現(xiàn),進(jìn)行計(jì)算的平均次數(shù)為66958次,十分接近2的16次方(65536)。在這個(gè)例子中,數(shù)學(xué)期望的計(jì)算次數(shù)實(shí)際就是要求的“工作量”,重復(fù)進(jìn)行多次的工作量證明會(huì)是一個(gè)符合統(tǒng)計(jì)學(xué)規(guī)律的概率事件。
統(tǒng)計(jì)輸入的字符創(chuàng)與得到對(duì)應(yīng)目標(biāo)結(jié)果實(shí)際使用的計(jì)算次數(shù)如下:
對(duì)于比特幣網(wǎng)絡(luò)中的任何節(jié)點(diǎn),如果想生成一個(gè)新的區(qū)塊加入到區(qū)塊鏈中,則必須解決出比特幣網(wǎng)絡(luò)出的這道謎題。這道題的關(guān)鍵要素是工作量證明函數(shù)、區(qū)塊及難度值。工作量證明函數(shù)是這道題的計(jì)算方法,區(qū)塊是這道題的輸入數(shù)據(jù),難度值決定了解這道題的所需要的計(jì)算量。
比特幣網(wǎng)絡(luò)中使用的工作量證明函數(shù)正是上文提及的SHA-256。區(qū)塊其實(shí)就是在工作量證明環(huán)節(jié)產(chǎn)生的。曠工通過(guò)不停地構(gòu)造區(qū)塊數(shù)據(jù),檢驗(yàn)每次計(jì)算出的結(jié)果是否滿足要求的工作量,從而判斷該區(qū)塊是不是符合網(wǎng)絡(luò)難度。區(qū)塊頭即比特幣工作量證明函數(shù)的輸入數(shù)據(jù)。
難度值是礦工們挖掘的重要參考指標(biāo),它決定了曠工需要經(jīng)過(guò)多少次哈希運(yùn)算才能產(chǎn)生一個(gè)合法的區(qū)塊。比特幣網(wǎng)絡(luò)大約每10分鐘生成一個(gè)區(qū)塊,如果在不同的全網(wǎng)算力條件下,新區(qū)塊的產(chǎn)生基本都保持這個(gè)速度,難度值必須根據(jù)全網(wǎng)算力的變化進(jìn)行調(diào)整。總的原則即為無(wú)論挖礦能力如何,使得網(wǎng)絡(luò)始終保持10分鐘產(chǎn)生一個(gè)新區(qū)塊。
難度值的調(diào)整是在每個(gè)完整節(jié)點(diǎn)中獨(dú)立自動(dòng)發(fā)生的。每隔2016個(gè)區(qū)塊,所有節(jié)點(diǎn)都會(huì)按照統(tǒng)一的格式自動(dòng)調(diào)整難度值,這個(gè)公式是由最新產(chǎn)生的2016個(gè)區(qū)塊的花費(fèi)時(shí)長(zhǎng)與期望時(shí)長(zhǎng)(按每10分鐘產(chǎn)生一個(gè)取款,則期望時(shí)長(zhǎng)為20160分鐘)比較得出來(lái)的,根據(jù)實(shí)際時(shí)長(zhǎng)一期望時(shí)長(zhǎng)的比值進(jìn)行調(diào)整。也就是說(shuō),如果區(qū)塊產(chǎn)生的速度比10分鐘快,則增加難度值;反正,則降低難度值。用公式來(lái)表達(dá)如下:
新難度值=舊難度值*(20160分鐘/過(guò)去2016個(gè)區(qū)塊花費(fèi)時(shí)長(zhǎng))。
工作量證明需要有一個(gè)目標(biāo)值。比特幣工作量證明的目標(biāo)值(Target)的計(jì)算公式如下:
目標(biāo)值=最大目標(biāo)值/難度值,其中最大目標(biāo)值為一個(gè)恒定值0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
目標(biāo)值的大小與難度值成反比,比特幣工作量證明的達(dá)成就是礦中計(jì)算出來(lái)的區(qū)塊哈希值必須小于目標(biāo)值。
我們也可以將比特幣工作量的過(guò)程簡(jiǎn)單的理解成,通過(guò)不停變更區(qū)塊頭(即嘗試不同nonce值)并將其作為輸入,進(jìn)行SHA-256哈希運(yùn)算,找出一個(gè)有特定格式哈希值的過(guò)程(即要求有一定數(shù)量的前導(dǎo)0),而要求的前導(dǎo)0個(gè)數(shù)越多,難度越大。
可以把比特幣將這道工作量證明謎題的步驟大致歸納如下:
該過(guò)程可以用下圖表示:
比特幣的工作量證明,就是我們俗稱(chēng)“挖礦”所做的主要工作。理解工作量證明機(jī)制,將為我們進(jìn)一步理解比特幣區(qū)塊鏈的共識(shí)機(jī)制奠定基礎(chǔ)。
轉(zhuǎn)載請(qǐng)帶上網(wǎng)址:http://www.yadikedp.com/posjifive/309122.html
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 babsan@163.com 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。