昨日劉教鏈公眾號刊發原創文章《論比特幣和以太坊的“宕機”》之后,引發了一些對區塊鏈工作原理感興趣的朋友的熱烈討論。其中,魔笛手社區群主Claire提了一個好問題:為什么中本聰不給比特幣設計最終性(finality)呢?或者說,為什么中本聰設計的比特幣沒有顯式最終性(explicit finality)呢?
透徹地了解這個問題,需要對計算機科學的一個重要分支——分布式系統——的發展歷史和關鍵問題作一個全面了解和深入思考。在劉教鏈所著《上帝擲骰子:比特幣史話》一書(以下簡稱《史話》)第七章“拜占庭將軍”用了6個小節的篇幅對這段往事做了較為全面的鋪陳。接下來,筆者試著用簡單的篇幅和精煉的邏輯,來對上述問題做一個較為通俗易懂的解答。
中本聰發明比特幣,克服了什么關鍵困難,或者說解決了什么關鍵問題?去中心化共識問題,或者叫做分布式一致性問題。特別的,比特幣要解決的,是如何在有人可能會掉鏈子(宕機、掉線)、有人可能會作惡(人人皆佛魔兩面)的不確定環境中,不借助于一個中心權威或者說中央統治者,就能自動達成共識(consensus)或者一致(consistency)的問題。這個問題,就是由計算機科學家Leslie Lamport在1982年的著名論文《拜占庭將軍問題》中所指出和命名的“拜占庭將軍問題”。
最早意識到此問題的人,并非Leslie Lamport,而是他的同事Robert Shostak。那是1978年。從1978年到中本聰發表比特幣白皮書的2008年,整整30年,整個人類計算機科學界,沒有人真正解決這個問題。
加密貨幣服務提供商Coinmotion在西班牙完成加密注冊:金色財經報道,芬蘭加密貨幣服務提供商Coinmotion,已獲得西班牙銀行的確認,成為法定貨幣虛擬貨幣兌換服務和電子錢包托管的有效提供商,注冊號為D741。該公司成立于2012年,自2019年起正式被FIN-FSA監管為加密貨幣提供商。[2023/1/4 9:52:46]
為什么這個問題如此難以解決?也許有學過分布式系統的朋友會說,當年Lamport就已經給出了解決方法了呀!就是拜占庭容錯(BFT)算法。后來1999年的時候還有人繼續改進該算法,提出了實用拜占庭容錯(PBFT)等新算法。
事實上,Lamport的解題思路走向了一個錯誤的方向。所有BFT類的算法,都必須隱含一個假設,節點時鐘同步性假設。否則,就無法形成共識、達成一致。而這個隱含假設,恰恰是自相矛盾的:想作惡的人,當然可以篡改他所控制的節點的時鐘,使之不同步。要想滿足這個假設,就要取消拜占庭環境的設定,那么,拜占庭容錯算法只能在非拜占庭環境中工作,這解決方案是解了個寂寞!而如果作了非拜占庭環境設定,我們顯然可以換用效率高出成百上千倍的算法來達成分布式一致性,比如谷歌Spanner和微信后臺所用的Paxos算法(《史話》第六章第19話“時鐘同步性”)。
你永遠叫不醒一個裝睡的人。直到今天,還有宣稱去中心化的公鏈系統采用BFT、PBFT以及其他變體作為共識算法,在錯誤道路上執迷不悟。事實上,到了1985年,三個計算機科學家——耶魯的Michael Fisher、MIT的Nancy Linch和華威大學(英)的Mike Paterson——聯合發表了一篇名為《有一個錯誤進程即不可能達成分布式共識》的著名論文,提出了著名的“FLP不可能定理”。
Crystal Blockchain:今年因勒索軟件事件支付的加密貨幣僅1600萬美元:12月23日消息,區塊鏈分析公司Crystal Blockchain表示,據統計,2022年因勒索軟件事件向黑客支付的加密貨幣總額僅為1600萬美元,而2021年為近7400萬美元。
網絡安全研究人員稱,鑒于自2021年以來勒索軟件攻擊的數量有所增加,這一數據可能令人意外。今年,以在COVID-19大流行期間恐嚇美國醫院而聞名的Conti勒索軟件團伙停止了活動,但新的團伙不斷涌現。
不過,Crystal區塊鏈情報總監Nick Smart表示,現在就斷定勒索軟件攻擊正在永久減少可能還為時過早。“自從Conti泄密以來,我們能夠收集到更多關于歷史勒索軟件和勒索活動的信息,也就是說我們對以前的情況有了更多的了解。由于贖金的運作方式,以及許多公司不公開披露支付信息,現在無法了解勒索活動具體發生了什么。”(CoinDesk)[2022/12/23 22:03:05]
FLP定理給了BFT類算法當頭棒喝:只要取消掉時鐘同步性假設,別說有人作惡了,即便只是有人掉鏈子,分分鐘就把整個系統的共識搞崩潰。
路被堵死了。Lamport知恥后勇。你以為他奮發圖強,一舉克服了時鐘同步性依賴了嗎?不。他好漢不吃眼前虧、韓信能受跨下辱,借坡下驢、順勢躺平,乖乖接受了這個五雷轟頂的現實。1990-1998年,他提出了在非拜占庭環境下的高效共識算法Paxos。為啥花了這么久?在《史話》第27話“美麗的小島”有記述這段離奇而曲折的故事,篇幅過長,不再展開。
CoinShares在納斯達克斯德哥爾摩證券交易所上市:金色財經報道,數字資產投資和交易集團CoinShares在納斯達克斯德哥爾摩證券交易所上市。
CoinShares首席執行官Jean-Marie Mognetti表示,上市在CoinShares發展中畫下了濃墨重彩的一筆,并且證明了其有遵守合規交易所不斷增多的要求的能力。[2022/12/19 21:54:27]
這一下子就過去了十年。
老天爺似乎總愛給越挫越勇的人更多的挫折和挑戰,“增益其所不能”。就在Lamport關于Paxos算法的論文發表的同一年,伯克利大學教授Eric Brewer提出了一個理論假說:分布式系統,無論如何,都不可能同時做到這3點:一致性(consistency),可用性(availability),分區容忍(partition tolerance)。
看起來好像一個不可能三角形。但是由于第三點不得不接受,因為網絡不可能100%可靠,那么本質上就是二選一了:你要一致性呢,還是要可用性?魚翅,我所欲也;熊掌,亦我所欲也。二者不可得兼,舍哪個而取哪個呢?
Paxos選得啥?Paxos選的是強一致性。那么就意味著,它必然、一定、不得不舍棄可用性。舍棄可用性不意味著一個采用Paxos算法的系統總是在宕機,但是它一定有機會宕機。宕機,就意味著要整體干預、協調和重啟。也就意味著,對中心化控制的依賴。5秒鐘思考一下,著名的“宕機鏈”Solana宕機之后怎么辦?當然是項目方、基金會出面協調全網重啟啦!它無法自我恢復。
螞蟻集團研究院高級專家孫曦:區塊鏈技術發展有四大趨勢:金色財經報道,日前,由上海華瑞銀行、中國人民大學國際貨幣研究所(IMI)與中國人民大學金融科技研究所聯合主辦的“華瑞金融科技沙龍”系列沙龍(第2期)在線上會議進行。螞蟻集團研究院高級專家孫曦在會上指出,區塊鏈技術發展有以下四大趨勢:
1.技術上,區塊鏈技術和其他各種技術的融合。
2.產品服務上,目前區塊鏈設施提供商會越來越傾向于提供一體化解決方案。
3.安全合規上,上半年在Web3/區塊鏈領域,大部分的安全攻擊重點是針對DeFi,因為它最貼近數字資產,攻擊價值最高,目前行業中也存在一些技術提供商來提供協議和合約層面的安全服務解決方案,如通過安全審計、形式化驗證等方式來減少上線前的潛在安全缺陷,幫助協議提供方和智能合約提供方加強本身的安全性。
4.數字身份上,未來去中心化數字身份將與中心化數字身份體系互為補充、融合共生。[2022/9/4 13:07:06]
同時,別忘記了,Paxos隱含的前提是始終同步性假設。高性能、強一致性的背后,是極其精準的時鐘同步。谷歌Spanner系統甚至需要用原子鐘來保證節點間分毫不差的計時。這種系統,是絕難推廣到比特幣所面臨的拜占庭環境的。
Eric Brewer的理論假說直到2002年才被MIT的Seth Gilbert和Nancy Linch成功證明。自此成為人盡皆知的“CAP定理”。
'90年代互聯網開始發展。今天的很多互聯網巨頭在'90-'99年之間相繼成立。面對拜占庭問題,互聯網技術直接選擇了“躺平”,向拜占庭將軍問題舉手投降,直接建立公司級防火墻,把壞人拒之門外,營造非拜占庭環境,用自己中心化控制的計算機組成分布式集群,對外提供高性能的互聯網服務。
數據:8月比特幣挖礦收入增長10%:金色財經報道,8 月份比特幣挖礦收入增長了10%,這是自3月份以來的首次環比增長。根據The Block Research 匯編的數據,上個月,礦工帶來了約 6.57 億美元的收入。其中,大多數比特幣挖礦收入來自區塊獎勵補貼,為6.4772 億美元,只有一小部分來自交易費用,為924萬美元。比特幣交易費用占總收入的份額下降到約1.4%。
此外,8 月,以太坊礦工的收入為7.25億美元,是比特幣礦工的1.1倍。[2022/9/2 13:04:00]
在拜占庭將軍問題面前,產業界選擇了投降。和Lamport當年看到FLP定理證明之后的選擇一樣。
逃得過拜占庭將軍問題,卻逃不過CAP問題。產業界的實踐并不晚于學術界。只不過,Lamport又一次當了“反指”(反向指標)。互聯網系統的經典技術路線,并不是像Paxos選擇一致性,而是反其道而行之,選擇可用性。
為什么?很容易理解。你可以接受互聯網服務少量的數據不準確、不及時(一致性出問題),但不能接受互聯網停止服務和拒絕服務(可用性出問題)。而且,隨著互聯網用戶規模和數據量的爆炸式增長,保持全網數據的強一致性(時時刻刻處處一致)十分困難。
既要又要是難如登天的。身段放軟、適當妥協是智慧的。互聯網界很自然地選擇了向一致性開刀,在強一致性上做折衷,把強一致性弱化成經過一段時間之后達成一致,也就是所謂的“最終一致性”(eventual consistency)。
也即是說,互聯網系統總是能夠回應用戶的訪問請求,但是操作之后,不保證會立刻得到想要的結果。往往需要經過一小段時間t,數據才會同步更新到位。比如,筆者在劉教鏈公眾號推送了這篇文章,并不是第一時間所有讀者都能立刻收到,而是陸陸續續收到。但是最終而言,經過一段或長或短的時間,大家都會收到一模一樣(一致)的文章內容。
這個最終到達全局一致性的狀態,就叫做最終性(finality),或者叫做“終局”。
最終一致性走了和Lamport不同的道路,為互聯網大規模發展幾十年鋪平了道路。但是,它雖然解決了CAP問題,卻仍然只能在中心化管控的非拜占庭環境下工作。
好了,現在讓我們重新回到最初的問題,拜占庭將軍問題。如果我們既要一致性(記賬數據不可以出錯),又要可用性(系統不可以有任何宕機的可能性),又是拜占庭環境(有掉鏈子節點和作惡節點),也無法假設時鐘同步性(任何節點都可能時間不準或者故意篡改時間),那么這樣一個分布式共識系統,能被設計出來嗎?
幾乎所有人都會說不能。而且越是掌握專業知識的人,可能越篤信這樣的系統是不可能存在的。因為見識過其中的困難,所以心中畏懼。當2008年10月31日中本聰初次披露比特幣白皮書時,差不多每一個看到的人當時也都是這么想的。
中本聰給出的辦法,就是放棄(顯式)最終性。把最終一致性變成概率一致性(probabilisitic consistency),把最終性變成概率最終性(probabilisitic finality),即有一定概率達成一致,有一定概率達到最終性,且這個概率隨時間向前流淌而迅速提高,快速逼近于100%,但永遠不會到達100%。從這個意義上講,也可以說,中本聰把最終一致性里的“最終”二字所代表的一小段時間t推向了無窮遠。
用數學的語言說,就是對于任意的t < 無窮大,都有一致性的概率p < 1,而當t -> 無窮大時,p -> 1。這就是中本聰共識。
如果我們允許一致性概率p = 1,那么,顯式最終性或者最終一致性就是概率最終性的特例:存在t < 無窮大,一致性的概率p = 1。
如果中本聰共識中的概率收斂速度足夠快,那么不需要太久,p就會非常非常接近于1。在比特幣白皮書第11小節“計算”一節里,中本聰計算過兩個示例:惡意算力占比10%時,經過10個區塊,一致性概率就會達到99.99988%;占比30%時,經過50個區塊,概率就會達到99.99994%。(《史話》附錄B:比特幣白皮書劉教鏈譯本)
隨著時間的不斷向前,隨著區塊鏈的不斷延長,一致性概率會從0.9、0.99、0.999迅速增長,不斷逼近0.9循環小數,即1。
比特幣不再定義“最終”,而把“最終”的定義留給用戶、留給我們。這也意味著,比特幣的最終性,也是主觀的。中本聰在白皮書中,給出的樂觀計算是一致性達到概率99.9%,只要錯誤或惡意算力占不高于10%,我們就只需要在交易進入區塊后再延長5個區塊也就是所謂的“6個區塊確認”就可以視為已經到達最夠好的最終性了。
6個區塊,大約是1個小時。更樂觀的人可以主觀上視3個區塊確認就足夠好了。更悲觀的人也可以默默等待更久的時間。
比特幣系統通過放棄設定一個強迫所有人接受的顯式最終性,轉而僅提供一致性的概率計算,而把何時接受共識交給每個用戶的主觀,從而一舉突破了CAP定理、FLP不可能定理,拋棄了對時鐘同步性假設的依賴,真正解決了拜占庭將軍問題,實現了真正去中心化的記賬系統。
我們是否有可能繼續攀登,即保持和比特幣同等級別的去中心化程度,并解決拜占庭將軍問題,同時不放棄顯式最終性,通過確定性的算法和機制,實現顯式最終性呢?對此筆者不太樂觀。直覺上感覺不放棄顯式最終性解決拜占庭將軍問題可能是一個類似于“發明永動機”的問題,區別在于在計算機分布式系統領域,目前還不知道何為“熱力學第二定律”。
更大的矛盾之處還在于:如果揚棄了中本聰引入的工作量證明(PoW)——出于環保等任何正確的或其他方面的原因,比如改為PoS或其他什么算法;或者,揚棄了中本聰引入的鏈式區塊賬本(區塊鏈),而是改用其他數據結構比如DAG(圖),那么,都將不可避免地、必須、不得不實現顯式最終性,否則,不需要消耗巨大外部能量和代價的數據就會被輕易推翻、顛覆和篡改。這樣一來,在不得不實現的顯式最終性和不得不克服的拜占庭將軍問題二者之間,真的能兼得嗎?如果實踐和理論最終證明,要顯式最終性,就無法克服拜占庭將軍問題,如果要克服拜占庭將軍問題,就必須舍棄顯式最終性,那么,我們又將面臨一個怎樣的未來?是巨大的挫折,還是理論極限的再次突破?
行文至此,筆者心中不由地冒起冷汗,耳邊仿佛回響起中本聰當年(2009.2.15)說過的話:(《史話》第38話“更好的黃金”)
“很多人自動忽視電子貨幣,將其視為損失的原因,因為自 20 世紀 90 年代以來,所有(做這一方面)的公司都倒閉了。很明顯,僅僅是因為那些系統的中心化控制的本質讓他們在劫難逃。我認為這是我們第一次嘗試去中心化、基于非信任的系統。”
劉教鏈
個人專欄
閱讀更多
金色薦讀
金色財經 善歐巴
迪新財訊
Chainlink預言機
區塊律動BlockBeats
白話區塊鏈
金色早8點
Odaily星球日報
MarsBit
Arcane Labs
Tags:比特幣區塊鏈ORTPORT比特幣市值跌破5000億美元什么原因知乎區塊鏈賺錢是什么模式LORTCEASports
自 Ordinals 協議將 BTC NFT 帶火之后,BRC-20 又成為了用戶、CEX 爭搶布局的新賽道。這些新協議的出現讓一向「古板」的比特幣鏈又重新煥發生機.
1900/1/1 0:00:00重點 ①埃隆·馬斯克始終被視為特斯拉的象征,其重點多關注技術和工程領域,因此這家電動汽車制造商需要有個真正的幕后掌舵人,他就是首席財務官扎克·柯克霍恩.
1900/1/1 0:00:00來源:NingNing 推特:@0xNing0x賽博朋克社會貨幣的Pre-alpha版本:WorldCoinWorldCoin的敘事內核:《1984》的時代隱喻與白左的核心價值觀WorldCoi.
1900/1/1 0:00:00自2020年10月至2023年3月,Web3.0領域中在遭受攻擊后仍能收回或部分收回損失資金的事件共有25起.
1900/1/1 0:00:00關于 Web3 的概念,我們現在比較熟悉的是由 Gavin Wood 于 2014 年提出的融合去中心化區塊鏈技術以及代幣經濟學的迭代互聯網想法.
1900/1/1 0:00:00Tether 在第一季度實現了創紀錄的 14.8 億美元凈利潤。這使其儲備盈余再創歷史新高至24.4億美元.
1900/1/1 0:00:00