囚徒戈多第4篇文章,閱讀需要5分鐘
這或許是全網(wǎng)解釋區(qū)塊鏈的價(jià)值核心--共識(shí)機(jī)制最詳細(xì)的文章阔籽。
前言
區(qū)塊鏈起源于比特幣流妻,發(fā)展于以太坊。想對(duì)區(qū)塊鏈有系統(tǒng)性的認(rèn)知笆制,最好先熟知比特幣和以太坊的知識(shí)绅这。這是我從比特幣和以太坊寫起的原因。
而對(duì)區(qū)塊鏈項(xiàng)目來說在辆,共識(shí)機(jī)制是其根本價(jià)值所在证薇。共識(shí)是區(qū)塊鏈應(yīng)用落地的基礎(chǔ),指的是參與者如何在此系統(tǒng)中進(jìn)行協(xié)作开缎。所以棕叫,本文希望能對(duì)比特幣和以太坊的共識(shí)機(jī)制做總結(jié),幫助大家更好地認(rèn)識(shí)區(qū)塊鏈的價(jià)值奕删。
正文
初遇比特幣俺泣,很多人看到的是一個(gè)周身被貪婪、欺騙所圍繞完残,充滿暴戾與丑聞的事物伏钠。
而當(dāng)有人試著吹散泡沫,探尋本源時(shí)谨设,他們會(huì)為比特幣所構(gòu)建的“共識(shí)”所折服熟掂。感覺像是走入一個(gè)全自動(dòng)化工廠,每個(gè)處理事情的節(jié)點(diǎn)扎拣,都按照既定規(guī)則運(yùn)轉(zhuǎn)赴肚。
從廣義上講素跺,共識(shí)是一種社會(huì)協(xié)作方式,可在不同領(lǐng)域應(yīng)用誉券,提升效率踊跟,是比特幣區(qū)別于“郁金香”、“密西西比”等泡沫事件最本質(zhì)的不同。
另一方面刻像,比特幣共識(shí)并不完美谷羞。由于中本聰?shù)脑馐莿?chuàng)造一種“錢”蠢壹,所以在CAP原則(指的是在一個(gè)分布式系統(tǒng)中疏日,一致性Consistency、可用性Availability、分區(qū)容錯(cuò)性Partition tolerance,三者不可得兼)框架下跪者,他選擇了一致性和分區(qū)容錯(cuò)性弟晚,弱化了可用性忘衍,使比特幣共識(shí)在擴(kuò)展應(yīng)用時(shí),遇到了難題卿城。
基于此枚钓,有人試著去研究不同的共識(shí)機(jī)制,彌補(bǔ)比特幣在應(yīng)用性上的不足瑟押。
以太坊社區(qū)是其中最著名的一群人搀捷,他們正嘗試把權(quán)益證明POS引入到以太坊中,并將此計(jì)劃命名為Casper(取自同名電影多望,中文譯為《鬼馬小精靈》)嫩舟。
本文將圍繞比特幣工作量證明POW與以太坊權(quán)益證明計(jì)劃Casper展開敘述。
比特幣工作量證明POW
?
起初怀偷,中本聰想創(chuàng)造一種提前約定好發(fā)行機(jī)制家厌,并且一旦發(fā)行,任何人都無法操控的貨幣椎工。這樣就避免了有人因一己私利饭于,通過控制貨幣發(fā)行量,變相盤剝民眾利益晋渺。
為了達(dá)成目的镰绎。首先,中本聰將比特幣總量設(shè)定在2100萬個(gè)木西,并利用動(dòng)態(tài)函數(shù)畴栖,規(guī)定每10分鐘產(chǎn)出一定數(shù)量。這2100萬個(gè)幣八千,將于2140年全部流通于世吗讶。
其次燎猛,比特幣交易記錄不受任何數(shù)據(jù)中心控制,而是利用點(diǎn)對(duì)點(diǎn)技術(shù)(P2P)照皆,讓用戶之間直接轉(zhuǎn)賬重绷,過程就像用微信互傳文件一樣。
為了維護(hù)系統(tǒng)正常運(yùn)行膜毁,中本聰將新產(chǎn)出的比特幣與轉(zhuǎn)賬手續(xù)費(fèi)昭卓,獎(jiǎng)勵(lì)給記賬參與者(礦工,又稱節(jié)點(diǎn))瘟滨。干活的人得到了獎(jiǎng)勵(lì)候醒,這樣便有人心甘情愿的為系統(tǒng)付出了。
為了不出差錯(cuò)杂瘸,中本聰需要采取一套運(yùn)行規(guī)則來使系統(tǒng)符合以下原則:
1. 結(jié)果一致倒淫。每個(gè)節(jié)點(diǎn)記錄的全網(wǎng)交易記錄是一致的。
2. 不可篡改败玉。任何人無法篡改交易記錄敌土。
3. 有效率。貨幣系統(tǒng)工作效率高运翼。
4. 可持續(xù)返干。貨幣系統(tǒng)可一直運(yùn)行下去。
而用以保證系統(tǒng)正常運(yùn)行的規(guī)則南蹂,便是共識(shí)機(jī)制犬金。
比特幣共識(shí)機(jī)制是如何運(yùn)轉(zhuǎn)的呢?
當(dāng)用戶A給用戶B轉(zhuǎn)賬時(shí)六剥,節(jié)點(diǎn)(包括AB自己)的比特幣客戶端晚顷,會(huì)收到這一信息。
同時(shí)疗疟,所有參與者會(huì)在客戶端內(nèi)该默,利用計(jì)算設(shè)備(礦機(jī))每隔10分鐘計(jì)算一道“哈希難題”。這道難題出現(xiàn)時(shí)間及難度策彤,受動(dòng)態(tài)函數(shù)控制栓袖,以保證10分鐘間隔。
這個(gè)過程被稱作工作量證明(POW)店诗。
率先計(jì)算出正確結(jié)果的節(jié)點(diǎn)裹刮,將根據(jù)代碼審查交易信息是否屬實(shí),將包括AB用戶在內(nèi)庞瘸、一定時(shí)間段內(nèi)的轉(zhuǎn)賬信息捧弃,打包在一起確認(rèn)(打包成“塊”),并將當(dāng)前的“塊”,連接到此前的“塊”上违霞,生成“區(qū)塊鏈”嘴办,并同步(廣播)至全網(wǎng)所有比特幣節(jié)點(diǎn)。
此時(shí)买鸽,A給B的轉(zhuǎn)賬交易會(huì)判定為有效涧郊。
記賬節(jié)點(diǎn)獲得新產(chǎn)生的比特幣及轉(zhuǎn)賬手續(xù)費(fèi),作為獎(jiǎng)勵(lì)眼五,并開始新一輪的哈希難題計(jì)算妆艘。
此外,記賬結(jié)果以“最長鏈”為準(zhǔn)弹砚。若有2個(gè)參與者同時(shí)完成工作量證明双仍,并打包區(qū)塊,則他倆會(huì)開始“競賽”桌吃,誰最先產(chǎn)生新的區(qū)塊,就以誰為準(zhǔn)苞轿。
工作量證明機(jī)制(POW)使每次參與記賬的節(jié)點(diǎn)是唯一的茅诱,計(jì)算結(jié)果會(huì)被廣播至全網(wǎng)且以最長鏈為準(zhǔn),這保證了全網(wǎng)節(jié)點(diǎn)交易記錄是一致的搬卒。
此外瑟俭,在記賬時(shí),節(jié)點(diǎn)同時(shí)會(huì)檢查與該交易有關(guān)的契邀、所有地址的“未被花費(fèi)的余額”(UTXO)摆寄。比如,檢查A是否有未被花費(fèi)的余額坯门,則需檢查A是否收到過更早的轉(zhuǎn)賬微饥,以此類推,直到“創(chuàng)世交易”古戴。
理論上欠橘,只要“創(chuàng)世交易”不變,當(dāng)前每個(gè)人未被花費(fèi)余額就是確定的现恼。
創(chuàng)世交易不變肃续,加上交易記錄分布式存儲(chǔ),使得任何人無法篡改交易記錄叉袍。
能源消耗與“下議院悲劇”
事實(shí)上始锚,比特幣為了保證系統(tǒng)一致性,犧牲了可用性喳逛,并引出一系列問題瞧捌。
首先,比特幣不是有效率的艺配。
一方面察郁,受到大小的限制衍慎,每個(gè)“塊”包含4000條交易數(shù)據(jù),按10分鐘的生成時(shí)間換算皮钠,相當(dāng)于每秒處理6.67條交易稳捆,以至比特幣的全網(wǎng)未確認(rèn)交易數(shù)一度達(dá)12134筆,這對(duì)貨幣來說是不合格的麦轰。
另一方面乔夯,工作量證明機(jī)制消耗大量無謂資源。每次打包成塊時(shí)款侵,所有節(jié)點(diǎn)分別計(jì)算哈希難題末荐,而最終有資格記賬權(quán)的節(jié)點(diǎn)卻是唯一的。其余節(jié)點(diǎn)所做工作皆是浪費(fèi)新锈。
此外甲脏,為了有更大概率獲得記賬權(quán),人們發(fā)明了專門的礦機(jī)來提高算力妹笆。而礦機(jī)在計(jì)算哈希難題過程中块请,消耗大量電力。據(jù)統(tǒng)計(jì)拳缠,目前全球比特幣礦場年耗電量墩新,超過捷克等全球159個(gè)國家。
其次窟坐,比特幣或許不是可持續(xù)的海渊,獨(dú)特的發(fā)行機(jī)制或許會(huì)讓比特幣陷入“下議院悲劇”。
?
由于中本聰規(guī)定哲鸳,每產(chǎn)出21萬個(gè)區(qū)塊臣疑,新比特幣獎(jiǎng)勵(lì)減半。到2140年帕胆,比特幣全部被挖出時(shí)朝捆,礦工獎(jiǎng)勵(lì)僅剩用戶轉(zhuǎn)賬手續(xù)費(fèi)。
同時(shí)懒豹,別忘了“塊”的大小是有限制的芙盘,所以手續(xù)費(fèi)數(shù)量是一定的。
于是脸秽,在未來某一時(shí)刻儒老,當(dāng)?shù)V工記賬獲得的比特幣獎(jiǎng)勵(lì),與礦機(jī)硬件记餐、電力地租等成本持平時(shí)驮樊,大量礦工將退出比特幣系統(tǒng),算力集中在少數(shù)人手里。
他們可以憑借已掌握的算力囚衔,在之前的區(qū)塊上挖腰,延伸出新的“最長鏈”,從而將另一條鏈作廢练湿,從而將自己已經(jīng)支付的幣取回猴仑。這會(huì)對(duì)比特幣系統(tǒng)造成毀滅性打擊。
事實(shí)上肥哎,比特幣社區(qū)早已認(rèn)識(shí)到問題的存在辽俗,近年來他們討論過擴(kuò)大“塊”的容量,或者引入隔離見證篡诽、閃電網(wǎng)絡(luò)等方案崖飘,提高每秒可處理的交易數(shù)(TPS)。他們甚至還討論過是否擴(kuò)大發(fā)行總量杈女。但始終沒有達(dá)成一致朱浴。
好消息是,盡管比特幣支付還不像法幣一樣方便达椰,但美國赊琳、日本、德國砰碴、加拿大、白俄羅斯板丽、瑞士等國家已接受比特幣支付呈枉,并在一定法律范圍內(nèi),承認(rèn)其合法地位埃碱,部分國家還設(shè)置了比特幣ATM機(jī)猖辫。
本質(zhì)上,作為一種貨幣砚殿,比特幣正向著初衷邁進(jìn)啃憎。相比之下,以太坊需要解決的問題似炎,就要復(fù)雜很多了辛萍。
拓展閱讀:
Bitcoin: A Peer-to-Peer Electronic Cash System
https://bitcoincore.org/bitcoin.pdf
Next-Generation Smart Contract and Decentralized Application Platform
https://github.com/ethereum/wiki/wiki/White-Paper
Ethereum Casper 101
https://medium.com/@jonchoi/ethereum-casper-101-7a851a4f1eb0
A Proof of Stake Design Philosophy
https://medium.com/@VitalikButerin/a-proof-of-stake-design-philosophy-506585978d51
Proof of Stake FAQs
https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQs
Casper Proof of Stake compendium
https://github.com/ethereum/wiki/wiki/Casper-Proof-of-Stake-compendium
Proof of Stake: How I Learned to Love Weak Subjectivity
https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/
Critique of Buterin’s “A Proof of Stake Design Philosophy”
https://medium.com/@tuurdemeester/critique-of-buterins-a-proof-of-stake-design-philosophy-49fc9ebb36c6
Cryptocurrencies without Proof of Work
https://arxiv.org/pdf/1406.5694.pdf
casper_basics.pdf
https://github.com/ethereum/research/blob/master/papers/casper-basics/casper_basics.pdf
The Triangle of Harm
https://vitalik.ca/general/2017/07/16/triangle_of_harm.html
Casper Proof of Stake compendium
https://github.com/ethereum/wiki/wiki/Casper-Proof-of-Stake-compendium
slasher
https://blog.ethereum.org/2014/01/15/slasher-a-punitive-proof-of-stake-algorithm/
The History of Casper?—?Chapter1
https://blog.ethereum.org/2016/12/06/history-casper-chapter-1/
The History of Casper?—?Chapter2
https://blog.ethereum.org/2016/12/07/history-casper-chapter-2/
The History of Casper?—?Chapter3
https://medium.com/@Vlad_Zamfir/the-history-of-casper-chapter-3-70fefb1182fc
The History of Casper?—?Chapter4
https://medium.com/@Vlad_Zamfir/the-history-of-casper-chapter-4-3855638b5f0e
The History of Casper?—?Chapter 5
https://medium.com/@Vlad_Zamfir/the-history-of-casper-chapter-5-8652959cef58