區塊鏈安全性的洋蔥模型


區塊鏈安全性的洋蔥模型


作者 | DeribitMarket Research
根據經驗來看公鏈是安全的,在其大部分歷史上,它們已成功的達到其設計目的,即以沒有任何差錯的情形下處理交易。這確實是我們觀察到的事實,但要想出一個理論來解釋為什麼會這樣就比較困難了。 個人一般會用他們最瞭解和最看重的事物來解釋他們的鐘意項目的安全性。人們認為一個公鏈是通過經濟激勵、全球分佈式的Hash算力、全球性的節點或者狂熱的社區(維護一套共識)來保證其安全性。這種看法可以理解,根據工具定律(The law of the instrument),我們過度依賴那些我們已經熟悉的工具。也就是說如果你唯一的工具是一把錘子,那麼你就傾向於把一切都當作釘子來對待。 我不認為以上任何一個因素可以能單獨解釋這個現象(即不犯任何差錯地處理交易)。儘管在某一特定領域有完美的防護措施,但對其實施攻擊也不是一件難事。例如,在一個所有用戶都運行一個完整的節點的網絡中,礦工仍然可以用一個備用的區塊鏈代替整個區塊鏈(在這個區塊鏈上他控制了所有的幣)。因此必須是不同組合的相互作用才能維護一個免許可數字貨幣系統在相對安全的程度。

區塊鏈安全性的洋蔥模型

我提出的模型希望將安全性的各個元素形成一個連貫的組合。其目標是能夠更全面地看待公鏈以發現其優勢和缺陷,並允許對不同區塊鏈進行比較。 公鏈的安全性類似於洋蔥,每一層都增加了額外的安全性:

區塊鏈安全性的洋蔥模型

要永久地破壞一個公鏈,就必須破壞用戶對其賬本狀態(所有權清單)的信任,以及破壞未來可靠地更新該狀態的能力。所有更上層的服務都是為了防止這種情況的發生。

區塊鏈安全性的洋蔥模型

攻擊要經過這些防禦層的“漏斗”才能觸及核心。現在我們來逐一討論這幾層。

加密保障(cryptographic guarantees)

最外層的防禦是由密碼學來保障的。密碼學給出了最可靠的保障形式,所以我們希望它能承擔起重任,從一開始就能防止大多數攻擊。除此之外,還需要保障以下幾點:

  • 不憑空創造數字貨幣。所有的區塊(以及因此所有的區塊獎勵)都必須有足夠的工作證量依附在上面。
  • 不得花費他人的數字貨幣。數字簽名必須確保數字貨幣的有效擁有者才能花費。
  • 不能追溯性地改變舊區塊的內容。哈希指針確保攻擊者必須改變建立在任何他想改變的舊區塊之後的所有區塊。

所有針對以上幾點的攻擊都會被“漏斗”的第一層所阻擋。

區塊鏈安全性的洋蔥模型

雖然密碼學非常強大,但它也有其他一些無法提供的保障。例如,它不能決定兩個同樣長的區塊鏈中的哪一個是“正確的”區塊鏈(這就需要對現實世界有一定的瞭解,比如“其他人會轉到哪個區塊鏈上”,“哪個區塊鏈的長期市場價值更高”)。它也不能強迫礦工們在特定區塊上挖礦,也不能讓他們一旦發現區塊就發佈區塊,甚至不能確保它們包含特定的交易。

共識保障(consensus guarantees)

一些通過第一層的攻擊會在共識保障中被阻止。在中本聰設置的共識中,節點會不斷觀察網絡,並自動切換到最長(最貴)的鏈上。礦工只有當他們的區塊最終成為那條最長的鏈的一部分時才會獲得報酬,所以他們需要與其他礦工匯合。因此,對礦工來說,他們會更傾向於在區塊鏈的頂端挖礦,因為他們的區塊在那裡最有可能被其他礦工認可。 如果一個惡意礦工想在之前的區塊上挖礦,他就會和其他繼續在區塊鏈頂端挖礦的礦工進入競爭狀態。只有當他找到幾個區塊的速度比其他人的總和快,他才能追得上整條鏈且把他挖出的區塊及之後的鏈拉到最長。但根據他所佔的Hash算力份額,就算是很短的分叉,他也很難成功。

區塊鏈安全性的洋蔥模型

為了使攻擊可靠地發揮作用,攻擊者需要首先獲得對共識層的控制權。這意味著要控制PoW中大於50%的哈希率,或者控制了基於BFT的股權證明中大於33%的股權,或者控制了基於最長鏈的PoS中大於50%的股權。 這其中的操作難度往往被低估。例如,大型組織通常被認為是公鏈的最大威脅。然而,如果他們想在一級市場上購買必要的硬件,他們很快就會發現,中國大陸、中國臺灣和韓國的芯片代工廠的年產量是有上限的。而且他們的產能還被澳大利亞的稀土開採、亞洲和非洲的晶圓生產等進一步限制,即每年的產能是有限的。即使是對積極性很高的買家來說也是如此。以這種方式獲得必要的硬件至少需要2-3年的時間,而且在這期間不可能不會引起相關的關注。

經濟保障(economic guarantees)

我認為由於有了經濟保障,即便單一實體控制了共識層,區塊鏈也不會立即崩潰。通過設置正確的激勵機制,區塊鏈可以將現實世界的成本與錯誤行為聯繫起來。主要原因來自於原生代幣,它引入了數字稀缺性(即價值)的概念,且可以獎勵好的行為(用區塊獎勵和費用)並懲罰壞的行為(通過削減安全存款或扣押未來的獎勵)。 這些激勵措施的大小會隨著行為者對共識層的控制程度的高低而變化。一個控制了大量 Hash算力的礦工(即使是大多數),其破壞系統的損失也會成比例地增加。因此,攻擊者會因為受到經濟上的懲罰而使他望而卻步。

區塊鏈安全性的洋蔥模型

不是所有的經濟激勵都是平等的。相對於網絡價值而言,區塊獎勵更大的作用是使網絡更安全,因為它迫使礦工們在挖礦中的防禦性更強。這就是為什麼區塊獎勵的下降會給BTC的安全帶來風險)。 當Hash運算需要專門的硬件(即ASIC)且這些硬件並不能在其他領域利用時,礦工們在遊戲中的防禦性也會更強。迄今為止,所有的挖礦攻擊都發生在較小的網絡上,這不是巧合,因為這些網絡接受了一種叫做抵制ASIC的錯誤觀點,在這種情況下攻擊者是很容易佔據上風的(例如通過租用Hash算力)。

社會保障(social guarantees)

之前我們說過,要永久摧毀一個公鏈就必須摧毀用戶對賬本狀態(所有權清單)的信任,以及未來可靠地更新該狀態的能力。這一點是非常必要的,因為區塊鏈並不是目的本身,也就是說沒有理由因為鏈的某些部分暫時失敗,就否定這條鏈。區塊鏈僅僅是一個在其參與者之間建立社會共識的自動化過程的手段,是一個維護和更新共享數據庫的工具。該數據庫的狀態對參與者來說是有價值的,當系統出現故障時,他們有強烈的動力去恢復系統。 例如,如果加密的Hash函數出現問題,社會層可以達成人為共識(在技術專家的指導下)來替換出現問題的部分。

區塊鏈安全性的洋蔥模型

同樣,如果一個共識攻擊繞過了經濟保障,社會保障仍然可以將其阻擋。如果一個擁有多數Hash算力的攻擊者在完全接受了自己的經濟損失的情況下,開始通過挖空區塊對網絡進行DOS攻擊,那麼礦工們可以投票決定改變PoW算法,從而移除該挖礦者的控制權。

區塊鏈安全性的洋蔥模型

我們可以看到,要想永遠摧毀一個區塊鏈,唯一的辦法就是要麼讓用戶對賬本狀態本身失去興趣,要麼就是對系統的破壞達到不可能修復的程度。

區塊鏈安全性的洋蔥模型

當攻擊能夠擊穿所有的層數,並最終消磨掉系統的社會核心,直到無法造成更深層次且無法治癒的傷害,那這種攻擊就相當危險了。 為了讓自我修復和人工干預都能發揮作用,每個項目的社區都需要圍繞著項目的主要屬性形成強大的社區共識。就BTC而言,這些核心屬性是交易的不可逆性、抗審查能力、不向後兼容的變化、21M代幣上限等。當社會干預變得有必要時,它們可以作為社會干預的行動藍圖,這些核心屬性圍繞著什麼需要修復,什麼不需要修復創造了謝林點(Schelling points)。 一個項目的這些核心屬性是永遠都會被反覆不斷協商改進的,並不是所有用戶會對所有屬性都達成一致。但是,圍繞著某個特定屬性的共識越強,就越能在困難時期堅持下去。 將社會層視為任何區塊鏈的底層,我們可以認識到對於社會層攻擊是一個很大的威脅。如果惡意開發者可以在沒有監督的情況下偷偷地進行有害的代碼修改(特別是在頻繁硬分叉的項目中),更高的層就會變得更加脆弱。

總結

我認為洋蔥模型很有用,它可以幫我們看到區塊鏈的各層如何組合創造一個安全的整體。在某些方面,它建立在我之前關於比特幣的社交合約的文章基礎上:任何公鏈都是從核心的一組共識開始的,這是一個系統希望實現的藍圖。 這套共識必須被轉化為人際行為規則,然後我們自動執行這些規則,創造出不同類型的保障:經濟保障、共識保障和加密保障。通過對參與者的行為的約束,系統變得具有社會可擴展性,從而在低信任環境中實現合作,共同創造財富。

區塊鏈安全性的洋蔥模型

DeribitMarket Research 作者

子銘 翻譯

Edward 編輯

內容僅供參考 不作為投資建議 風險自擔版權所有 未經允許 嚴禁轉載


區塊鏈安全性的洋蔥模型

區塊鏈安全性的洋蔥模型

☟☟☟


分享到:


相關文章: