原文標題:《Echo | Nick Szabo:貨幣,區塊鏈與社會可擴展性(下)》
撰文:Nick Szabo
翻譯 & 校對:Jan, Joey & 阿劍 , 閔敏
網路安全技術的社會可擴展性
很久以前,我們使用黏土,后來使用紙,如今通過計算機和數據網路上運行的程式和協議來實現大部分商業交易,雖然這種進步極大地改進了交易撮合和資訊流動,卻導致人類對作惡行為的防御力下降。
隨著網路的發展,更多對彼此行為習慣和約束并不了解的人加入進來,基于根信任的訪問控制來實現的安全系統只適用于小型辦公室,例如,貝爾實驗室,里面的工作者互相熟識,收入和支出都通過紙質流程而非辦公室計算機上的電子程式控制。然而,隨著組織機構變得更加龐大,組織邊界更錯綜復雜,以及更有價值更集中的資源(如貨幣)被委托給計算機管理時,這種安全系統變得不再高效,也不再安全。
接收越多來自陌生人的電子郵件,就越有可能受到網路釣魚攻擊或收到惡意軟體,傳統的計算機安全系統并不具備很好的社會擴展性,正如我在《可信任計算的黎明》[7] 中描述的一樣:
當我們在蜂窩網路或互聯網上使用智能行動電話或筆記本電腦時,與我們交互的另一端通常運行在其他獨立計算機上,例如網路服務器,實際上,從架構上來說,所有這些機器都是為了方便一個人或一群相互了解信任的人控制而設計的。從遠程網路或應用程式用戶的角度來看,這些架構建立在對某個未知的 「root」管理員完全信任的基礎上。這個管理員可以控制服務器上發生的所有事情:
他們可以任意讀取、更改、刪除或屏蔽該計算機上的任何數據,即使通過網路加密發送的數據,最終也會被一臺受控制的計算機解密和完全掌握,使用網路服務(實際上在這樣的網路里我們很容易被攻擊)意味著,我們相信計算機(或者某個控制該計算機的人,可能是內部員工或是黑客)會如實執行我們的任何命令并保護我們的付款,如果有人在另一端企圖濾掉或者篡改你的網路指令,沒有很好的安全措施可以阻止他們,只能依靠一些不靠譜又昂貴的人為制度,而這些制度往往走不出國家的邊界。
很多服務器對于內部人員或外部人員來說沒有足夠的攻擊價值。但是也有越來越多的服務器因為包含有利用價值的資源而招致頻繁攻擊,基于根信任的中心化安全系統難以擴展,隨著計算機控制的資源變得越來越有價值且越來越集中,基于根信任的傳統安全機制越來越像現實世界中的「有事找警察」,幸運的是,有了區塊鏈技術,我們可以在大部分重要的計算場景中做得更好,
區塊鏈與密碼學貨幣
可擴展的市場和價格需要可擴展的貨幣,可擴展的貨幣需要可擴展的安全性,這樣更多不同的人可以使用該貨幣,同時貨幣不會失效 —— 不能偽造、 不會通脹、也不會被盜。
2009 年,以中本聰為名的某個人或是一群人創造了比特幣。中本聰在貨幣上的突破是通過信任最小化給人們提供了社會可擴展性:減少交易對手風險和第三方風險,中本聰使用計算成本高昂但自動化的安全系統代替計算成本低但制度成本高的傳統安全系統,很好地增加了社會擴展性。一組只需部分信任的中間機構取代了原本單一的需要完全信任的中間機構。
打了「計算興奮劑」的金融控制:區塊鏈就像由機器人組成的軍隊,互相檢查彼此的工作,
當我們可以通過計算機科學而不是傳統的會計師、監管人員、調查人員、警察和律師來保障金融網路的最重要功能時,我們會趨向于一個自動化、全球化且更安全的系統,而不是人為控制的、局限于本地的且不一致的安全系統。如果我們通過正確的方式在公鏈上實現密碼學貨幣,就可以使用一大批計算機來替代傳統銀行業的大量官僚。
「通過使用計算機來維護區塊鏈,我們就能將互聯協議中最關鍵的部分放在一個更加可靠和安全的基礎上,讓我們以前不敢在全球網路上嘗試的信托交互成為可能,」[8]
對于區塊鏈技術,尤其是比特幣來說,最有價值的特點包括:
- 可獨立于現有機構運行
- 可無障礙地跨越國界運行
區塊鏈之所以具備這些特點,是因為它可以在沒有人為干預的情況下保持高水準的安全性和可靠性。如果沒有高安全性,區塊鏈將只是一種資源利用率極低的分布式資料庫技術,依然需要依賴于當地官僚制度來保證其正常運行。
自 20 世紀中期以來,計算機的效率提高了好幾個數量級,但人類的大腦并沒有多少變化 ,新的計算能力為突破人類的極限創造了許多可能性,而隨著人類思維發揮到了極致,基于人類心智設計的制度也已經發揮到了極致。結果就是,人類沒有剩余的心智來提升我們現有的制度了。
但如果我們用計算機直接代替人類發揮功能,社會擴展性依然有很大的改進空間。(重要提示:這個結論取決于上圖中斜線的斜率,而不是人類能力線的絕對位置。上面顯示的能力線位置是任意的,僅僅取決于我們對人類能力的估算)。
一個新的中心化金融實體,一個需要信任的第三方,如果不像傳統金融機構那樣擁有等效于「人工區塊鏈」的制度,極有可能成為下一個 Mt. Gox。如果沒有官僚制度,它就無法成為一個可信的金融中介,
計算機和網路的成本很低。擴展計算能力需要的額外資源成本也很低,若想以安全可靠的方式擴大人類傳統制度的管理范圍,我們需要更多會計師、律師、監管人員和警察,同時也要面臨隨之而來的官僚作風、風險和壓力,律師費用高昂,監管成本更高。而計算機科學在保障貨幣安全方面遠遠優于會計師、警察和律師。
在計算機科學中,安全性與性能之間存在根本的權衡。比特幣的自動化可靠性源自其運行和資源使用產生的高昂成本,直到現在,還沒有出現既能大幅提高比特幣區塊鏈的計算可擴展性(例如交易吞吐量),又能保證這種改進不會影響比特幣安全性的辦法,
對于比特幣來說,很可能不存在兩全其美(保持可靠性,同時大幅提高性能)的方法,這也許是無法避免的權衡關系之一。與現有的金融資訊技術比較,中本聰做出了一些重要權衡,以犧牲性能為代價提高安全性。在這些權衡中,看似浪費資源的挖礦過程是最明顯的一個,但不是唯一一個。
另外一個權衡是消息傳遞的高度冗余,為實現數學上可證明的可靠性,消息需要在所有節點之間全面廣播。比特幣無法實現這一點,但即使要達到近似的目的也需要極高的冗余性,因此,1 MB 的區塊消耗的資源遠比 1 MB 網頁消耗的多,因為前者在傳輸、處理和存儲方面需要更高的冗余度,以實現比特幣的自動可靠性,
這些必要的權衡都以犧牲性能來實現足以支撐獨立運作、全球化和自動化可靠性所必需的安全性。這意味著比特幣區塊鏈無法在達到 Visa 的每秒交易處理量水平的同時,保持自動化可靠性,而自動化可靠性才是其相對傳統金融系統的獨特優勢,
相應地,我們只需要一個對信任最小化要求較低的外圍支付網路(如 Lightning [9])來承擔大量小額比特幣交易,而比特幣區塊鏈只需要定期對成批的外圍網路交易進行結算。
雖然比特幣支持的交易吞吐量比 Visa 或 PayPal 都低,但它具有更強的自動化安全性,適用于重要交易。任何滿足互聯網接入條件并擁有智能行動電話的人都可以支付 0.20-2 美元的交易費(這遠低于當前的匯率手續費),然后在全球任何地方使用比特幣服務。而低費用的小額交易可以在比特幣的外圍網路上處理。
你可以像使用法幣一樣使用比特幣進行日常消費。例如,以比特幣計價的信用卡和借記卡具備與法幣信用卡或借記卡一樣的秒級交易和請求退款 [10] 功能,我們還可以通過其它巧妙的方法來實現外圍比特幣小額付款,即,將小額付款放到鏈下處理,只定期在比特幣區塊鏈上進行批量結算,隨著比特幣使用量增加,比特幣區塊量將發展成為大額結算層,而小額比特幣付款將由外圍網路處理。
在設計 Bitgold 時,我已經認識到共識無法在保證安全的情況下擴展到高吞吐量的場景中去,所以我把它設計成了兩層架構:(1) Bitgold 本身,作為結算層;(2) Chaumian 數字現金,作為擁有高吞吐量和隱私性(通過 Chaumian 盲簽名實現)的零售級外圍支付網路,但這個外圍網路像 VISA 一樣是需要信任的第三方,因此需要由會計師等角色組成的「人工區塊鏈」來保證可靠性。
這個外圍支付網路只涉及小額交易,因此只需要很少的人力就能避免重蹈 Mt. Gox 的覆轍,
拉爾夫·默克爾(Ralph Merkle):公鑰密碼學的先驅,和層級式哈希樹結構(默克爾樹)的發明者
從設計上來說,貨幣必須在安全性的基礎上具有社會可擴展性,例如,貨幣必須難以被任何使用者或者中間人偽造(以免稀釋供給曲線,進而導致過度的或意想不到的通貨膨脹)。黃金在世界上任何地方都具有價值,而且不會受惡性通貨膨脹的影響,因為它的價值并不取決于任何一個中央權威機構,比特幣在這些方面同樣表現突出并且可以運行在網路上,它能讓阿爾巴尼亞境內的人無需信任第三方 和 / 或 支付天價手續費的情況下,安心地向津巴布韋境內的人支付比特幣,
現在「區塊鏈」有著各種各樣的定義,但幾乎所有的定義都是出于營銷炒作的目的,我建議給「區塊鏈」一個可以將其內涵傳遞給外行人的清晰定義。區塊鏈應該既有區塊,也有鏈。鏈指的是默克爾樹或其它具有不可偽造的完整性功能的密碼學結構,此外,為了在客觀上盡可能容忍最糟糕的情況和惡意參與者,受區塊鏈保護的交易和其他數據應該用合理的方式復制下來(通常情況下,即使有 1/3 到 1/2 的服務器作惡,這個系統依然能正常運行)。
比特幣的社會可擴展型安全性基于計算機科學,而不是警察和律師,所以它支持跨國界支付,例如,非洲的客戶可以向大陸的供應商無縫付款。私有鏈要做到這點很難,因為它需要可以在不同行政管轄區之間共享的身份驗證、數字證書以及公鑰基礎設施服務(PKI),
因為這個特點,以及(但愿很少)可能出現的會導致歷史區塊無效的軟體更新需求(一種叫做硬分叉的危險情況),區塊鏈還需要一個人工治理層(雖然這一層也會面臨政治斗爭的風險),最成功的區塊鏈(比特幣)之所以能維持其不可變性,一方面是因為技術專家們之間的去中心化決策,另一方面是因為秉持著不可篡改性原則。這種原則下,只有少數沒有任何其它可行方案的重要漏洞修復和設計改進可以使用硬分叉,
在這種治理理念下,會計或法律層面上的決定(例如,更改賬戶余額或撤銷交易)不能成為執行硬分叉的理由,它們應由系統外(或系統上層)的傳統治理機制來實現(例如,通過法院禁令強制比特幣用戶發送一個新的交易,從而起到撤銷舊交易的效果,或沒收特定用戶的密鑰,從而沒收該密鑰所控制的代幣)。
所謂的事后不可偽造性和不可變性,指的是一旦數據被提交到區塊鏈上,就無法在不知不覺中被篡改,與一些炒作所說的概念相反,我們沒有任何辦法保證數據上鏈之前的來源是否真實,或數據本身是真是假,這需要采取額外的辦法,通常涉及高成本的傳統制度。
區塊鏈不能保證數據的真實性;它只是把真相和謊言都以無法篡改的方式保留下來,讓后來的人客觀地分析這些資訊,從而更有信心揭露謊言。日常的計算機是一塊算力畫板;而區塊鏈則是算力琥珀。重要數據應該盡早地封裝進區塊鏈琥珀,最好是由生成數據的設備在簽名加密后直接提供,最大限度地發揮區塊鏈在保證數據可靠性上的優勢,
一個包含四筆交易的默克爾樹(從 tx 0 到 tx 3)。讓交易所組成的區塊經由工作量證明機制形成鏈表結構,再加以適當的傳播和復制,默克爾樹結構就能依托共識機制,打造出交易數據的事后不可偽造性,在比特幣中,這些數據會通過安全的方式計算得出默克爾樹的根哈希,用于驗證區塊中的所有交易是否被篡改。
我在 1998 年提出的「安全財產證明」架構就使用了默克爾樹和數據復制機制來容忍客觀上存在的軟體錯誤或惡意行為,但還沒有區塊的概念。這個架構證明了我的理論,即我們可以保護全球共享數據和交易的完整性,并在此基礎上設計一個密碼貨幣(Bitgold)。但 Bitgold 也沒有像比特幣那樣更加高效且具有計算擴展性的區塊和記賬系統,而且它和今天的私有鏈一樣,以可安全區分和計數的節點為設計前提,
因為一些公有鏈(如比特幣、以太坊)的安全性目標受到了 51% 算力攻擊的限制,我們都很關心,怎么分辨大礦工的身份,來推斷「有沒有可能聯合其他人發動 51% 算力攻擊」。
區塊鏈的安全性有其客觀上限,區塊鏈治理會嚴重受到 51% 攻擊可能性的影響。當然了,攻擊者當然不會稱之為「攻擊」,可能會說成是「開明治理」或者「民主行動」之類的,一些用于修復漏洞或是改善協議的軟體更新需要軟分叉。另外一些軟體更新則需要硬分叉,這會給比特幣帶來比軟分叉更大的安全和連續性風險,
比起其它網路協議,區塊鏈雖然已經極大降低了信任要求,但實際上離免信任性仍然遙遠。礦工算是部分可信方,那些不是工程專家或計算機科學家但是投入大量時間學習區塊鏈設計原理和代碼的人必須充分信任開發者社區,就像那些想要理解一門專業學科的研究成果的非專業人士對該領域的科學家的態度一樣。在硬分叉期間,交易所的影響力也很大,因為它們可以決定自己的市場和交易代號支持哪個分叉,
因此,公有鏈可以相對(但并不能絕對)地避開身份難題,設法在更高的現實或社會層面確認最有權力的礦工的身份,這可能比試著將身份這樣(基于大腦)的天然模糊的概念映射到協議層更合適,公鑰基礎設施在這方面的艱難嘗試正是前車之鑒,
所以我認為有一些「私有鏈」有資格成為真正的區塊鏈 ; 其他的則應該歸類到更寬泛的「分布式賬本」或「共享資料庫」等類別下。它們的社會擴展性與免許可型公有鏈(比特幣和以太坊)完全不同,
以下方案都有安全識別(可區分和可計算)服務器身份的要求,而非像公有鏈一樣允許匿名身份。換句話說,他們需要其它一些在社會擴展性上差得多的方案來解決女巫攻擊問題:
- 私有鏈;
- 側鏈的「聯合」模式(唉,現在沒有人知道如何在降低信任要求的情況下開發側鏈,盡管之前有過那么多憧憬和承諾)。側鏈可以是私有鏈,二者非常匹配,因為它們在架構上和(對公鑰基礎設施的)外部依賴性上都非常相似;
- 基于多重簽名的方案,即使是通過基于區塊鏈的智能合約完成的;
- 基于閾值的將鏈下數據搬到鏈上的「資訊輸入機制」。
要識別服務器的身份,主流但社會可擴展性通常較低的方式是基于可信認證機構(CA)的 PKI 體系。為了避免受信任的第三方變成安全漏洞,可靠的 CA 自身就必須是高成本的勞動密集型官僚機構,這些機構通常會自行或是由其它機構來進行廣泛的背景調查(例如商業調查公司 Dun&Bradstreet;)。(我曾經帶領團隊設計、打造過這樣的 CA)。CA 也充當守門員的角色,保護這些需要許可的系統。CA 可以成為引起全局控制和故障的單點,「公有鏈是自動化的、安全的、全球化的,但身份認證是勞動密集的、不安全的、局域的。」
基于 PKI 的私有鏈對于銀行和大型企業來說是一個不錯的選擇,因為它們已經有成熟的內部 PKI 系統,用來認證批準重要交易所涉及的員工、合作伙伴和私有服務器。銀行 PKI 相對可靠。我們也為 Web 服務器提供了半可靠的 CA,但這一般來說不包括 Web 客戶端,即使人們在 Web 發明后一直在嘗試解決客戶端證書問題:例如,廣告商們會希望有更安全的方式,可以替代電話號碼和 Cookie 來追蹤客戶身份。但這還沒有實現,
PKI 可以為少數重要的事情和人員很好地工作,但對于不那么重要的實體來說,它并不那么好或容易使用,它的社會可擴展性受其所依賴的傳統身份認證官僚體系的限制,
上圖是比特幣生態系統中出現的一些重大盜竊事件,鑒于比特幣區塊鏈可能是現有的最安全的金融網路(事實上比特幣在安全性上遠遠超過傳統支付網路,才能保持其低廉的治理成本和點對點跨境轉賬的能力),基于舊的中心化網路服務器所打造的周邊服務并不安全,(來源:作者)
我們需要通過更具社會可擴展性的方法來統計節點數量,換句話說,需要更健壯的方法來盡可能抵抗腐敗,評估節點對區塊鏈完整性的貢獻大小,這正是工作量證明和廣播復制的關鍵:大幅度犧牲計算擴展性來提高社會擴展性,
這就是中本聰的天才權衡。它的天才之處在于認識到人比計算機昂貴得多,且這種差距每年都在擴大。它的天才之處在于可以讓人們跨越人類的信任邊界(例如國界)安全地進行無縫協作,不再像 VISA 或 Paypal 那樣依賴于「有事找警察」架構,后者昂貴、容易出錯,甚至會有腐敗問題,僅僅在正常工作時,這些官僚機構才能提供一定程度的可靠性。
結論
隨著互聯網的興起,各種網路組織如雨后春筍般崛起,包括社會網路、長尾零售商(例如亞馬遜)以及為小型買家賣家提供交易平臺的各種服務商(eBay、Uber、AirBnB 等)。這些只是對我們新能力的最初級嘗試。由于近幾十年來資訊技術的巨大進步,限制網路組織參與者人數和類型的已經不再是計算機和網路,而是還沒有充分跟上技術進步的人類思維和制度設計,
初期的互聯網嘗試都是非常中心化的,區塊鏈技術通過計算機科學而不是「有事找警察」來實現數據完整性,使得信任最小化貨幣(密碼貨幣)成為可能,它也必然為其它金融領域以及主要基于在線數據進行交易的場景帶來進步。
這并不意味著,讓我們的制度適應我們的新能力是一件容易的事,或在某些特定情況下困難會少一些。烏托邦的想法在區塊鏈社區非常普遍,但它們不是可行的選擇,對我們高度發展的傳統制度進行逆向工程,甚至以新形式重塑一些舊制度,通常比從零開始、或者高談宏大計劃和博弈理論要好得多。
中本聰向我們展示了這樣一種關鍵策略——犧牲計算效率和可擴展性(消耗相對便宜的計算資源)以減少為了實現陌生人協作所需要的社會制度(例如市場、大公司和政府)中的人力浪費,更好地利用人這種寶貴資源,
參考文獻:
[1]:http://whatsupnah.com/2009/02/twitter-vs-the-dunbar-number-and-the-rise-of-weak-ties/
[2]:https://en.wikipedia.org/wiki/Alfred_North_Whitehead
[3]:http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/tradition.html
[4]:http://www.lifewithalacrity.com/previous/2005/10/dunbar_group_co.html
[5]:https://nakamotoinstitute.org/the-playdough-protocols/
[6]:https://www.econlib.org/library/Essays/hykKnw.html?chapter_num=1#book-reader
[7]:https://unenumerated.blogspot.com/2014/12/the-dawn-of-trustworthy-computing.html
[8]:https://unenumerated.blogspot.com/2014/12/the-dawn-of-trustworthy-computing.html
[9]:https://lightning.network/lightning-network-paper.pdf
[10]:https://en.wikipedia.org/wiki/Chargeback