前言:長遠看,區塊鏈一條鏈通吃天下的可能性不大。不同的應用場景對于安全程度的需求不同,這跟安全、效率和去中心化之間的權衡相關,也跟不同應用場景的用戶需求相關。從目前看,未來會有很多鏈,不僅有一些安全程度要求高的公鏈,還會有其他各種鏈,比如各種應用鏈、私有鏈等。如果這是未來,那么,鏈間互操作性變得非常重要。提供統一安全的跨鏈模式會更成功?還是根據自己需要來自定義安全程度的跨模模式更成功?目前看,各有利弊。在發展的進程中,兩種模式也會有融合,不管如何,希望看到波卡、阿童木等跨鏈模式的生態能夠繁榮發展。
比特幣和其他早期加密貨幣并不是圖靈完備的,只能執行一系列特定于某個區塊鏈目標的操作。這導致以太坊的誕生,它試圖通過構建通用的“世界計算機”來擴展區塊鏈的功能。
到如今,可以看到眾多不同的區塊鏈設計,在隱私、擴展性以及治理方面都有創新。然而,關于推動構建成千上萬dApp方面,基本上只有兩類方法。
1.超強大的世界計算機
l 以太坊、Algorand、Dfinity、Thunder
l 可以承載數以萬計dApp的超快區塊鏈
l 強大的安全,控制整條鏈很昂貴
l 使用“Layer 2”技術實現擴展(如閃電網絡或Plasma)
2.區塊鏈的互操作網絡
l Polkadot(波卡)、Cosmos(阿童木)網絡
l 許多不同的區塊鏈,但可相互通信
l 特定于應用的區塊鏈
l 不同的安全模型,不是像比特幣一樣由一組礦工支撐整個網絡(盡管對Polkadot來說并非如此)
這些本質上是不同的設計,但每個都有自己的權衡取舍。本文闡述互操作性的案例,并說明為什么單一的“世界計算機”并不可行。不過,這里并不會解釋互操作性的具體技術實現,例如IBC(區塊鏈間的通信)協議。
一種尺寸無法適合所有
為了構建真正穩健的智能合約平臺,平臺的架構必須滿足最廣泛的應用程序。例如,如果以太坊核心開發者認為很多應用需要使用特定的加密原語,他們可以升級以太坊協議,以將預編譯合約包括進來,從而讓計算更高效。然而,可能存在要求不同加密原語的應用,并且這些開發者對以太坊協議的設計和進展感到滿意。(藍狐筆記注:文中意思是說,有些應用對現有的以太坊設計已經足夠滿意,并無升級迭代的需求。)
這不僅限于小的加密原語,所有基于智能合約平臺構建的應用都受制于這些系統規則,包括交易費用和計算成本(gas)。由于這些固定規則無法滿足所有用例,有些應用被迫做出平衡取舍,例如0x有鏈上結算和鏈下訂單簿。將你自己的應用構建在自己的鏈上,這允許你自我治理,不管它們合適與否,在其中,應用開發者可以改變和升級底層狀態機,而不依賴于特定設計或架構。
最后,受制于單個經濟計算單位,會給系統帶來次優結果。Ether只是一種衡量計算的單位,還是一種價值存儲?如果我們認為Ether是一種價值存儲,我們會不太愿意用它來支付應用的gas費用,這會導致Ether價格與用途價值(為計算提供動力)之間產生顯著的分離。相反,貨幣區塊鏈和計算區塊鏈之間各自獨立但可以相互溝通,這可能會產生更好的結果。
有效市場
去中心化系統被市場有效地控制。比特幣區塊鏈是一個市場,它匹配了礦工(系統安全的賣家)和用戶(對貨幣單位有需求的賣家)之間的需求,其中貨幣單位的安全由礦工來提供。在像以太坊這樣的智能合約平臺上的賣家和買家之間的關系沒那么清晰,因為需要有很多不同的“產品”。例如,交易加密貓和交易證券代幣對于安全的需求完全不同,但是,它們都為交易支付相同的費用。加密貓用戶可能為以太坊區塊鏈的安全性付出了過多的代價,這有效地補貼了去中心化交易所中的高風險交易。(藍狐筆記注:不過此處的比喻不一定恰當。因為當時加密貓不僅是一種游戲,同時每只加密貓也是非同質代幣,有的價值也不菲。也許使用其他用例做比喻更合適。)
在理想情況下,特定商品或服務的供求應該盡可能相互咬合。對于上面的例子,人們也許會質疑為什么交易加密貓需要得到成千上萬的中國礦工來保護其安全。相反,我們可以想象一下,特定的利益相關者(可能是早期加密貓的支持者或投資者)提供足夠的安全性來支持系統,而像MakerDAO這樣的應用可以由完全不同的一組安全提供者來支持。
通過這樣的方式,我們可以創建更有效的市場,這通常可以轉化為更便宜的費用和更快的交易速度。既然并非所有應用都需要相同程度的安全,因此對于大規模的用戶來說,統一的安全通常是不經濟的。然而,它也有缺點,就是要求每個應用鏈都有自己的驗證者組,對于特定的應用來說,從零開始啟動這一點可能有難度。無法招募到大量且分散的驗證者組將影響應用鏈的去中心化。
可擴展性
構建可擴展的“世界計算機”需要工程設計的獨創性。這里面已經產生很多設計提議,基本上是分片和各種加密技術。這非常有難度,因為平臺必須能夠容納“最壞情況”的應用,而不是“平均情況”應用。這意味著,如果“平均情況”的應用需要每秒10個交易,但有個應用需要1萬tps,這種情況下,區塊鏈為了容納這個應用,它必須能實現1萬tps的吞吐量。
相反,如果我們構建應用專屬的區塊鏈,將會更高效,每條鏈只須適合自己的速度要求即可。例如,要求很高tps的游戲在一條完全的獨立基礎設施上運行,跟每月僅做一次支付結算的區塊鏈完全區分開。在各自獨立的基礎設施上運行讓溝通變得困難,但像IBC和Cosmos Hub這樣的技術可以解決這些問題。(藍狐筆記注:IBC是指區塊鏈間的通信。)
可組合性
很難想象,未來只會有一條鏈的存在。因為不同的鏈在去中心化、治理和功能上都有不同的權衡取舍。在這樣的世界愿景中,我們如何確保這些區塊鏈能夠互操作?例如,像MakerDAO這樣的應用可以很好地處理盡可能多的不同類型的資產。
然而,既然MakerDAO是基于以太坊區塊鏈,它很難將BTC用作其系統的抵押資產,從而導致像Wrapped比特幣的產生。從根本上,Wrapped比特幣只是比特幣區塊鏈和以太坊區塊鏈之間的簡易橋梁。橋梁很難建構,因為它要求兩條鏈上各方的很多協調和信任。
鏈間直接通信的方法不能很好地實現擴展,因為每次新橋加入都需要實例化以實現鏈的連接。因此,通過單一的hub路由所有跨鏈通信是更高效的結構。
例如,如果一條鏈想與其他三條鏈溝通,它只須簡單地跟Hub搭建一條橋梁,那么就可以通過hub路由信息到其他獨立的鏈,而無須構建三條獨立的橋。這就是Cosmos Hub的基本設計。
使用上面的示例,如果在Cosmos網絡上構建MakerDAO鏈,那么,就可以輕松進入其他資產,而無須構建與其他鏈的獨立橋梁,只須跟Cosmos Hub連接即可。考慮到Cosmos SDK被設計為模塊化框架,它已經是Cosmos SDK的即插即用組件。
結論
當前區塊鏈應用默認是構建在現有的智能合約平臺上(如以太坊),而不是從零開始構建自己的鏈。
但是,隨著構建自己的區塊鏈變得跟編寫web應用一樣簡單和不受限制,且鏈之間的互操作性變得無縫,上述的情況會發生改變。
“世界計算機”的愿景確實有一些顯著優勢,例如共享安全,這可以減少從零開始構建新鏈的心理開銷,但根據你所構建的應用類型,選擇自己的安全模型也有明顯的好處。我們認為,如果驗證者們也是應用成功的利益相關者(投資者、早期用戶、高級用戶、團隊等),那么為專屬的應用鏈發展出一組驗證者也非難事。