關於公共區塊鏈和私有區塊鏈

作者:Vitalik Buterin 2015.8.7

在過去一年裏,“私有區塊鏈 “的概念在更廣泛的區塊鏈技術討論中變得非常流行。從本質上講,與其擁有一個完全公開的、不受控制的網絡和狀態機,由加密經濟學(如工作證明、股權證明)來保障,還可以創建一個訪問權限控制更嚴格的系統,修改甚至閱讀區塊鏈狀態的權利被限制在少數用戶身上,同時仍然保持區塊鏈提供的許多種部分真實性和去中心化的保證。這種系統一直是金融機構關注的主要焦點,並在一定程度上導致了一些人的反擊 ,他們認爲認爲這方面發展要麼損害了去中心化,要麼是害怕被淘汰的中間人試圖保持相關性的絕望行爲(或者乾脆犯了使用比特幣以外的區塊鏈的罪行)。然而,對於那些僅僅因爲想弄清楚如何最好地服務於人類,甚至追求服務於客戶這一更簡單的目標而參與這場鬥爭的人來說,這兩種風格之間有什麼實際區別呢?

首先,眼前的選擇究竟是什麼?概括地說,類似區塊鏈的數據庫應用一般有三類。

  • *公共區塊鏈*:公共區塊鏈是世界上任何人都可以閱讀的區塊鏈,世界上任何人都可以向其發送交易,並期望看到它們被納入,如果它們是有效的,世界上任何人都可以參與/共識過程/(決定哪些區塊被添加到鏈上以及當前狀態是什麼的過程)作爲中心化或準中心化信任的替代,公共區塊鏈由加密經濟學提供保障–(經濟激勵和使用工作證明或股權證明等機制的加密驗證相結合,遵循一個一般原則,即某人在共識過程中的影響程度與他們能夠帶來的經濟資源數量成正比)。這些區塊鏈通常被認爲是 “完全去中心化的”。
  • *集團區塊鏈(Consortium blockchains)*:集團區塊鏈是指共識過程由一組預先選定的節點控制的區塊鏈;例如,人們可以想象一個由15家金融機構組成的集團,每家都經營一個節點,其中10家必須在每個區塊上簽名,以使區塊成爲有效。讀取區塊鏈的權利可能是公開的,也可能只限於參與者,還有一些混合途徑,如區塊的根哈希值是公開的,同時還有一個API,允許公衆成員進行有限的查詢,並獲得區塊鏈狀態的某些部分的加密證明。這些區塊鏈可被視爲 “部分去中心化”。
  • *完全私有的區塊鏈*:完全私有的區塊鏈是一種區塊鏈,其寫入權限保持集中在一個組織。讀取權限可以是公開的,也可以限制在任意的範圍內。可能的應用包括單一公司內部的數據庫管理、審計等,因此在許多情況下可能根本不需要公開可讀性,儘管在其他情況下需要公開審計。

總的來說,到目前爲止,很少有人強調集團區塊鏈和完全私有的區塊鏈之間的區別,儘管它很重要:前者提供了公共區塊鏈提供的"低信任度要求 “和私有區塊鏈的 “高度依賴於信任單一實體 “模式之間的混合體,而後者可以更準確地描述爲一個傳統的中心化系統,附加一定程度的加密審計性。然而,在某種程度上,關注集團而不是私人是有道理的:除了複製的狀態機功能外,區塊鏈在完全私有的背景下的基本價值是加密認證,而且沒有理由相信這種認證規定的最佳格式應該由一系列包含Merkle樹根的哈希鏈接數據包組成;廣義零知識證明技術提供了關於應用程序可以爲其用戶提供加密保證的類型的更廣泛的令人興奮的可能性。一般來說,我甚至會認爲,在企業金融領域,與私有區塊鏈相比,廣義的零知識證明技術被大大/低估了。

因此,現在我將專注於更簡單的 “私人與公共 “區塊鏈討論。一般來說,認爲有 “一種真正的方式 “來做區塊鏈的想法是完全錯誤的,兩類都有各自的優點和缺點。

首先,私人區塊鏈。與公共區塊鏈相比,它們有很多優勢。

  1. 運行私有區塊鏈的集團或公司可以很容易地,如果需要的話,改變區塊鏈的規則,恢復交易,修改餘額,等等。在某些情況下,例如國家土地登記處,這種功能是必要的;不可能允許存在一個可怕的海盜羅伯茨可以對一塊明顯可見的土地擁有合法所有權的系統,因此,試圖創建一個政府無法控制的土地登記處,實際上會很快演變成一個不被政府本身承認的登記處。當然,人們可以爭辯說,通過給政府提供合同的後門鑰匙,人們可以在公共區塊鏈上做到這一點;對此的反駁是,這種方法基本上是Rube Goldbergian,而不是擁有私人區塊鏈的更有效途徑,儘管反過來也有一個部分反駁,我將在後面描述。
  2. 驗證者是已知的,所以任何由中國的一些礦工合謀而產生的51%的攻擊風險都不適用。
  3. 交易更便宜,因爲它們只需要由幾個可以信任的具有非常高的處理能力的節點進行驗證,而不需要由一萬檯筆記本電腦進行驗證。這是目前一個非常重要的問題,因爲公共區塊鏈的交易費用往往超過0.01美元/tx,但必須注意的是,從長遠來看,隨着可擴展區塊鏈技術有望將公共區塊鏈的成本降低到最佳效率的私有區塊鏈系統的一兩個數量級之內,這一點可能會發生變化。
  4. 可以相信節點的連接性非常好,而且故障可以通過人工干預迅速修復,允許使用共識算法,在更短的區塊時間後提供最終結果。公共區塊鏈技術的改進,如以太坊1.0的uncle概念和後來的股權證明,可以使公共區塊鏈更接近 “即時確認 “的理想(例如,在15秒後提供完全的最終結果,而不是像比特幣那樣在兩小時後提供99.9999%的最終結果),但即使如此,私有區塊鏈仍將永遠更快,延遲差異將永遠不會消失,因爲不幸的是,根據摩爾定律,光速不會每兩年增加兩倍。
  5. 如果閱讀權限受到限制,私有區塊鏈可以提供更高水平的,嗯,隱私。

鑑於這一切,看起來私有區塊鏈無疑是機構的更好選擇。然而,即使在機構背景下,公共區塊鏈仍然有很多價值,事實上,這種價值在很大程度上在於公共區塊鏈的倡導者一直在宣傳的哲學美德,其中最主要的就是自由、中立和開放。公共區塊鏈的優勢一般可分爲兩大類。

  1. 公共區塊鏈提供了一種保護應用程序的用戶不受開發者影響的方法,確立了有些事情即使是應用程序的開發者也無權去做。從一個天真的角度來看,可能很難理解爲什麼一個應用程序的開發者願意自願放棄權力,束縛自己。然而,更先進的經濟分析提供了兩個理由,用Thomas Schelling的話說,弱點可以是一種優勢。首先,如果你明確地讓自己更難或不可能做某些事情,那麼其他人將更有可能信任你並與你進行互動,因爲他們相信這些事情不太可能發生在他們身上。第二,如果你個人被另一個實體脅迫或施壓,那麼說 “即使我想做,我也沒有能力做這件事 “是一個重要的談判籌碼,因爲它阻止了那個實體試圖強迫你去做。應用程序開發者面臨的壓力或脅迫的一個主要類別是政府的壓力或脅迫,因此 “抵制審查制度 “與這種論點緊密相連。
  2. 公共區塊鏈是開放的,因此有可能被非常多的實體使用並獲得一些網絡效應。舉一個特別的例子,考慮域名託管的情況。目前,如果A想把域名賣給B,有一個標準的對手方風險問題需要解決:如果A先發,B可能不會發錢,如果B先發,那麼A可能不會發域名。爲了解決這個問題,我們有中心化託管中介機構,但這些機構收取百分之三到六的費用。然而,如果我們在區塊鏈上有一個域名系統,在同一區塊鏈上有一個貨幣,那麼我們可以通過智能合約將成本削減到接近零:A可以將域名發送給一個程序,該程序立即將其發送給第一個給該程序送錢的人,並且該程序是可信的,因爲它運行在公共區塊鏈上。請注意,爲了使其有效地運轉,來自完全不同行業的兩個完全異質的資產類別必須在同一個數據庫上–這種情況不容易發生在私人區塊鏈上。這一類中另一個類似的例子是土地登記和產權保險,儘管需要注意的是,另一條實現互操作性的途徑是擁有一條公有鏈可以驗證的私有鏈,而,btcrelay式,並進行跨鏈交易。

在某些情況下,這些優勢是不需要的,但在其他情況下,它們是相當強大的–強大到值得延長3倍的確認時間和爲一筆交易支付0.03美元(或者,一旦可擴展性技術發揮作用,爲一筆交易支付0.0003美元)。請注意,通過在公共區塊鏈上創建私人管理的智能合約,或在公共和私人區塊鏈之間創建跨鏈交換層,人們可以實現這些屬性的多種混合組合。對於一個特定行業來說,最佳的解決方案在很大程度上取決於你的具體行業是什麼。在某些情況下,公共的顯然更好;在其他情況下,某種程度的私人控制是完全必要的。正如現實世界中經常發生的那樣,這看情況。