從POW到Casper來感受下以太坊共識機制演進藝術(上)
文章推薦指數: 80 %
囚徒戈多第4篇文章,閱讀需要5分鐘
這或許是全網解釋區塊鏈的價值核心--共識機制最詳細的文章。
前言
區塊鏈起源於比特幣,發展於以太坊。
想對區塊鏈有系統性的認知,最好先熟知比特幣和以太坊的知識。
這是我從比特幣和以太坊寫起的原因。
而對區塊鏈項目來說,共識機制是其根本價值所在。
共識是區塊鏈應用落地的基礎,指的是參與者如何在此系統中進行協作。
所以,本文希望能對比特幣和以太坊的共識機製做總結,幫助大家更好地認識區塊鏈的價值。
正文
初遇比特幣,很多人看到的是一個周身被貪婪、欺騙所圍繞,充滿暴戾與醜聞的事物。
而當有人試著吹散泡沫,探尋本源時,他們會為比特幣所構建的「共識」所折服。
感覺像是走入一個全自動化工廠,每個處理事情的節點,都按照既定規則運轉。
從廣義上講,共識是一種社會協作方式,可在不同領域應用,提升效率,是比特幣區別於「鬱金香」、「密西西比」等泡沫事件最本質的不同。
另一方面,比特幣共識並不完美。
由於中本聰的原意是創造一種「錢」,所以在CAP原則(指的是在一個分布式系統中,一致性Consistency、可用性Availability、分區容錯性Partition tolerance,三者不可得兼)框架下,他選擇了一致性和分區容錯性,弱化了可用性,使比特幣共識在擴展應用時,遇到了難題。
基於此,有人試著去研究不同的共識機制,彌補比特幣在應用性上的不足。
以太坊社區是其中最著名的一群人,他們正嘗試把權益證明POS引入到以太坊中,並將此計劃命名為Casper(取自同名電影,中文譯為《鬼馬小精靈》)。
本文將圍繞比特幣工作量證明POW與以太坊權益證明計劃Casper展開敘述。
比特幣工作量證明POW
起初,中本聰想創造一種提前約定好發行機制,並且一旦發行,任何人都無法操控的貨幣。
這樣就避免了有人因一己私利,通過控制貨幣發行量,變相盤剝民眾利益。
為了達成目的。
首先,中本聰將比特幣總量設定在2100萬個,並利用動態函數,規定每10分鐘產出一定數量。
這2100萬個幣,將於2140年全部流通於世。
其次,比特幣交易記錄不受任何數據中心控制,而是利用點對點技術(P2P),讓用戶之間直接轉帳,過程就像用微信互傳文件一樣。
為了維護系統正常運行,中本聰將新產出的比特幣與轉帳手續費,獎勵給記帳參與者(礦工,又稱節點)。
幹活的人得到了獎勵,這樣便有人心甘情願的為系統付出了。
為了不出差錯,中本聰需要採取一套運行規則來使系統符合以下原則:
1. 結果一致。
每個節點記錄的全網交易記錄是一致的。
2. 不可篡改。
任何人無法篡改交易記錄。
3. 有效率。
貨幣系統工作效率高。
4. 可持續。
貨幣系統可一直運行下去。
而用以保證系統正常運行的規則,便是共識機制。
比特幣共識機制是如何運轉的呢?
當用戶A給用戶B轉帳時,節點(包括AB自己)的比特幣客戶端,會收到這一信息。
同時,所有參與者會在客戶端內,利用計算設備(礦機)每隔10分鐘計算一道「哈希難題」。
這道難題出現時間及難度,受動態函數控制,以保證10分鐘間隔。
這個過程被稱作工作量證明(POW)。
率先計算出正確結果的節點,將根據代碼審查交易信息是否屬實,將包括AB用戶在內、一定時間段內的轉帳信息,打包在一起確認(打包成「塊」),並將當前的「塊」,連接到此前的「塊」上,生成「區塊鏈」,並同步(廣播)至全網所有比特幣節點。
此時,A給B的轉帳交易會判定為有效。
記帳節點獲得新產生的比特幣及轉帳手續費,作為獎勵,並開始新一輪的哈希難題計算。
此外,記帳結果以「最長鏈」為準。
若有2個參與者同時完成工作量證明,並打包區塊,則他倆會開始「競賽」,誰最先產生新的區塊,就以誰為準。
工作量證明機制(POW)使每次參與記帳的節點是唯一的,計算結果會被廣播至全網且以最長鏈為準,這保證了全網節點交易記錄是一致的。
此外,在記帳時,節點同時會檢查與該交易有關的、所有地址的「未被花費的餘額」(UTXO)。
比如,檢查A是否有未被花費的餘額,則需檢查A是否收到過更早的轉帳,以此類推,直到「創世交易」。
理論上,只要「創世交易」不變,當前每個人未被花費餘額就是確定的。
創世交易不變,加上交易記錄分布式存儲,使得任何人無法篡改交易記錄。
能源消耗與「下議院悲劇」
事實上,比特幣為了保證系統一致性,犧牲了可用性,並引出一系列問題。
首先,比特幣不是有效率的。
一方面,受到大小的限制,每個「塊」包含4000條交易數據,按10分鐘的生成時間換算,相當於每秒處理6.67條交易,以至比特幣的全網未確認交易數一度達12134筆,這對貨幣來說是不合格的。
另一方面,工作量證明機制消耗大量無謂資源。
每次打包成塊時,所有節點分別計算哈希難題,而最終有資格記帳權的節點卻是唯一的。
其餘節點所做工作皆是浪費。
此外,為了有更大機率獲得記帳權,人們發明了專門的礦機來提高算力。
而礦機在計算哈希難題過程中,消耗大量電力。
據統計,目前全球比特幣礦場年耗電量,超過捷克等全球159個國家。
其次,比特幣或許不是可持續的,獨特的發行機制或許會讓比特幣陷入「下議院悲劇」。
由於中本聰規定,每產出21萬個區塊,新比特幣獎勵減半。
到2140年,比特幣全部被挖出時,礦工獎勵僅剩用戶轉帳手續費。
同時,別忘了「塊」的大小是有限制的,所以手續費數量是一定的。
於是,在未來某一時刻,當礦工記帳獲得的比特幣獎勵,與礦機硬體、電力地租等成本持平時,大量礦工將退出比特幣系統,算力集中在少數人手裡。
他們可以憑藉已掌握的算力,在之前的區塊上,延伸出新的「最長鏈」,從而將另一條鏈作廢,從而將自己已經支付的幣取回。
這會對比特幣系統造成毀滅性打擊。
事實上,比特幣社區早已認識到問題的存在,近年來他們討論過擴大「塊」的容量,或者引入隔離見證、閃電網絡等方案,提高每秒可處理的交易數(TPS)。
他們甚至還討論過是否擴大發行總量。
但始終沒有達成一致。
好消息是,儘管比特幣支付還不像法幣一樣方便,但美國、日本、德國、加拿大、白俄羅斯、瑞士等國家已接受比特幣支付,並在一定法律範圍內,承認其合法地位,部分國家還設置了比特幣ATM機。
本質上,作為一種貨幣,比特幣正向著初衷邁進。
相比之下,以太坊需要解決的問題,就要複雜很多了。
拓展閱讀:
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
」鬱金花泡沫「的比特幣價值何在?基礎知識普及(上)
」鬱金花泡沫「的比特幣價值何在?基礎知識普及(上)比特幣是一個去中心化的、點對點交易的現金電子系統,但是這個系統是如何完成它的交易的呢?下面咱們來普及一下。
名詞解釋:區塊鏈術語學得好,飯局逼格低不了
挖礦比特幣中的「挖礦」實際上是記帳的過程。比特幣的運算採用一種稱為「工作量證明(Proof of Work,POW)」的機制,系統為了找出誰有更大的計算能力,每次會出一道數學題,只有最快解出這道...