私有鏈 vs 公有鏈 vs 聯盟鏈
在過去的一年,“私有區塊鏈”(private blockchains)的概念在區塊鏈技術討論中成了熱門詞彙。從本質上而言,相較於完全公開、不受控制,並通過加密經濟來保證網路安全的系統(例如,工作量證明pow以及權益證明pos),“私有區塊鏈” 也可以創造出訪問許可權控制更為嚴格,修改甚至是讀取許可權僅限於少數使用者的系統,同時這種系統仍保留著區塊鏈真實性和部分去中心化的特性。金融機構對這種系統有著很大的興趣,這也導致了部分人的激烈反對,他們認為這樣的發展,是違背了去中心化的本質,這是那些守舊落伍的中間商們孤注一擲的行為(或者說只是簡單地提出了一個非比特幣的錯誤應用)。然而,對那些僅僅是因為想更好造福人類,或者只是繼續尋求為客戶提供更優質服務的人們而言,公共和私有區塊鏈有什麼實際差別呢?
首先,我們手頭上究竟有多少種選擇呢?總結了一下,我們有三種區塊鏈的資料庫應用類別:
1.公共區塊鏈(Public blockchains)
公共區塊鏈是指全世界任何人都可讀取的、任何人都能傳送交易且交易能獲得有效確認的、任何人都能參與其中共識過程的區塊鏈——共識過程決定哪個區塊可被新增到區塊鏈中和明確當前狀態。作為中心化或者準中心化信任的替代物,公共區塊鏈的安全由“加密數字經濟”維護——“加密數字經濟”採取工作量證明機制或權益證明機制等方式,將經濟獎勵和加密數字驗證結合了起來,並遵循著一般原則:每個人從中可獲得的經濟獎勵,與對共識過程作出的貢獻成正比。這些區塊鏈通常被認為是“完全去中心化”的。
2.共同體區塊鏈:(Consortium blockchains)
共同體區塊鏈是指其共識過程受到預選節點控制的區塊鏈;例如,不妨想象一個有15個金融機構組成的共同體,每個機構都執行著一個節點,而且為了使每個區塊生效需要獲得其中10個機構的確認。區塊鏈或許允許每個人都可讀取,或者只受限於參與者,或走混合型路線,例如區塊的根雜湊及其API(應用程式介面)對外公開,API可允許外界用來作有限次數的查詢和獲取區塊鏈狀態的資訊。這些區塊鏈可視為“部分去中心化”。
3.完全私有區塊鏈(Fully private blockchains)
完全私有的區塊鏈是指其寫入許可權僅在一個組織手裡的區塊鏈。讀取許可權或者對外開放,或者被任意程度地進行了限制。相關的應用囊括資料庫管理、審計、甚至一個公司,儘管在有些情況下希望它能有公共的可審計性,但在很多的情形下,公共的可讀性並非是必須的。
兩者的區別
總的來說,到目前為止很少有強調共同體區塊鏈和完全私有區塊鏈之間的區別,雖然強調的意義是很重要:前者結合了公共區塊鏈的“低信任”和私有區塊鏈的“單一高度信任”來提供了一種混合的模式,而後者可以更精確地描述為帶有一定程度數字加密的可審計的傳統中心化系統。然而,在某種程度上可有很好的理由將注意力放在共同體區塊鏈上:完全私有的區塊鏈的基礎價值,除了加密認證這種重複性功能,而且沒有理由去相信,這種認證的最佳形式,是包括一系列含有Merkle tree二叉樹根雜湊相連的資料包。廣義的零知識證明技術( generalized zero knowledge proof technology)提供了一種廣泛的令人興奮的,有關數字加密認證的可能性,這類加密認證可由應用程式提供給使用者。通俗地說,我甚至會認為,相比於私有區塊鏈,廣義的零知識證明技術在金融世界是極大地被“低估”了。
現在,我將專注於單純的“私有VS公共”的區塊鏈討論。先下個總結,只有一種區塊鏈能活下來的想法是完全的誤導,因為兩者都有自己的優缺點。
私有區塊鏈的優點
首先是私有區塊鏈,相比於公共區塊鏈,它有著許多優點:
1. 規則的改變
如果需要的話,執行著私有區塊鏈的共同體或公司可以很容易地修改該區塊鏈的規則,還原交易,修改餘額等。在一些情況下,例如全國土地登記,這個功能是必要的; 但絕對不會存在著這樣的系統,可以讓“恐怖海盜羅伯茨”在一塊清晰可見的土地上擁有合法所有權,所以試圖建立一個不受政府控制的土地登記機構,在實踐中是不會被政府本身承認的。當然,有人會說爭辯說,可以在公共區塊鏈上給政府留一個後門鑰匙;當然有人會反駁說這種做法是小題大做,私有區塊鏈的效率更高。關於私有區塊鏈,我在後面會作介紹。
2. 驗證者是公開的
因為驗證是公開的,所以並不存在,來自中國的一些礦工出於共謀原因而致的51%攻擊風險。
3.交易成本更便宜
交易只需被幾個受信的高算力節點驗證就可以了,而不是需要數萬檯筆記本的確認,因此交易成本會便宜。當下公共區塊鏈的每個交易的費用超過0.01美元,這是個非常值得重視的問題,但也要注意,長遠來看,隨著可擴充套件的比特幣技術的進步,它會有所改變,該技術有望將公共區塊鏈的費用降低一到兩個數量級,大致與高效的私有區塊鏈系統差不多。
4. 節點可以很好地連線
節點互相可以很好地連線,故障可以迅速通過人工干預來修復,並允許使用共識演算法減少區塊時間,從而更快完成交易。公共區塊鏈技術的進步,例如以太坊1.0概念和後來的權益證明機制,可讓公共區塊鏈達到“即時交易”的目標。但私有區塊鏈仍是會更快,所以造成的延遲誤差永遠不會消失,正如光速並不遵循摩爾定律那樣每兩年翻一番。
5.隱私
如果讀取許可權受到限制,這樣私有區塊鏈還可提供更好的隱私保護。
考慮到上述情況,私有區塊鏈似乎看起來更適合為機構所用。然而,對於機構,公共區塊鏈仍存在著很多價值,這就是公共區塊鏈一直提倡的自由、中立和開放。
公共區塊鏈的優點
公共區塊鏈的優點可以歸結為兩大類:
1. 保護使用者,免受開發者的影響
在公共區塊鏈中程式開發者無權干涉使用者,所以區塊鏈可以保護使用他們開發的程式的使用者。從天真的角度來看,的確難以理解為何程式開發者會願意放棄自己的許可權。然而,較為超前的經濟分析為此提供了兩個理由:借用Thomas Schelling的話語,妥協是一種力量。第一,如果你明確地選擇做一些很難或者不可能的事情,其他人會更容易信任你並與您產生互動,因為他們自信那些事情不大可能發生在他們身上。第二,如果你是受人或其他外界因素的強迫,無法去做自己想做的事,你大可說句“即使我想,但我也沒有權力去做”的話語作為談判籌碼,這樣可以勸阻對方不去強迫你去做不情願的事。程式開發者們所面臨的主要的壓力或者說風險,主要是來自政府,所以說“審查阻力”,便是公共區塊鏈最大的優勢。
2.網路效應
公共區塊鏈是開放的,因此有可能被許多外界使用者使用和產生一定的網路效應。舉一個特定的例子,就拿域名託管來說吧。現在,如果A想賣給B一個域名,就有個需要待解決的風險問題:如果A首先出售了域名,但B可能還沒給錢;或者如果B給錢了,但A還沒出售域名。為解決這個問題,我們要設立中心化的託管中介,但須支付三到六個百分點的手續費。然而,如果我們在區塊鏈上擁有一個域名系統,並使用這個區塊鏈的貨幣,那麼我們可建立交易費低至0的智慧合約:A向該系統出售域名,系統馬上將域名出售給首先支付資金的人,而且因為這系統是建立在公共區塊鏈上所以值得信任。但注意為了使交易過程更高效,要將來自完全不同行業的完全不同的資產寄放在同一公共資料庫上——這在私有區塊鏈上是不可能輕易做到的。同樣的例子可以是土地登記和產權保險,但注意若想可互動操作,要使用能被公共區塊鏈驗證的私有區塊鏈,這樣可通過跨鏈完成交易。
必要性
在某些情況下,這些優點並不需要,但在其它場合又顯得非常重要——重要到有時值得我們去等待是原來3倍的確認時間或者支付高達0.03美元的手續費(一旦可擴充套件技術成為現實,手續費只需0.0003美金)。但也要看到如果能建立基於公共區塊鏈之上的私有智慧合約,或者能實現在公共和私有區塊鏈之間的跨鏈交易,我們就可將兩者特性很好結合使用,至於具體選擇那套方案就視乎你的所需了。有時,公共的會相對較好,但有時又需要一定的私有控制。這好比現實世界的情況,一切依你所需。
----