回到基本:中本聰是如何設計比特幣抵抗審查的

比特幣中文選讀
16 min readSep 15, 2021

本文翻譯自Bitcoin PasadaMedium原文:

Back to basics: how Satoshi designed Bitcoin for censor resistance

點這裡加入「比特幣中文選讀」LINE社群聊天

給文長懶得讀的人:加密網絡需要一個速度限制來確保抗審查性(意指無法被任何人/第三方所控制),比特幣網絡這樣的屬性(速度限制)讓比特幣與所有其他電腦網絡都不同,中本聰所選擇的網絡設計方式是非常恰當並合適地達成了這個特性,在基礎層的設計已無可能再做任何基本的升級改進,比特幣正在透過一種叫做閃電網絡的經濟優化解決方案進行擴展。

工作量證明讓任何有電腦計算能力的人可以為帳本記錄來服務,這正支持了抗審查性。權益證明在限制幣供應量的條件下想創造一個抗審查的網絡環境是辦不到的,因為只有那些擁有基礎幣量的人才能寫入帳本,無可避免會造成中心化的問題。

引言 Introduction

許多加密領域新的參與者會發現有許多看似吸引人的項目,它們當中的每一個都承諾了許多特點宣稱自己從基礎上較比特幣更為優越。當然了,這樣的宣稱對任何這種項目的生命都是必要的,否則它們從一開始便沒有存在的意義。此文章精確地解釋了為什麼實際上要對比特幣的基本網絡功能的設計做出有意義的改進是沒有可能的。

比特幣經常被批評或質疑的就是它的速度,他們總說 "每秒只能處理7筆交易",大多數其他加密貨幣宣稱的"基礎改進"都是基於對"可擴展性"的主張,或是在其網絡上每秒能夠容許更大更多的交易數量(TPS = transactions per second:每秒交易數) 的能力,所以讓我們從這裡開始深入探究真相,說明為什麼比特幣是,也永遠會是加密網絡中毋庸置疑的王者。

為了要理解中本聰在原始設計時所選擇的功能,我們必須自問這些選擇的重點到底是什麼,中本聰創造比特幣的目的是什麼?什麼讓比特幣是比特幣,或者,是什麼讓它如此特別,或與其他所有電腦網絡都不同?最簡單的答案就是比特幣是抗審查的,這意味著包括國家政府在內的任何行為者想阻止任何人存取網絡或完全停止網絡的運作是極度困難的(作者認為在現階段已是不可能的)。

中本聰希望發展這樣的網絡的原因,以及為什麼有這麼多人如此重視抗審查性質,超出了本文所探討的範圍,但可以這樣說,抗審查性是讓比特幣在許多面向上真正特殊的唯一理由,將這一屬性移除的話,剩下的都有待商議。我們可以說抗審查性真的是比特幣唯一有趣的功能,也是唯一讓我們在乎的事。現在讓我們看一下中本聰是如何破解這個抗審查的問題。

實現抗審查性 Achieving Censor Resistance

中本聰理解要實現抗審查性的關鍵在於必須讓任何想存取網絡的人都能夠直接這樣做 — 為他們自己驗證從網絡上傳遞過來的資訊,這當中包括,很重要的是,幣總供應量的驗證,以及沒有雙重支付的情況發生。只有創造一個系統讓任何有意願的人都能夠自己驗證資訊,唯有這樣才能確保貨幣與支付政策保持不變。

所以真正的問題就會變成該如何確保讓任何有意願的人都能夠存取這些資訊,前提是要能夠驗證資訊的準確性。從這裡,我們可以開始看到中本聰將"速度限制"引入比特幣中的重要性,透過限制網絡上運行節點所傳輸的待驗證資訊量,每個參與者都可以確保他們所看到的網絡狀態是完整與準確的。

所以這是我們真正的第一關鍵來了解:任何分散式(去中心化)帳本技術,或是加密網絡,如果想要達到中本聰設想的這種抗審查形式,必須要有速度限制,原因是很清楚的:如果在網絡上傳送的待驗證的資訊過多,每一個單獨節點在接收與處理這些資訊的負擔便會過重,那它們的網絡速度必須更快,或是它們的計算能力必須更高,或是它們必須有更大的儲存空間 — 或是三者都必須具備。所以藉由對網絡需求必要條件的限制(以及處理與儲存能力),中本聰追求將所有能夠直接參與網絡的人數最大化 — 進而加強抗審查性。

讓我們再更加深入來看如果我們決定來"擴展"任何加密網絡的第一層時會發生什麼事。的確,設計任何分散式帳本技術(DLT = distributed ledger technology)的第一步就是要選擇一個頻寬限制。以比特幣來說,這個限制大約是每10分鐘2.5mb,如果有人想提高這個速度限制,他可以選擇增加區塊大小,或是區塊的頻率,或兩者同時。所以舉例來說,你可以選擇用每10分鐘25mb的區塊,或是改成每分鐘2.5mb的區塊,以我們的目的來說,這些是等同的速度限制。或者你也可以選擇每秒就有1GB的區塊,聽起來很棒對吧?想到如此大又如此多的區塊能裝下多少待驗證資訊啊!比起比特幣來說,這樣的網絡會有非常高的(資訊)最大吞吐量,但這樣的網絡會是抗審查的嗎?答案是當你對網絡需求條件進行擴展時,你必定也同時提高了參與的需求條件(成本)門檻。如果你要求的是1GB的網路連線能力,很顯然地大多數人們將會無法直接參與網絡上驗證的活動。

當你提高了運行節點所需的成本時,實際上是對網絡的抗審查屬性開始妥協,你所產生的影響是降低了網絡的分散性。換個方式理解的話也可以這樣想,Google的網絡模型,Google能夠處理全世界各地的龐大資訊量,但它是非常中心化的,沒有任何個人能夠在自己家裡運行一個"Google節點"來驗證Google網絡上所完成的工作,因為運行這樣的節點成本極高。

其他速度限制可能性的經濟面 The Economics of Possible Alternative Speed Limits

現在我們已經了解速度限制在實現抗審查性中所扮演的角色,讓我們再仔細點看看中本聰選擇的特定設計,然後探討中本聰是不是選擇了一個可接受的速度限制,有沒有可能選擇其他不同的速度限制,既能夠在實際意義上對加密網絡第一層進行擴展,又不需要對其抗審查性做出妥協?為了回答這個問題,我們需要探討區塊空間市場的經濟面,或當加密網絡變得擁擠時而發展起來的稀缺區塊空間市場。

我們從問一個問題開始,"一位設計者可能會選擇什麼樣的速度限制,可供應一個較目前比特幣所提供更有效益的具意義的吞吐量?" 這裡作者認為不會有其他速度限制能夠提供具意義的效益,原因是:比特幣的目標是成為全球經濟的結算底層。全世界80億人口加上所有電腦,與所有其他可能的機器經濟參與者,根本不會有可以選擇的速度限制能夠容納絕大部分世界經濟交易在第1層加密網絡上進行,同時保持抗審查性。

換句話說:你不可能在自己家裡,有辦法能夠處理全世界進行的經濟交易,我希望這個觀點夠清楚。是的,將全球加密網絡基礎層的TPS(每秒交易數)提高到100、1,000,或甚至10,000 TPS是有可能提供些微的效益,但這樣的速度不會具意義性,因為即便這樣,仍無法使全世界經濟參與者能夠同時存取基礎層。1萬TPS,相較於任何時間點在全世界範圍內進行的交易總數量來說,根本微不足道,從這樣全球運作規模網絡的使用者角度來看,它在功能上與比特幣總為人詬病的"7 TPS"是相同的。

我們可以延伸這個分析,比較一下比特幣與我們假設中超快速網絡的總使用費用。要思考這個問題,我們必須先理解這兩個網絡都只提供相對於全球採用情況下稀缺區塊空間總需求中的極度稀缺區塊空間。從經濟面上來說,這兩種網絡的唯一差異是,比特幣每10分鐘2.5mb的速度限制造成每筆交易手續費會比我們假設的10,000 TPS網絡來得更高 — 但兩種網絡下區塊空間市場都會存在,也就是說,當在全球規模下運作時,兩種網絡都會是相當擁擠的。

我個人的猜測是這兩個市場的規模相對來說會是接近的,因為費用是區塊空間稀缺性相對於可用區塊空間總需求的一種函數,我們可以用另一種觀點來看待這個問題:理論上,如果你可以把整個人類社會經濟互動的全部總和放進第1層中,那麼是的,這樣的網絡會是不需費用的,但是如同我們已經看到的,這樣的網絡不會是抗審查的。

我在這裡提出的論述是,你有可能選擇的任何潛在目標吞吐量,而仍然可以合理地保持著抗審查性,必然會產生與比特幣目前形式相近大小的區塊空間市場,所以這是一樣的意思!這也就是為什麼中本聰早期的決定會如此難以改變,不僅是因為它們有效,它們相對於,無論是中本聰本人或其他人在當時或今天,能夠選擇的任何其他網絡設計可能性來說都"足夠好"。從來沒有人能夠提出一個比特幣分岔,在消除區塊空間市場(去除交易費用)的同時又能保護抗審查性,這個事實就是本理論推測的實徵(經驗性)證據。確實,2017年的分岔爭議表明了比特幣使用者重視抗審查性勝過一切,並理解費用對於比特幣的安全性方面是種必要(也是需要!)。

現在我要來討論資料分片(sharding),進一步說明比特幣區塊空間市場的動態,以及為什麼"7 TPS"真的是足夠了。

資料分片的經濟極限 The Economic Limits of Sharding

最常聽到的是,人們在談論擴展第一層時會說到(資料)分片,分片在這裡的意思是將加密網絡"拆開",所以每個任意節點只需要處理網絡上傳送的全部資料總量中的一部份的子集合。這個想法的重點,是每個節點需要處理的資料中總是有某些特定集合會重疊到,以確保沒有人能夠作弊 — 因為如果有人作弊,他們的"鄰居"會發現,然後拒絕這個錯誤的交易內容。

這聽起來不賴,但如果仔細探究這個分片概念,你會注意到它並沒有提供真正的"無限"擴展,這是因為經濟面上的本質,當你想進一步存取更多的分片空間時,你會需要支付"跨分片漫遊費",因為中間的節點營運者需要考量到他們自己的速度限制需求,在擁擠的網絡中要獲得跨越分片空間的交易優先權會產生相對應的發送成本,每個行為者可使用的分片空間大小也因此受到這個動作的成本限制,你希望跨越得更廣,你的交易佔這些存取費用的比例就越吃重。理論上,一個人可以創造一個"無邊無際"的分片空間,但他還是必須面對這整個空間無法被所有使用者都觸及到的這個事實,就是因為我這邊所述的經濟面限制。所以最終,第1層的分片網絡會導致網絡硬分岔成分開獨立的經濟區塊,便失去了這全球共識層的整體樣貌。

經濟地優化擴展 Economically Optimized Scaling

我現在要將主題轉向閃電網絡 Lightning Network (LN)了,這一般是作為比特幣的"第2層"擴展解決方案來討論,事實上,LN可以被視為分片的一種形式!本質上,與其去建立規定界限、限制節點與要驗證什麼資訊的"硬性"分片,使用者可以自行選擇他們希望經常與哪些其他經濟參與者互動,然後這兩位使用者在閃電網絡上監控他們自己的特定"頻道",在閃電網絡裡建立的"分片空間"會根據對資源的最有效使用而有機地增長。不是去強迫節點與他們可能鮮少進行交易的鄰居互動(就像硬性地第1層分片方案所導致的),使用者可以根據他們的經濟需求,自由地與他們希望的任何對象開啟通道,這樣的分片形式所具有的附加優點是工作可以在全球共識層"之外"完成,網絡參與者因此永遠不會失去他們對整體網絡的全球觀。不同於在第1層的分片解決方案是犧牲整體網絡的全球觀而帶來風險,LNP/BP (Lightning Network Protocol/Bitcoin Protocol;閃電網絡協議/比特幣協議) 的使用者們永遠可以驗證比特幣第1層的共識規範有如預期般被遵守, 經由第1層的互動永遠確保著對全球的經濟影響。

所以就像第1層分片方案中會產生跨越費用,同樣地LN也有漫遊費用。我們現在有了第1層的區塊空間市場,而我們也有一個LN的漫遊市場,探索這兩個市場間的相互影響是有意義的。在LNP/BP中,如果有人要移動大型的資金區塊,他可以選擇在鏈上進行操作,但隨著區塊變得愈加擁擠,費用逐漸升高,人們就可以選擇將更多的經濟活動轉移到LN上,從而降低了基礎層的費用壓力。於是隨著對第 1 層稀缺區塊空間的需求減少,存取它所需要的費用也一樣減少了,最後我們會達到一個自然平衡,兩個市場之間的費用彼此消退流動,隨著使用者對自己資源的最有效利用來決定。

強制執行速度限制 Enforcing Speed Limits

現在讓我們繼續討論最後一個“回到基本”的議題,也與目前討論有關,我們已經表明第1層的擴展既不合適也不可行,而且比特幣的設計選擇也已經足夠。那麼中本聰選擇的女巫攻擊保護機制(Sybil protection mechanism)、工作量證明呢?首先:什麼是女巫攻擊保護機制?女巫攻擊保護機制是用來實際確保速度限制有被遵守的設計!

必須要有某種方式來實際限制在網絡上所傳遞的資訊量,否則速度限制是沒有意義的。在這裡,中本聰遭遇到一個當時在他的領域中許多人都很熟悉的問題,先前(以及之後)嘗試對女巫攻擊提供的保護總是圍繞著可信任身份(例如 David Chaum 的 ecash)來設計,我們可以簡單地選擇一個人來收集所有來自那些想發送交易的使用者的交易資訊,那個人接著決定哪一組更為受限的資訊應該被發送回所有的使用者端進行驗證,這樣的過程當然完全不是去中心化的。你可能會想,“好吧,我們只需要擴展簽名者的集合,這樣就不會出現單點的故障。”這可能聽起來像是有改進,但同樣地,這個解決方案最終還是一個受信任方,也因此,它並不是抗審查的。

這樣的解決方案之所以值得信賴是因為它對身份的要求,身份必須被包含在網絡內部,例如可以採用將公鑰列表寫死(hard-coded)的形式,這些簽署區塊的身份可以說是存在於網絡內部 — 而且有鑑於它們的物理數量有限,不難看出審查機制會是真正的風險,審查者能夠接管簽名者的網絡身份,而使用者也不會察覺。

理解女巫攻擊保護機制的關鍵在於為了限制誰能夠撰寫帳本,他們要求“帳本撰寫者選擇過程”需要綁定某種稀缺資源。在權益證明中,這個稀缺資源就是身份,而在工作量證明裡,它是能源。如果沒有與稀缺資源的連結,是根本無法實現女巫攻擊保護的。

所以中本聰對於創造一個無須信任方的女巫攻擊保護機制解決方案就是將整個選擇過程完全移出網絡之外,所謂選擇過程,我指的是選擇哪些資訊將會轉發送到所有節點進行驗證的行為。換一種方式來理解也可以說中本聰將身份這個概念從比特幣的女巫攻擊保護機制中完全消除了。

工作量證明真正天才的地方在於將選擇的過程綁定到本身就是稀缺資源卻又完全存在於加密網絡之外的能源上,透過工作量證明的需求,挖礦的過程是“黑箱作業”,工作量證明確保了任何人只要具有計算能力,都有相同的機會能作為我們所謂的“帳本撰寫者”。或者能夠查看在整個網絡上傳遞的大量資訊的人(用比特幣的說法就是儲存在mempool礦池中),來決定要如何解析(通常會是選擇費用最高的交易),然後在網絡上轉傳較小組的資訊(區塊)來進行驗證。

權益質押與權力的中心化 Staking and the Centralization of Power

那在目前廣為人知的應用當中,權益證明(Proof of Stake)有什麼樣的問題存在呢?問題當然有很多,Andrew Poelstra將基本的“nothing at stake”(沒有任何質押)問題描述得非常好,但就目前討論的目的來說,我想聚焦在權益質押的經濟面及其隨著時間對權力中心化的影響。

本質上,現在的PoS解決方案所做的是將所有質押系統中“受信任的身份”取出後分發回給幣持有人他們自己,理論上這聽來不錯,因為可能有成千上萬的幣持有人持有“權益”並會來“撰寫帳本”,但在實際運作時的問題是:不像PoW(工作量證明)是開放給所有有電腦計算力(世界各地都有豐富的廢棄能源)的人們,PoS是一個封閉系統 — 只開放給有幣的人,而既然你擁有的幣越多,你獲得的獎勵就越高,整個系統便變得中心化了。

技術上來說,質押系統不需要是中心化的,但只有在特定的情況下他們會允許永久的通貨膨脹,隨著通貨膨脹,新的幣可以分配給我們希望是不受現有權益持有人控制的身份,(但這種希望本身顯然是有問題的。)但如果我們採用一個發幣限制,中心化的事實便變得非常清楚了:現有的權益持有人獲得與他們持有權益成正比的獎勵,意味著一個人的權益越大,獎勵佔整體的比例就越大,這情況導致最終的少數壟斷或獨佔控制所有的權益和獎勵,所以如果沒有通貨膨脹,中心化的壓力就會一直存在,而且這些寡佔或獨佔者發行鑄造新幣也將會造成坎蒂隆效應(Cantillon effect — 貨幣創造的再分配效應被稱爲坎蒂隆效應。首先拿到新貨幣的人會感到收入增加,而最後拿到新貨幣的人會感到購買力下降,因爲消費價格通膨已經出現)

有些替代幣計畫設計提出了各種花俏的機制來解決這個問題,這些通常都圍繞著如何投票選擇各個帳本撰寫者來避免那些“最高層”的人獲得所有的獎勵,但終究,這樣的機制只會模糊根本的問題,頂多就是拖延這個無法避免的結果。拆分和池化是權益持有人可以用來規避試圖控制該權益持有人在整體比例上可以獲得多少獎勵的兩種策略,拆分是指單一使用者將其權益拆分為多個網絡身份,而池化是指多個使用者聯合起來聚集他們的資源來獲得更多的權益獎勵。這些策略有效地使所有權益獎勵方案呈自然線性,也顯示了權益會隨著時間中心化的原因。再次地,這就是為什麼工作量證明對於抗審查是必要的 — 它完全消除了網絡中的身份 — 從而將女巫攻擊保護機制變成一個遊戲,柏拉圖效率(Pareto outcome)由獎勵分享來決定而不是對立。

結論 Conclusion

所以就是這些了。在這篇文章裡,我從網絡的角度闡述了比特幣抗審查的理論基礎,中本聰讓比特幣變慢的解決方案、工作量證明中無須身份的女巫攻擊保護機制、以及健全的社會性獎勵組合,共同運作支持比特幣的抗審查性。加密網絡的設計和功能當然比這裡討論的會有更多面向,但我在這篇文章中的目的是從網絡的角度深入探討比特幣運作中最重要的面向,我希望這些討論能讓讀者更清楚地了解為什麼沒有任何競爭對手有希望取代比特幣成為加密網絡的主導者。是的,比特幣的基礎層很慢,但它很慢是有原因的!

請注意,我只聚焦在比特幣的網絡面,沒有觸及為什麼比特幣是好的貨幣的貨幣理論,也沒有觸及其貨幣網絡效應對競爭貨幣和其他幣的影響,關於這些其他人已經說過很多應該足夠了 — 但足以說明比特幣採用的“社會面向”也非常有趣,而且是比特幣成功故事的基本要素。

我也沒有討論有關主導和少數PoW鏈的經濟面,一個可能已經在一些讀者心中的問題,簡單來說,我認為由於比特幣具有貨幣網絡效應,隨著時間它將在整個PoW經濟中獲得更大的份額,其他基於PoW的加密網絡因為流行熱潮可能會在短期內獲得一些哈希值,但如果沒有貨幣網絡效應(金錢是贏家全拿的遊戲),它們很容易陷入哈希力不足以維持網絡安全的長期安全性風險。

我也相信channel factories(通道工廠)是擴展閃電網絡的重要技術元素,這個發展一定會及時到來。

總而言之,沒有任何加密網絡能夠以任何有意義或基本的方式對比特幣的設計進行可靠的改進,沒有任何取捨可以提供足夠的審查抵抗能力,而同時以任何有意義的方式擴展第1層,從根本上來說,任何依賴身份的女巫攻擊解決方案都無法在長期不放棄去中心化的前提下保證幣供應量限制。結論是,我們可以看到中本聰在他的初始設計中做出了合適且可接受的選擇,沒有人會爭辯說它們是完美的或理想的,但它們是足夠好能讓比特幣啟動並將它帶領到現今地位的選擇。

朝向我們美好的比特幣未來前進!

感謝Max Hillebrand的評論,助益良多,幫忙完善了本文中提出的一些論點。

本文由 比特幣中文選讀 翻譯,如有任何問題或想法歡迎與我或本文原作者 @bitcoinpasada 聯繫討論。

點這裡加入「比特幣中文選讀」LINE社群聊天

--

--