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

轉(zhuǎn)載請帶上網(wǎng)址:http://www.ting2000.com/posjifive/309122.html
- 上一篇:pos機資金凍結(jié)半年還能自動解凍嗎
- 下一篇:pos機騙局揭秘真的假的