作者:BuleMatt
來源:https://bluematt.bitcoin.ninja/2017/02/28/bitcoin-trustlessness/
原文出版於 2017 年 2 月。
幾個月以前,我與 Chaincode Labs 合作開展了一個黑客駐場項目,我們在其中教授比特幣的哲學、安全性、實現和技術。我準備寫下我們在其中討論的一些話題,本文會是系列文章的第一篇,我希望能讓比特幣協議的開發更加透明,並幫助形成對這個系統的提議變更的討論。
在我們可以開始泛泛地討論比特幣的安全模式和協議開發之前,我們先要對一件事達成一致意見:什麼是比特幣?或者,最起碼,在我們要努力改變這個系統時,我們必須要保護的比特幣的關鍵特性有哪些?
當然,不同的人可能會給出許多不同的回答,但為了理解對其運行最為關鍵的東西,我們需要理解人們為什麼要實用比特幣。最終來說,必須保留的屬性,就是比特幣的用戶在乎的那些屬性,而不是其創造者拍腦袋作出的設計抉擇。
在比特幣的諸多特性中,免信任性,也就是無需信任任何東西、只需信任你所運行的開源軟件,就能實用比特幣的能力,是(到目前為止)最高的。更具體地說,對比特幣的興趣似乎完全是由這樣一種願望產生出來的:避免信任一些第三方或第三方的組合。這對大家來說應該都不是什麼新聞了,但理解究竟為什麼免信任性如此重要(以及免信任性的形式),對於開發和升級比特幣科技至關重要。
在過去一兩年中發生的爭論,一再將比特幣的未來說成要在兩個極端中選一個 —— 要麼稱為一種免信任的支付系統,要麼成為一種免信任的電子黃金。雖然這都不是什麼準確的刻畫,但它提供了一個有用的擠出,來理解比特幣的主要應用場景 —— 絕大部分都可以歸類到這兩大類別的其中之一。但是,這兩種累並的信任模式有很大的差別;而且看起來,那些聲稱其中一類應用場景勝過另一種的人,也常常是主張一種信任模式勝過另一種的人。
比特幣的數字黃金用法,很大程度上是通過用戶完全驗證完整的區塊鏈歷史、僅僅信任自己所用的開源來強制執行 2100 萬 BTC 數量限制和轉賬規則而得到實現的。雖然可以爭論依然需要一些對礦工的信任,相信他們不會重組整條區塊鏈,然而,系統本身的經濟激勵讓這樣的行動具有清晰的成本。當然,為了確保你完全不必信任礦工會確保運營安全,你需要等待許多 “區塊確認”(比如,可能要等待一週到兩週,這是人們可以對這類問題作出反應的時間尺度;當然,不管怎麼說,這是長期投資,對不對?早一週晚一週買入也影響不大吧?)。
無論你是因為不信任自己國家的中央銀行會保護你的通貨免於惡性通脹(或希望對沖這樣的風險),還是因為你想要對沖全球金融危機的風險(但不想要管理實體黃金的存儲),還是僅僅想要一種能夠處理較大價值的轉賬、時延恰當的結算層,避免對 任何人 的信任都是極為關鍵的,對電子黃金的需求就是什麼來的,而對大工作量證明要求的(區塊的)完全驗證就能實現這種免信任性。
反過來,當前,比特幣的能夠歸入 “支付系統” 類別的應用場景,幾乎都要稍微削弱的信任模式來獲得實用性,僅僅只是程度不同。顯然,一種需要一週甚至更長時間來結算的支付系統,無法與速度快得多的其它系統競爭。因此,比特幣用戶會依賴於 6 個(甚至更少!)區塊確認來保護自己的支付,可能會讓他們受到短暫的攻擊 1。但是,這些應用場景最後能夠成為可能,也僅僅是因為用戶在使用比特幣時能夠避免一些對第三方的信任,儘管需要一些對礦工的信任。
如果你想要的是一個通過隱私強化措施來提供抗審查支付的系統、它能保護用戶免於政府的資產沒收和私人機構的凍結,那麼你使用比特幣就是因為你不想要非得信任一個第三方。如果你想要一種資產存儲和轉移系統、它帶有在金融世界的絕大部分地方都找不到的強壯可編程性和密碼學所有權特性,比特幣(和其它的密碼貨幣)可能是你避免來自受信任的中心第三方的單點故障的唯一選擇。即使你只想要一種便宜的國際轉賬系統、並不是那麼在乎免信任性,你選擇比特幣的最終理由是你不是在跟一箇中心化的對手方做交易,這樣可以獲得一些好處,而且不會因為這些對手方之間缺乏競爭而付出額外的成本(或者被審查)。
顯然,免信任性,以及在沒有對手方風險的前提下運作,對於比特幣的功能性至關重要;只是個別用戶(以及個別應用場景)願意容忍程度不一的信任因素,而且希望只需要信任不同的參與方。在考慮變更比特幣時,我們(比特幣用戶的社區)必須謹慎地考慮這些變更的後果。我們必須考慮的不僅僅是我們使用比特幣的能力,還要考慮這些擬議的變更會不會要求其他人比現在更加信任第三方。
僅為舉例,想象看 “權益證明(Proof of Stake)系統”。雖然常常拿來跟比特幣作比較,但這樣的系統從來沒有克服過啟動問題 —— 新用戶(以及長時間離線的用戶,這個時間框架通常以周或月為單位)必須信任一些第三方提供最新的檢查點,才能找到當前的網絡共識。雖然這樣的系統在比特幣的一部分應用場景上沒有問題,但希望保管好比特幣之後六個月再回來花費它的用戶,現在在一些多簽名的中心化區塊鏈上就能獲得相同的安全性!
儘管如此,除非有害,信任也不應受到反激勵。一些主要關心比特幣的稀缺屬性的投資人,樂於信任比特幣交易所和 “比特幣銀行” 這樣的中心化第三方。許多希望獲得 小額/中等額度 快速支付的比特幣用戶也在一定程度上,樂於信任礦工。這些信任關係,只要用戶不是被強迫加入其中的(無論是因為明確的強求,還是足夠強的金融激勵),可以通過更快、更便宜、更便利的交易,提供顯著更好的用戶體驗。
願意信任礦工的用戶(只要求 1 個到 3 個區塊確認的用戶),可能也會願意信任閃電網絡和類似的系統 —— 它們要求用戶能夠在 1 天到 3 天內讓一筆交易可靠地獲得區塊確認。信任當前的比特幣企業(至少是其中一兩家)的用戶,可能也會對某條聯盟側鏈的功能和低手續費感興趣。想要實名收款人這樣的特性的用戶甚至會在中心化的比特幣銀行裡存放比特幣。通過建立在比特幣區塊鏈之上,而不是直接在比特幣區塊鏈上實現,所有這些系統都可以為他們的用戶提供顯著的易用性提升。這不會在必要水平之上要求更多的信任,至少,只要它們的基石 —— 比特幣區塊鏈 —— 保持完全免信任。
令人沮喪的是,為免信任的比特幣和比特幣這樣的系統作出最佳的選擇之後,它們都無法擴容到僅僅是過得去的交易吞吐量。而且,為了保證保持用戶在乎的屬性、不要強迫用戶信任他人來強制執行這些屬性(例如,信任礦工或開發者來保持 2100 萬 BTC 限制),比特幣必須僅在其不斷擴大的用戶群體達成共識之後才能改變。結果是,比特幣協議的變更會陷入政治和社會辯論的泥濘中,妨礙這個系統的靈活性。
考慮所有這些事情之後,我們可以看出比特幣必須演化的理由 —— 只要它想要保持其免信任屬性、同時為其五花八門(甚至迥然有別)的應用場景提供一個可用的系統。不需要和不想要一個完全免信任的比特幣的用戶(比如,因為他們想要一個不需要幾周時間來確認支付的系統)可以、也應該選擇落入他們的信任模型的更優系統 —— 不論是閃電網絡、聯盟側鏈、合併挖礦側鏈、TumbleBit,還是一個受信任的 “比特幣銀行”。連礦工也不想信任的用戶也應該能夠自由選擇,將交易放到區塊鏈上之後,等待幾周時間來確保還未發生的哈希算力攻擊也無法逆轉這些交易(並支付手續費來確保足夠多的算力會給他們的交易提供安全性)。
為了讓用戶能夠像他們一直以來那樣繼續用比特幣來交易、信任比特幣,比特幣用戶的社區必須有定力:只有在甚至更廣大的群體中達成共識之後,提議的變更才能實施。反過來,為了防止比特幣不必要地停滯不前,社區也必須願意圍繞變更形成共識、作出變更,只要這些變更能夠幫助他們希望使用的系統而不傷害其他人、只要這些變更符合常識,不論它們採取怎樣的形式。至關重要的是,這意味著:只要有可能,所有不傷害比特幣在其任一應用場景中的效用、還能幫助其他人的變更,都應該實施。我一直對比特幣社區的社會韌性(social resilience)感到驚訝,我會保持樂觀:比特幣的社區會圍繞一個統一的願景走到一起,繼續推動比特幣協議前進。
腳註
1. 詳見(舉個例子),過去,針對密碼貨幣礦池的 “邊界網關協議(Border Gateway Protocol,BGP)” 攻擊,讓攻擊者可以暫時控制絕大部分哈希算力。類似的攻擊可以對託管服務供應商實施(這是在密碼貨幣領域反覆發生的事)。 ↩



