跳到主要內容

「公鏈為王」抑或「織鏈為網」,誰才是區塊鏈發展的正途?

Robert Mao
ArcBlockBlockchainDecentralizationDID

作者: 冒志鴻

編輯: 陳俊

早春三月,雖然加密貨幣市場仍處於熊市寒冬,區塊鏈產業卻不斷傳出令人振奮的消息:以太坊完成旨在將 Pow 共識機制切換為 PoS 的君士坦丁堡硬分叉,Cosmos 的主網 Cosmos Hub 正式上線,ArcBlock 區塊基石 ABT Network即將於 3 月底發布,Polkadot 也計劃在未來幾個月內上線,不約而同為加速區塊鏈技術落地開闢了一條頗具前瞻性的道路:提供開發者友好便利的開發框架,人人都能按需開發自己的區塊鏈;並打破隔閡,讓所有區塊鏈能夠連通起來,促進價值無縫流通。

與「一條公鏈搞定一切」的思維分道揚鑣

2018 年,眾多公鏈專案沿著以太坊開闢的「世界電腦」方向,聚焦於單條區塊鏈的交易吞吐量和效能的提升進行各種探索設計,一時之間,各種「公鏈」層出不窮,人人企圖為全世界修建一條大而全的公路來解決各種交通運輸問題,即使是各種鏈上分片、鏈下用側鏈/子鏈/狀態通道等擴容技術的方案,也仍然按照這一思維做文章。結果效能並未得到實質性提升,卻誕生越來越多技術架構各異、互不連通的公鏈,讓 Dapps 開發者疲於奔命。

作為專注於 Dapps 開發部署的區塊鏈時代的「雲」平台,ArcBlock 的設計初衷是從應用開發角度出發,幫助開發者不僅擺脫存取呼叫不同區塊鏈的麻煩負擔,而且盡可能降低應用被底層公鏈鎖定的風險——去年 7 月上線的 OCAP(Open Chain Access Protocol,開放鏈存取協議)即為 Dapps 存取比特幣、以太坊等底層公鏈提供了統一易用的中間抽象層,在解決加強區塊鏈互操作性的道路上「吾道不孤」:如何終結越來越多的公鏈/許可鏈之間呈現的割據局面,在一座座價值孤島之間搭建起價值互通的橋梁,使鏈與鏈之間可以互相傳遞訊息、發送交易,從而形成整個區塊鏈的價值網際網路。

如果說以太坊公鏈設計好比是全世界只修一條公路,ArcBlock 等提出的是「織鏈為網」的全新思路:編織區塊鏈的交通網路,讓各種車輛各行其道、各行其是,既需要免費的公路,也需要收費的高速和私家車道。最重要的是,交通網路必須有一個綜合平台來協調指揮,才能有效利用路網資源發揮最好的綜合效能。

除了 ArcBlock 之外,最近發布的 Cosmos,即將發布的號稱實現了 ETH 2.0 願景的 Polkadot,以及在企業聯盟鏈領域耕耘已久的 Hyperledger Fabric,都是在這個方向上探索前行。 可以說,從 2019 年的動向來看,關於區塊鏈的未來方向,最終可能形成分道揚鑣的兩大陣營。

從「網際網路」到「互連鏈」的發展趨勢

回顧網際網路技術發展史,可以發現歷史有著驚人的相似之處:早期的電腦網路是一個個獨立的區域網路,然後逐漸互連成為更大的通訊網路。電腦網路並沒有孕育出幾個超級通訊網路服務, 相反,去中心的網際網路協議取得了巨大的成功。我們有理由相信,區塊鏈也會朝著類似的趨勢發展。

在如何實現跨鏈互連互通方面, 目前的各家技術解決方案也是八仙過海、各顯神通,但基本的設計和目的是類似的。有趣的是,這些不同的跨鏈技術本身都體現出對其他技術的互連互通性, 理論上它們是互相相容,可以連接起來的——這與傳統的「公鏈」們各自為政形成鮮明對比。

以 Tendermint 團隊為核心團隊開發的跨鏈專案 Cosmos 定義了 IBC(Inter-Blockchain Communication,鏈間通訊)協議,允許使用 Cosmos SDK 開發的相同結構的區塊鏈以及代理鏈(遵守原鏈和 IBC 通訊標準),以 Zone 的形式與 Hub 這一中間樞紐連接通訊,實現鏈與鏈的互連互通,最終形成宇宙星雲式鏈網結構。Polkadot 出現在 Cosmos 之後可能較多受 Cosmos 啓發,其設計有類似之處。

Hyperledger Fabric 由於主要定位是企業聯盟鏈的場景,經常被人忽視,但是 Fabric 的設計思路相當超前,當各家公鏈還在喧囂之時,Hyperledger Fabric 從其「Fabric」這個名字上就體現了其多鏈交錯設計的特色。不過由於 Fabric 的設計目標是聯盟鏈環境,其多鏈主要體現在其一個應用中採用 Channel 的方式來切分多條鏈的設計,在跨鏈通訊方面沒有重視。

ArcBlock 的 ABT Network 與前述設計不同,採用的是獨創的三維稀疏矩陣的組網思路,所有的鏈都是平行空間的設計,用 DID(去中心化 ID)和可編程代幣(Programmable Token)來巧妙地實現鏈與鏈的互連和通訊。ABT Network 中鏈和鏈之間的通訊不需要通過任何中間人的「中繼(relay)」或 Hub 進行,更為去中心化,組網更為自由。

多鏈互連設計的另一個顯著優勢是不再需要去區分「私鏈」、「聯盟鏈」和「公鏈」,不必陷入「許可鏈(Permissioned Chain)」和「無許可鏈(Permissionless Chain)」這些無謂的「名詞之爭」。當各條鏈可以有效互連,必然有一部分是公共的,有一部分是私有或者聯盟的,必然有需要許可的,有無需許可的,恰如今天的網際網路一般。

無論上述哪一種技術,其基本思路都和現在的「一條公鏈搞定一切」的單鏈設計思路有著截然不同的世界觀。無論從技術發展的趨勢來看,還是從「去中心化」程度本身來分析,我們有理由相信,這種「互連鏈」的方向是未來去中心化世界的趨勢,也許 2019 年是這一共識形成的分水嶺。

個人自主的去中心化 ID 技術是連接 Dapps 的關鍵

當應用被去中心化的區塊鏈拆分成很多的部分之後,是什麼把這些去中心化的應用部件組織成一個完整的應用來呈現給使用者? 答案就是去中心化的數位使用者 ID。

DID,是萬維網聯盟(W3C )今年 1 月制定的使用者自主身分(Self-Sovereign Identity)的數位 ID 技術標準,業界剛剛開始研究開發其在區塊鏈技術架構和應用中的價值與功能:DID 在技術上支援使用者自主身分在網際網路中的實現,奠定了更好的保護使用者隱私、使用者資產安全、保障使用者資料主權等一系列重要基礎, 也是實現去中心化應用的關鍵技術。

目前為止,只有 ArcBlock 將去中心化 ID 設計為關鍵元件。 ArcBlock 的 DID 設計是從底層開始貫徹始終。未來會有越來越多的區塊鏈可能會採用側鏈或者智慧合約的方法來實現 DID,但是 ArcBlock 的 DID 則是從最底層支援的,屬於非常徹底支援 DID 的方案。Hyperledger 可能是出於其企業聯盟鏈的場景,繼承了傳統的企業認證機制,這在企業內部可能是可行的,但限制了其跨越組織的應用場景。

值得一提的是 ArcBlock 的平台把支援 DID 的錢包作為一個重要基礎部件,加密錢包將不只是一個數位資產的管理工具, 更是使用者去中心化 ID 的管理利器。

元件化設計,讓「一鍵發鏈」和「萬鏈互連」成為現實

授人以魚,不如授人以漁。ArcBlock 和 Cosmos 都將一條區塊鏈的開發由下而上分離出三層:網路層(底層資料結構和通訊協議設計)、共識層(共識機制設計)和應用層(具體業務邏輯設計),將網路層和共識層設計封裝為核心,應用層的通用功能分離成可插拔的模組,組成 SDK 開發工具,讓開發者能夠一鍵發鏈:他們不再需要設計整條區塊鏈,而只需要實現核心的業務功能。

ArcBlock 提供的開發者發鏈框架是 Forge 框架。如上圖所示,其在系統架構位置上和 Cosmos SDK 是一致的,更好的幫助開發者發布根據自己的需求定制的區塊鏈,並與自己的 Dapps 無縫連接:Forge 核心以 RPC(遠端過程呼叫)的方式呼叫共識引擎、狀態引擎和儲存引擎,幫助使用者定制的區塊鏈實現共識達成、狀態同步和分散式儲存,而這三個引擎均可插拔(比如目前 Forge 共識引擎呼叫的是 Tendermint,未來可插拔切換為其他共識演算法);FABI(Forge Application Blockchain Interface,Forge 應用區塊鏈介面)連接 Forge 核心與更為豐富的應用層:DID API、區塊鏈 API 和 OCAP API 幫助安全連接其他用 Forge 打造的鏈以及比特幣、以太坊等為 OCAP 支援存取的公鏈。在這之上支撐 Dapps 還有更多開發者可以直接使用的工具:管理主控台、命令列工具、區塊瀏覽器,而不只是框架。

對開發者而言,ArcBlock 的 Forge 開發框架更為簡單實用,屬於「開箱即用」的設計。Forge 框架目標是讓開發區塊鏈如同用 Ruby On Rails 來開發 Web 般的革命和簡單。兩者相比,Cosmos 在理論上可以更加靈活,而 ABT Network 和 Forge 框架更加簡單易用。ArcBlock 犧牲了一定靈活性來換取簡單和高效能,Cosmos 是追求充分的靈活性而犧牲簡單性。這種區別屬於設計理念的區別,無所謂高下優劣, ArcBlock 的目標就是要構建對開發者極其友好的區塊鏈應用平台,因此追求良好開發者和使用者體驗是其最高原則。

織鏈為網的區塊鏈設計,更有可能搭建對開發者友好的應用開發平台和生態,能讓區塊鏈更貼近實際應用場景,讓去中心化應用在這樣的基礎土壤中得以萬物生長。

原文連結: 冒志鴻:「公鏈為王」抑或「織鏈為網」,誰才是區塊鏈發展的正途?

本頁涉及

術語

  • Decentralization

    它不是一個整體屬性,而是對每一部分分別要問的問題:誰能改動它、誰能扣住它、事後誰能核實它。一個系統通常只在某些部分是去中心的,另一些部分不是。

  • DID

    DID 是一種數位身分標識。它幫助持有者和驗證方確認某個身分由誰控制,也讓一項聲明有明確的關聯對象。帳戶、登入和授權各自仍有自己的角色。

  • 區塊鏈

    透過密碼學連接記錄,並按共同的驗證與共識規則確定交易歷史的分散式帳本。