本文和《關注應用治理,這是 DApp 的阿喀琉斯之踵》是姊妹篇,都討論 Polkadot/Cosmos 帶來的去中心化應用治理變革,及其意義。《關注》的作者是李畫,本文是我自己執筆。技術人員通常認爲治理與自己無關,甚至認爲不懂技術的人只是在討論無關痛癢的話題。我自己就曾經這麼認爲,直到最近,才一點一點地認識到治理對區塊鏈項目的重要性。推薦所有正在或者準備開發 DApp 的創業者,尤其是智能合約開發者閱讀這兩篇文章。也期待得到同行的指正,歡迎在新經濟人或者 NPC Crypto Labs 羣裏與我交流!

原文標題:《跨鏈釋放 Dapp 創新潛能》
作者:劉毅,清華大學碩士、Random Capital 合夥人、區塊鏈和大數據技術專家。20 年多種資本市場投資經驗,比特幣早期投資者
鏈聞經公衆號「NPC 源計劃」及作者「劉毅」授權轉載

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰劉毅,清華大學碩士、Random Capital 合夥人、區塊鏈和大數據技術專家。20 年多種資本市場投資經驗,比特幣早期投資者

跨鏈是目前行業內最熱的話題之一,也是被誤讀最多的話題(沒有之一)。有人認爲跨鏈早就實現了,每個交易所都跨了幾十上百條鏈。有人說交易所是中心化的,讓 BTC/ETH/LTC/… 無需信任地交易纔是跨鏈。又有人說不對,那是跨鏈原子交換或者去中心化交易所,是老概念了,Polkadot/Cosmos 遠不止於此。另外也有人認爲,側鏈和主鏈的資產可以雙向錨定,所以也是跨鏈 …

雖然每個人心中都有一個哈姆雷特,可以並行不悖。但行業對重要概念缺乏清晰共識,只會帶來混亂和渾水摸魚(各種我們也是跨鏈 …)。Polkadot/Cosmos 的出發點不是連接現有的公鏈,而首先在於支持開發者快速低成本地開發出新區塊鏈。新區塊鏈可以是應用平臺(支持智能合約),但更多的新區塊鏈會是去中心化應用,例如以獨立區塊鍊形式存在的去中心化預測市場、TCR、穩定幣、借貸市場、交易所等等,我們不妨稱之爲應用鏈。Polkadot/Cosmos 不但爲開發應用鏈提供工具(Substrate/Cosmos SDK),而且爲應用鏈之間實現可信互操作提供基礎設施(Polkadot Relay/Cosmos Hub)。由此可見,Polkadot/Cosmos 的跨鏈,核心在於 DApp 的新形態 —— 應用鏈,以及應用鏈之間的可信互操作。

那麼跨鏈有什麼意義?首先是與世界計算機(平臺公鏈)相比,應用鏈的共識參與範圍大幅縮小,性能和成本問題隨之迎刃而解。Substrate/Cosmos SDK 開發的應用鏈可以很容易地達到 1000tps 以上的處理能力,而且成本很低,能夠滿足大多數 DApp 的需求。另一個變化是 DApp 治理,治理不像性能問題那樣顯而易見,但卻是制 DApp 發展一大瓶頸。

用激進的方式表述本文主題就是:智能合約混淆了去中心化和可驗證兩個不同的概念,誤導了開發者,令 DApp 在長達 4 年的時間裏幾乎在原地打轉。Polkadot/Cosmos (尤其是 Polkadot)賦予了 DApp 鏈上治理能力。通過解除性能和治理兩大發展瓶頸,跨鏈技術有望釋放 DApp 創新潛力,引發去中心化應用的第三次浪潮。

第一部分:Web3 與 Polkadot 是什麼

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

爲了理解本文的主題,需要了解 Web3 和 DApp 的概念。上圖左側這位帥哥是 Gavin Wood 博士,前以太坊的 CTO、EVM 和 Solidity 語言的創造着,也是 Parity 公司、Web3 基金會和 Polkadot 項目的創始人。在 Web3 基金會和 Polkadot 等項目文檔中,對 Web3 願景的文字表述不太一致。但是都包含兩層意思。第一層:Web3 是無服務器的、去中心化的互聯網。Serverless 無服務器也是去中心化的意思,因爲在 web3 憧憬的網絡計算架構裏,參與者或者說節點是平等的,沒有服務器和客戶端的區別,所有節點都或多或少參與網絡共識的形成和記錄。去中心化的互聯網有什麼用呢?就是 Web3 的第二層含義:每個人都能掌握自己的身份、資產和數據。掌握自己的身份,意味着不需要其他人或者組織賦予身份,其他人或者組織也無法冒用、剝奪或者凍結身份。掌握自己的資產,意味着不會被剝奪資產,可以自由處置資產。掌握自己的數據,意味着每個人可以按自身的意願生成、保存、隱匿、銷燬個人數據,未經他的允許,任何人任何組織都不能使用其個人數據。在數字時代,掌握了自己身份、資產和數據的人,也就掌握了自己的命運。Web3 願景並非 Web3 基金會或者 Polkadot 項目所獨有。很多區塊鏈項目,包括比特幣、以太坊,都有類似的願景。名稱五花八門,包括開放網絡,下一代互聯網等等。

爲實現 Web3 願景,世界需要去中心化的互聯網應用,即 DApp。從使用者的角度,去中心化可以簡單理解成,不能被個別或者少數參與者所控制,因此值得信任的應用屬性。具體地說,去中心化對使用者意味着有三個重要屬性:trust minimal、permissioness 和 censorship resistant,也就是信任最小化、無許可和抗審查,三個屬性跟 web3 願景一脈相承。通過衆多的去中心化應用,互聯網用戶可以控制自己的數字身份、資產和數據,從而實現 Web3 願景。區塊鏈是實現 DApp 的主流技術手段,或者說區塊鏈是 DApp 的基礎設施。本文所說的區塊鏈,如果加不特殊說明,都是指公鏈。另外本文圍繞實現 Web3 願景討論,區塊鏈的其他用途(如企業級應用)不在討論範圍之內。

以太坊 /EOS/ 波場三大智能合約公鏈上已經有上萬個 DApp。但是除了少數曇花一現的菠菜遊戲和資金盤以外,用戶極少、而且活躍度很低。甚至已經有人在質疑:去中心化應用是不是個僞概念?我認爲出問題的不是去中心化應用,而是智能合約平臺。可以說在智能合約平臺上開發去中心化應用已經走入了死衚衕。原因有兩個,第一個是性能和交易執行成本限制。性能低和交易執行成本高是一個硬幣的兩面。例如以太坊全網只有 15tps 的處理能力,爲保證公平同時抵抗女巫攻擊,只能是交易費用競價。用戶體驗到的就是 DApp 很慢,而且一用都要花錢。整個行業對公鏈性能的關注由來已久,也很多團隊正在探索通過代議制、分層和分片三種思路進行擴容。拙作《萬字長文說透 Polkadot 架構》整理了擴容的技術路線、遇到的問題和解決方案,以及主要的項目實現,並把 Polkadot/Cosmos 歸入分片擴容。簡而言之就是,跨鏈技術通過分而治之的方式,在保持互操作性的同時,實現了擴容。本文仍將簡述這部分內容,已經閱讀過《說透》一文的讀者可以跳過隨後的三個小節。

但是性能 / 成本並不是智能合約對 DApp 的唯一限制。EOS 通過代議制的方式,已經能夠達到數千 tps 的處理能力,比以太坊 1.0 的性能提升了兩個數量級,而且交易執行成本由開發者負擔,讓 DApp 摘掉了又慢又貴的帽子。但是 EOS 主網上線一年了,也在公鏈治理等領域做了大量有益的探索,但是並沒有引發應用層的創新。這不禁讓人懷疑,到以太坊 2.0 全面落地的時候(大概還需要 1-2 年時間),DApp 的春天是否就真能到來?經過很長時間的反覆思考,我認爲除了性能 / 成本約束以外,DApp 還面臨智能合約平臺第二個重要侷限:去中心化治理缺位,而且爲了保護合約的可驗證性,阻礙了去中心化治理的實現。而跨鏈技術(尤其是 Polkadot)在實現擴容的同時,爲實現有效的去中心化治理提供了技術基礎和模版範例。通過解除性能和治理兩大發展瓶頸,跨鏈技術有望釋放 DApp 創新潛力,引發去中心化應用的第三次浪潮。

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

Polkadot 是 Gavin Wood 和 Web3 基金會提出的 Web3 技術方案。這兩張圖片都來自於嶽利鵬翻譯的 Polkadot 白皮書中文版。先看右邊的大圖,Polkadot 的基本網絡結構是星型的,或者稱爲輪輻型。星型的中心是 PolkadotRelay 中繼鏈,外圍是衆多的 Parachain 平行鏈。再看左側的小圖,Polkadot 網絡的參與者有四種角色:Validator 驗證人、Nominator 提名人、Collator 收集人或者覈對人,Fisherman 釣魚人或者漁夫。DApp 可以是部署在平行鏈上的智能合約,或者整個平行鏈就是一個 DApp。用戶在平行鏈發起交易,交易被收集人收集,打包成區塊,交給一組驗證人去驗證。這組驗證人並不是來自平行鏈,而是來自中繼鏈統一管理的驗證人池,通過隨機分組指定給平行鏈。每條平行鏈都有一個出口隊列和一個入口隊列。如果用戶發起的是跨鏈交易,交易就會被放進出口隊列。再被目標平行鏈的收集人放入其入口隊列。目標平行鏈的收集人執行交易,生成區塊,由驗證人組敲定。Polkadot 採用出塊過程和敲定過程分開的混合共識協議。

除了平行鏈,還有轉接橋把現存的、不能直聯的區塊鏈接入中繼鏈,例如以太坊和比特幣等。我們已經介紹了收集人和驗證人在系統中的作用,那麼提名人和漁夫是做什麼的呢?提名人是 Polkadot 基礎通證 DOT 的持有者,他希望質押 DOT 獲得收益。但是要麼是因爲 DOT 數量少,要麼是缺少運行維護驗證人節點的專業技能。因此係統提供了另一個參與途徑,就是持幣者選擇他信任的驗證人,把自己的 DOT 通過驗證人來質押,分享驗證人收益。這樣做的好處是,提高整體質押比例,提升系統安全性,同時也使收益分配更加公平。漁夫的是監控和舉報非法交易,賺取獎金的角色。在 Polkadot 網絡中,平行鏈各自承擔交易執行、數據存儲,同時平行鏈之間能夠互操作,實現與分片擴容非常類似的目標。

第二部分:Cosmos 是什麼

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

說完 Polkadot,再介紹 Cosmos。在圖的左上方,A 和 B 是兩條鏈互爲側鏈。也就是說,A 鏈包含 B 鏈的 SPV 輕客戶端,從而 A 鏈能驗證 B 鏈的交易。反過來 B 鏈也包含 A 鏈的 SPV 輕客戶端,從而 B 鏈能驗證 A 鏈的交易。互爲側鏈的結果是,發行在 A 鏈和 B 鏈上的通證可以互轉。如果從兩條鏈擴展到多條鏈,A 和 B 變成 A/B/C/D/E/F,一種外推的想法是仍然沿用兩兩互爲側鏈的做法,就形成了左下方的結構。但是這樣做會到來很多問題,每條鏈都要內置其他所有鏈的輕客戶端,同步其他所有鏈的區塊頭,這當然是很大的負擔。而且每增加一條鏈,都需要在其他所有鏈上做修改。隨着區塊鏈數量的增加,複雜度以 n*(n-1)/2 指數型增長,這顯然是不可行的。

解決的辦法就是改成上圖右上方顯示的結構,中間放一個 Hub,Hub 本是也是區塊鏈,它跟其他所有鏈都互爲側鏈。就是說,每條鏈上的通證都可以轉到 Hub 上,然後通過 Hub 轉到其他鏈上,網絡互聯的複雜度跟區塊鏈數量是線性關係。這就是 Cosmos 選擇的架構,在 Cosmos 的定義裏,接入 Hub 的鏈稱爲 Zone 分區。分區要接入 Hub 需要兩個條件,第一是符合 Cosmos 標準協議,即 IBC 鏈間通信協議。第二是要求 Zone 具有即時最終性(最好採用 Tendermint 共識),以確保跨鏈的一致性。而且 Cosmos 可以支持多個 Hub 的互聯。對於現存的公鏈,可以通過協議適配接入 Cosmos Hub,Cosmos 把協議適配網關稱爲 Peg Zone 錨定分區。最終形成的結構就是右下方圖片展示 Cosmos 架構。

Cosmos Hub 以及其他用 Cosmos SDK 開發的分區都採用 Tentermint 共識協議,出塊和敲定過程是合一的,只要出塊,就是得到了 2/3 以上驗證人的簽名驗證。這樣做的好處是簡潔快速,出塊時間可以達到秒級甚至亞秒級,而且具有即時最終性。但是在網絡發生分區或者驗證人大面積停機等情況下,Tentermint 共識有可能暫停出塊。

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

我們把 Serenity 也就是以太坊 2.0、Polkadot 和 Cosmos 放在一起比較一下。三者都是未來幾年重要的 DApp 平臺。首先 DApp 開發方式,三個鏈都支持智能合約。Serenity 還是智能合約平臺,而 Polkadot/Cosmos 網絡中會有支持智能合約的平行鏈和分區鏈。除此之外,Polkadot 和 Cosmos 帶來了全新的 DApp 開發方式,就是開發特定應用的區塊鏈。Cosmos 爲應用鏈提供的工具是 Cosmos SDK,目前支持 Go 語言開發。Polkadot 爲應用鏈提供的工具是 Substrate,目前支持 Rust 語言開發。Substrate 是完整的應用鏈開發工具,具備完整的應用鏈框架,Gavin Wood 演示了在全新的電腦上,15 分鐘用 Substrate 發佈出一條應用鏈。另外,Substrate 所有模塊都可以定製或者替換,功能強大而且非常靈活。相比較而言,Cosmos SDK 要單薄一些,它主要提供 Tendermint 共識引擎、IBC 鏈接通信協議和通證等核心模塊,大部分上層建築需要自行開發。

關於性能,Serenity 每個分片大約是 100tps,仍然是優先處理 gas price 高的交易。Polkadot Hub 應該能達到上千 tps,平行鏈可以自己決定共識算法、硬件和網絡,沒有嚴格的性能上限。Cosmos Hub 和分區都採用 Tendermint,能夠達到上千 tps。

關於互操作。Serenity 跟以太坊 1.0 是一樣的,智能合約可以相互調用。Polkadot 平行鏈通過 Relay 與其他平行鏈互操作,通過 Bridge 與其他鏈互操作。Cosmos 分區通過 Hub 可以互轉通證,通過錨定分區與其他鏈互轉通證。IBC 消息也有 data 字段,就像電子郵件的附件,通過擴展數據字段,分區鏈之間可以傳遞任意數據。

接入方式 Serenity 跟以太坊 1.0 相同,開發者自行部署智能合約。Polkadot Relay 接入要拍賣插槽,質押數量不菲的 DOT。Cosmos 與 Polkadot 類似,是質押 Atom 拍賣接入資格。

然後是安全性,Serenity 的分片就像是標準集裝箱,DApp 放進就行了,安全性由系統保障。與之相對的是 Cosmos,應用鏈不論是否接入 Hub,都是自己保障安全。Substrate 開發的應用鏈是兩個選項,要麼接入 Relay 成爲平行鏈,由 Polkadot 保障安全;要麼獨立運行,自己保障安全。

最後是 DApp 升級,它跟後面要重點講的去中心化治理密切相關。在這裏我們簡單地概括爲 Serenity 不支持 DApp 升級、Polkadot 支持 DApp 的安全升級。Cosmos 的分區鏈是可升級的,但是 Cosmos SDK 並沒有內置對升級的支持,需要 DApp 開發者自行實現升級。

Polkadot/Cosmos 最大的創新在於提供了新的 DApp 開發方式,也就是爲開發應用型區塊鏈提供了支持。應用鏈可以通過跨鏈協議互操作,而且每條應用鏈都可以獨享 1000tps 以上的處理能力,DApp 的性能瓶頸被解除了。下面重點講述 Polkadot/Cosmos 如何解決去中心化治理問題。在此之前,首先要解釋去中心化治理的作用,爲什麼去中心化治理是除性能之外的 DApp 創新的另一大瓶頸。

第三部分:智能合約的信任來源是什麼?

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

2013 年初,我第一次接觸 BTC 的時候,比特幣圈子最流行的爆款遊戲是中本聰骰子,當時 BTC 網絡一半以上交易量都發生這款菠菜遊戲上。中本聰骰子玩法非常簡單,無需註冊,也不需要安裝客戶端。Satoshidice.com 網站公佈多個投注地址,對應不同賠率。只要轉入比特幣,就可以參與遊戲。如果莊家輸了,獎金會轉回玩家的發送地址。如果玩家輸了,也會有很少一點 btc 發回來,相當於告知結果。中本聰骰子的真正創新在於:玩家不必擔心莊家作弊,或者說賭局能夠自證公平。證明的方法見上圖,簡單說就是,服務端預先生成隨機數,並公佈隨機數的哈希值。每輪賭局服務端用隨機數決定輸贏,公佈賭局結果之後,也公佈隨機數。玩家可以驗證隨機數和哈希值的對應關係,從而確認隨機數是預先生成的。中本聰骰子的創始人是 Eric Voorhees,他也是後來的著名加密貨幣兌換服務 shapeshift 的創始人和 CEO。當時 Eric 匿名運營中本聰骰子網站,其實即便實名,他當時也算不上知名人物。因此骰子的玩家不是因爲相信運營者才相信應用,而是因爲可以自行驗證公平性纔信任應用。幣鏈圈有句名言 —— Don’t trust, Verify! 即:不要信任,去驗證!強調的就是可驗證。張首晟先生提出的 In math we trust,也有異曲同工之妙。可驗證應用採用密碼學技術,創造出可證明的公平(Provable Fairness),也可以說是創造出了信任(Truest),所以也有人說區塊鏈是生產信任的機器。

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

以太坊開創的區塊鏈智能合約是開發可驗證應用的技術。智能合約內部狀態都是公開可見的,平臺不支持隱匿數據,我稱之爲狀態可驗證。另外智能合約應該公開代碼。代碼公開不僅是開源,而是由平臺保障合約源代碼和執行代碼對應。使用者可以查看合約代碼,從而驗證開發者所聲稱的處理邏輯與實際實現一致,即處理邏輯可驗證。而且智能合約不能調用隨機數、當前系統時間,也不能直接訪問鏈下數據,從而確保執行的確定性(Determinism)。由此可見,智能合約是開發可驗證應用的通用性技術。而中本聰骰子的子孫後代們也在三大智能合約平臺大放異彩。

爲了保護處理邏輯可驗證,平臺通常不允許智能合約進行升級,原因在於開發者單方面修改智能合約會破壞可驗證的公平性。但不可升級給應用開發造成了巨大的困難。應用程序幾乎不可能保證沒有缺陷。智能合約運行在公鏈平臺上,任何人都可以無需許可地匿名訪問。再加上智能合約常常用於處理加密資產交易,任何微小的缺陷都會被黑客利用。TheDAO、Parity 多重簽名錢包、美鏈 1CO 等智能合約,都因爲微小的程序缺陷,導致了巨大的經濟損失。另一方面,互聯網應用和移動應用常常快速迭代,不斷適應用戶需求、增強功能、改進體驗。如果區塊鏈應用只能「以不變應萬變」,要在競爭中勝出難於登天。

爲了突破智能合約不可升級的限制。開發者用 delegateCall 等方法,繞過平臺,實現了智能合約可升級設計模式,如上圖所示。可升級智能合約通常由三個部分:代理合約、狀態合約和處理邏輯合約。狀態合約存儲所有需要持久化的數據。代理合約負責將外部服務請求轉發給處理邏輯合約。代理合約保存了處理邏輯合約的地址指針。通過部署新版本的處理邏輯合約,修改代理合約的地址指針,就能夠實現處理邏輯升級。

可升級設計模式使得智能合約具有了可升級性,代價是破壞了智能合約的處理邏輯可驗證。開發者可以不經過用戶同意,甚至在用戶不知情的情況下修改智能合約。那麼用戶是否仍然可以信任智能合約呢?答案是需要個案分析。在協議可變的前提下,是否可信取決於協議的控制者是否可信。例如 Paxo/GUSD 等合規穩定幣,我們知道 Paxo/GUSD 的運營實體是受紐約金融局監管的合規企業,其穩定幣的法幣儲備有定期的正規審計。雖然這些穩定幣的運營商可以隨時升級(修改)智能合約,但是用戶並不會因此而產生疑慮。但是大家應該注意,合規穩定幣的信任並不是區塊鏈製造的,而是把鏈外的信任延伸到了鏈上。例如 eher 公司通過區塊鏈發行 USDT,只是利用區塊鏈技術的可及性和快捷清算能力。USDT 的信用不是區塊鏈製造的,而是由 Tether 公司提供的。

另外一種情況是,掌握智能合約升級權利的不是個人或者企業,而且去中心化匿名組織(DAO),例如 MakerDAO、Aragon 等。他們通過去中心化的治理流程(通常也用智能合約實現),由利益相關人通過投票決定協議規則的修改。在這種情況下,智能合約的可信性取決於 DAO 的可信性。稍後我們會繼續延伸這個話題。

總結一下本小節的內容。智能合約是開發可驗證應用的技術,狀態可驗證+處理邏輯可驗證創造出可證明的公平性,智能合約菠菜的流行大抵源於此。可驗證和可升級是一對矛盾。可升級智能合約破壞了可驗證性,其信用之源是合約的運營主體。

第四部分:比特幣的信任來源

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

我們再來看比特幣的信任來源。2013 年三月的比特幣價格暴漲,普遍認爲與塞浦路斯銀行危機有關。上圖左側摘錄了當時主要的財經媒體的新聞標題。塞浦路斯跟冰島、愛爾蘭一樣,是新興的離岸金融中心,靠低稅率和監管寬鬆,吸引了大量資金流入。塞浦路斯 700 億歐元的銀行存款,有 300 億來自俄羅斯。希臘債務危機讓塞浦路斯的銀行損失慘重,銀行資不抵債,面臨破產。最終的解決方案是儲戶買單,10 萬歐元以上的賬戶幾乎血本無歸。塞浦路斯銀行危機第一次明確地提醒人們:存在銀行裏的錢,哪怕是存在歐洲發達國家的銀行裏,也可以一夕歸零。於此同時,比特幣作爲一種非主權的,不依賴金融中介的價值存儲手段,進入了人們的視野。從此之後,每當某國家出現貨幣危機,包括阿根廷、印度、委內瑞拉、南非、土耳其、伊朗,在當地都出現了比特幣交易量大幅上升的情況。這一系列事實證明,比特幣是超主權價值存儲貨幣已經被認可。即便在通貨膨脹並不嚴重的地區,也有越來越多的人使用比特幣保存個人財富。價值存儲對人們的生存繁衍至關重要,比特幣憑什麼擔負如此重託呢?

我們把比特幣產生信任的方式跟以太坊智能合約進行比較,可以發現比特幣的可信既不是源於代碼可驗證,也不是因爲比特幣核心開發者具備信用。包括我在內的比特幣絕大部分用戶都沒有看過比特幣節點的代碼,也並不關注代碼,而且比特幣協議是可以修改的(分叉)。對於由誰決定比特幣協議的升級,中本聰的初始的設想是算力投票。理由在於算力是不可僞造的,而且礦工是比特幣的主要的利益相關羣體。但是很有可能,中本聰沒有預見到專用 ASIC 礦機出現,將個人電腦完全擠出了挖礦競爭,並形成了幾大礦池壟斷算力的現狀。比特幣的利益相關羣體主要有四個:礦工、開發者、用戶和企業(交易所、錢包廠商、區塊鏈瀏覽器、社區、媒體等)。他們有一致的利益,也有相互衝突的利益。例如幾乎全部參與者都受益於比特幣長期價格上漲。但是用戶希望交易費越低越好,而礦工希望交易費越高越好。由於利益衝突,各方對比特幣協議演進會出現不同的意見,而且四方都有影響協議研究的能力和途徑。基於比特幣分叉博弈的歷史,目前普遍認爲對協議演進影響裏最大的是比特幣核心(開發者),而不是礦工。那麼我們是否是因爲信任比特幣核心纔信賴比特幣呢?

最近有礦圈的大佬聲稱,比特幣核心早晚會取消比特幣 2100 萬的發行上限。作爲把 btc 用於長期價值存儲的用戶之一,我是否應該擔心呢?說實話我並不擔心,並不是因爲大佬的邏輯有問題(我甚至沒花時間研究他的邏輯),也不是因爲我信任比特幣核心。我甚至不知道現在的比特幣核心由幾個人組成,他們都是誰。但是從第一次購買 btc 到現在 6 年多的時間,我知道有大量跟我利益訴求一致的比特幣用戶。我們都把 BTC 當作自己可以完全掌握的資產(還記得 Web3 願景嗎?),是最可靠的價值存儲。假設比特幣核心處於某種原因要犧牲比特幣的稀缺性,那必然要通過硬分叉來實施。我只需要保留有稀缺性保證的 BTC,賣出沒有稀缺性保證的分叉幣(也許叫 Bitcoin Uncapped?)就行了。也就是用我的幣做了支持誰不支持誰的投票。我相信比特幣社區會有千千萬萬人(不是也無需是全體)會跟我做相同的選擇。而且也一定會有開發者維護稀缺比特幣的代碼(組成新的核心?)。一番折騰下來,除了原來的比特幣核心被邊緣化以外,我看不出還會有其他可能的結果。

所以我對比特幣的信賴源於影響比特幣協議演進的力量是多方的,而且由於區塊鏈可以分叉,不同利益訴求的羣體可以分道揚鑣,然後由廣大的比特幣用戶來選擇支持 / 不支持 / 同時支持哪個分叉。所以比特幣的信任來源是廣泛參與的治理和可分叉性,與智能合約非常不同,這就是本文所說的去中心化治理。

第四部分:深入探討去中心化治理問題

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

總結上一小節的結論:除了可證明的公平性,區塊鏈應用創造信任的源泉是去中心化治理。而且只有通過去中心化治理產生信任的應用,纔是真正的去中心化應用。這一小節我們介紹去中心化治理的一般過程和發展現狀。

以比特幣爲例,治理的基礎是廣泛參與的討論,在 bitcointalk、reddit 的網絡社區、大大小小的會議、衆多的媒體上發表看法、討論甚至爭論問題。研究者會針對某個特定專題,例如隱私、性能或者更一般化的簽名方案、P2P 通信協議等,進行研究,並發表研究成果。對比特幣協議的改進建議以 BIP (Bitcoin Improvement Proposal 比特幣改進提案)的形式呈現。重要的 BIP 會引發比特幣社區的關注,並引發更爲廣泛的討論。開發者(不一定是 Core,也不一定是提案發起人)可以實現某個 BIP。目前比特幣沒有正式的對開發者進行資助的流程。Dash/Monero 等加密貨幣社區,有標準的流程來決定是否以及如何對開發者提供資金支持。在協議改進實現之後,就來到去中心化治理最關鍵的步驟:由誰以及如何決定 BIP 部署上線,成爲比特幣協議的一部分。

比特幣的治理在這一關鍵環節非常含混不清,大致可以描述爲核心開發者根據已經達成的廣泛社區共識來決定是否上線 BIP。什麼纔是廣泛的共識?是否已經達成了廣泛共識?沒有明確的標準,這在持續近三年之久的大區塊 vs. 隔離見證的爭議中表現得尤其明顯。以太坊的治理過程與比特幣非常類似,可能唯一重要的區別在於 V 神在以太坊社區的巨大影響力,使得 V 神支持的協議改進更容易達成共識。由於這一類的治理過程的最終結果是實施協議分叉,不妨稱之爲分叉治理。分叉治理雖然實現了治理去中心化的目標,但是具有明顯的缺陷。最大的問題是治理過程含混不清,因此效率很低、難於改進而且很容易陷入爭議。例如以太坊圍繞 ProgPoW 的冗長肥皂劇就是混亂無序治理的必然結果,沒有清晰的治理過程,類似的肥皂劇就會反覆上演。

針對分叉治理的缺陷,Decred 首創了鏈上治理。也就是 Decred 通證的持有人通過鏈上交易對提案進行投票表決,表決通過的提案才能部署上線。EOS 和 Tezos 也對鏈上治理做了大量有益的探索。上圖右側對去中心化治理的現狀劃分的象限。比特幣和以太坊採用分叉治理方式。EOS 和 Tezos 區塊鏈採用鏈上治理。但是就我所知,EOS 和 Tezos 並沒有爲平臺上運行的智能合約提供治理支持,因此還是沒有解決 DApp 治理的問題。Decred 很可能是目前唯一的具備完整鏈上治理的去中心化應用。但是 Decred 的治理也有明顯缺陷。首先 Decred 是 PoS+PoW 混合共識,通證持有者和 PoW 礦工都是網絡的利益相關人,但是 PoW 礦工不能直接參與鏈上治理,他們的利益訴求被忽略了。另外 Decred 的提案是持幣者直接投票,相當於是每個決策都是全民公決,這樣做效率很低,而且最明顯的問題是實際投票率很低。雖然有些提案有百分之幾十的通證參與投票,但是看按持幣地址的參與率,就低到可憐了。這兩個問題在一些純 PoS 鏈得到了很好的解決。PoS 的治理基礎就是 Staking,Staking 代表了長期的利益綁定,治理的目的是爲了讓加密協議不斷進步,最大化長期利益,因此參與 Staking 的持幣者參與治理非常恰當。另外就是新一批的 PoS 都實現了某種代理機制,DPoS/BPoS/NPoS,相當於實現了代議制。日常的治理可以由當選的驗證人來進行,他們相當於是議會。驗證人通常跟加密網絡有巨大的共同利益,他們有動力爲治理投入資源。另外重大的表決,尤其是驗證人和委託人利益有衝突的提案,仍然可以也應該交由持幣者公決。

第五部分:Polkadot 的治理機制

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

Polkadot 的治理是前所未有的全過程鏈上治理,基於最前沿的區塊鏈技術實現。被表決的提案不僅僅是對協議修改的描述,而且可以是新協議本身,即被編譯稱 wasm blob 的可執行程序。鏈上投票通過後,新版程序通過區塊鏈分發給驗證人節點,並且自動啓用。升級過程中不會出現分叉。基於令人歎爲觀止的技術,Polkadot 在鏈上治理方面可以說是一騎絕塵,正在進行大量的創新和探索。

Polkadot 治理仍然處在快速進化之中。幾天前(5 月 24 日) Polkadot 剛剛宣佈 PolkaDAO 上線,PolkaDAO 把對提案進行資助的決策流程搬到了鏈上(目前是以太坊,未來應該會遷入 Polkadot)。我認爲在主網上線之前,乃至於主網上線後的相當一段時期內,進化不會減速。因爲 Polkadot 的優勢並不在於它已經找到了行之有效的治理方式,而在於它建立起了可以支持快速進化的過程和技術。根據我的觀察,在主網上線前和上線後的一段時期內,開發者仍然擁有 Polkadot 的控制權。他們會充分利用這一權利,將 Polkadot 快速推進到自洽狀態,然後退居幕後,把治理權交給社區。這也是 Block.One 對 EOS 所做的。Polkadot 多出了兩年行業發展經驗(後發優勢),而且開發了更好的鏈上治理技術。有理由相信 Polkadot 的開發者能做得更好。所以現在討論 Polkadot 的治理,不必對細節太過關注,因爲都可能會變掉。需要關注的是:完全可編程的鏈上治理大概會是什麼樣子,能做到哪些?而且 Polkadot 治理代碼是開源項目的一部分,DApp 開發者可以把 Polkadot 治理當作模版範例,定製開發符合自身項目情況和需求的治理過程。

Polkadot 這個詞在不同的語境下有不同的含義(範圍),有時候我們用它來代表 W3F 發起的整個 Web3 生態,有時候代表 Polkadot 項目(包含 Substrate),有時候特指 Polkadot Relay 這條特定的區塊鏈。本小節所說的 Polkadot 治理,是 Polkadot Relay 區塊鏈的治理,再具體的說是 Polkadot Relay 的 PoC-3 階段實現的鏈上治理。

整個治理過程圍繞提案和投票展開。提案可以由普通的持幣者提出,也可以由理事會提出。理事會是持幣者選出的,持幣者可以給任意多的理事候選人投票。每個選舉週期的冠軍進入理事會,替換任職時間最長的理事,亞軍票數保留,其他候選人選票清零。每個理事都有對理事會提案的否決權,但是不能連續使用。理事會通過提案進入全民公決,而且只有得到多數反對纔會被否決。普通持幣者的提案進入隊列,等待其他持幣者的支持。每隔一段時間,支持數最高的提案進入全民公決。但是普通持幣者的提案要獲得多數支持才能通過。在全面公決投票中,持幣者可以選擇鎖倉係數,範圍從 1-6,所投出的票數是持有的 DOT 數量 *鎖倉係數。如果投票結果跟投票者的選擇一致(通過 / 否決),那麼投票者的 DOT 將被鎖定,鎖定時間 = 常數 * 鎖倉係數。如果投票結果跟投票者的選擇相反,則無需鎖倉。這樣的計票方式,有助於讓(未來的而不是過去的)長期持幣者獲得更大權重。

第六部分:去中心化應用的未來之路

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

前面講述的全部內容可以歸納爲去中心化應用的三次浪潮。第一次是比特幣引發的去中心化電子現金(加密貨幣)的創新浪潮,圍繞「更好的加密貨幣」主題展開,方向主要有三個:隱私、治理和支付。這三個方向也都針對比特幣的「不足」。Zcash/Monero/Dash 等力圖鞏固加密貨幣的可互換性和私密性;Decred/Dash 等探索了混合共識和更規範更有效的治理;Litecoin/XRP/BCH 致力於成爲更好的支付 / 轉賬加密貨幣。大家知道在 2012-2015 年,開發 DApp 的主要方式是 fork 比特幣的代碼,做定製修改,然後運行獨立的區塊鏈。再到後來直接 fork 比特幣區塊鏈,借力比特幣的網絡效應。這一輪創新是開天闢地試的,它開啓了去中心化應用的大門,使每個人都可以自行認領數字身份(私鑰 / 地址),而無需被授予。並實現了最普遍使用的資產——貨幣的去中心化。但是除了最大化主義者或者對現代金融一無所知的人,恐怕沒有人會認爲僅靠去中心化貨幣就能支撐起 web3 理想的大廈。但是由於當時開發去中心化應用的技術單一,都源自比特幣。而比特幣的架構設計擴展性不足,使得開發非貨幣類應用難度很大。而且當時也沒有跨鏈技術,DApp 是彼此獨立的區塊鏈,之間不能互操作,無法形成 DApp 生態。這一輪創新浪潮給只是行業留下了幾個各具特色、但獨立運行的加密貨幣。

在比特幣區塊鏈上實現其他資產的發行和交易是可行的(例如 ColorCoin/MasterCoin 等早期嘗試),但嚴重受制於比特幣區塊鏈的限制。V 神正是由此出發,提出並領導實現了以太坊。以太坊是開放的創新平臺,它引入了圖靈完備的虛擬機 EVM,推出了 Solidity 等智能合約開發語言,並且支持智能合約相互調用(互操作),極大地降低了區塊鏈應用開發的門檻,引發了第二輪創新浪潮。但是如前所述,由於以太坊基礎設施的限制,導致應用性能差、成本高,用戶體驗很差。而且智能合約實質上是可驗證應用開發技術,並沒有爲 DApp 所必須的去中心化治理提供支持,甚至爲了保護可驗證性限制了應用的升級,給 DApp 演進造成了很大困難。由於這些限制,雖然以太坊主網上線已經 4 年多了,全世界也有幾十萬智能合約開發者。但是以太坊上沒有一個真正落地(百萬級活躍用戶)的去中心化應用。當然第二次創新浪潮不是毫無收穫,期間產生了大量的可驗證應用,包括可以驗證的資產發行和轉移、可驗證的菠菜等等。另外有成百上千個 DApp 在智能合約平臺進行了嘗試,開發出了 MVP。在性能、治理等瓶頸解除之後,這些項目團隊有最好的機會開發出真正落地的 DApp。

Polkadot/Cosmos 等跨鏈技術是對以太坊等智能合約平臺的換代。他們繼承了以太坊圖靈完備、規範應用程序開發和互操作支持等優點,又解除了去中心化應用的性能和治理兩大瓶頸,將引發 DApp 創新的第三次浪潮。我們前面重點介紹了 Polkadot 的治理。那麼用 Cosmos SDK 開發的應用鏈,也可以實現類似 Cosmos Hub 和 Tezos 的鏈上治理。關於跨鏈技術的侷限是什麼,我還不敢說現在已經看到了,但是有一些疑惑要交給時間去驗證。在第三次創新浪潮中,我們有理由期待出現大量的 DApp 創新,能夠包括去中心化匿名組織 DAO、去中心化交易所 DEX,以及衆多 Defi 去中心化應用。最優秀的一批 DApp 很可能獲得成百上千萬的用戶,跟對中心化互聯網服務競爭而不落下風,將互聯網向實現 Web3 願景推進一大步。

第七部分:Polkadot 的現實問題

萬字說透跨鏈:DApp 賦能、信任來源、治理機制與現實挑戰

談過 DApp 創新的遠大前景,再來說說現實的困難。首先是 Polkadot/Cosmos 跨鏈技術落地尚須時日。Polkadot 目前的進展是 PoC4 已經穩定運行了近兩個月。但是 PoC4 並不包含跨鏈協議。跨鏈協議 ICMP 將包含在 PoC5 裏面。目前 Polkadot 主網上線目標時間點是今年年底。但這在一切順利的情況下的預期。開發過複雜軟件項目的同學都知道,一切順利通常只存在於幻想之中。雖然 Polkadot 開發團隊的能力有目共睹,但是如果 Polkadot 如期上線,我還是會比較意外。Cosmos 雖然主網已經上線,但是 IBC 跨鏈協議還未實現,也是預計在今年年底實現。考慮到 Cosmos 的各種跳票已是家常便飯,如果年底 Cosmos Hub 就開始接受分區鏈接入,對我來說是也個很大的驚喜。但是希望大家理解,DApp 不一定要依賴跨鏈。應用鍊形態的 DApp 可以自己構成業務閉環,並且提供跟中心化互聯網應用類似的用戶體驗。因此我呼籲區塊鏈行業的創業者,不要再等待觀望,或者在智能合約平臺上繼續撞南牆。從現在開始認真考慮、積極準備採用應用鏈實現 DApp 創新。等到跨鏈技術落地,再接入到 Polkadot/Cosmos,融入 DApp 生態圈。

第二個現實障礙是應用鏈的開發者奇缺。由於 Substrate 和 Cosmos SDK 都是不久之前出現的新技術,而且 Substrate 開發使用比較小衆的 Rust 語言,因此國內具有實踐經驗的應用鏈技術團隊極少。目前用 Substrate 開發過產品的國內團隊,就我所知只有 ChainX 一家。而且應用鏈開發還面臨一個很大的難題,就是 Substrate 和 Cosmos SDK 應該選擇哪一個?兩個開發工具的開發語言不同,都有比較高的學習成本,而且未來對應的是兩個不同的 DApp 生態。一旦選定之後再更換,會造成資源投入和項目進度的重大損失。我比較過兩個開發工具,Substrate 比 Cosmos SDK 功能更完整更強大。所以最佳方案是 Substrate 能兼容 Cosmos,也就是用 Substrate 可以開發 Cosmos 分區鏈,形成統一的獨立於 Polkadot 的 Substrate 開發工具生態。Substrate 是開源軟件,採用模塊化的設計,把 Tendermint/IBC 封裝成可以被 Substrate 使用的協議組件,在技術上肯定是可行的。我和幾個做開發的朋友正在研究這個問題,也歡迎對此感興趣的同學加入進來。Substrate 是應用鏈開發的首選工具。

還有就是 DApp 的治理還沒有最佳實踐。前面也介紹了 Decred 等治理實踐以及遇到的問題。很有可能五年以後,DApp 創業者能夠找到很多成功的範例和失敗的教訓可資借鑑。但是現在,一切纔剛剛開始。只有幾條基本的原則是清楚的,首先就是 DApp 要長期成功,需要設計出長期激勵相容的機制。使開發者(項目方)、驗證人、服務提供商、用戶和投資者的長期利益一致,並且能夠約束各方追求自身短期利益、犧牲整體長期利益的行爲。

開發者應該鑽研技術和商業、建立並維繫社區,從長期幣價上漲和技術服務收入獲利。對於驗證人,他首先應該選擇真正具備交易成本優勢的 DApp,因爲驗證人是最長期的投資者,他不但要付出資金,還有付出很高的人工成本去參與 DApp 治理。因此陷入龐氏騙局或者資金盤,是專業的驗證人首先要避免的。決定參與 DApp 經濟體之後,驗證人應該積極參與治理,避免共謀,從長期幣價上漲和領權收益獲利。加密貨幣的投資者,這裏指長期價值投資者,不包括短期投機者、量化或者趨勢投資者,應該深入研究 DApp 的基本面,將通證委託給有治理能力的驗證人,並持續保持關注,通過長期幣價上漲和 Saking 獲利。另外,DApp 協議的服務提供商和用戶非常有可能作爲投資者甚至驗證人蔘與到 DApp 去中心化治理之中。

附註

利益相關:作者及所在機構當前不持有 DOT/ATOM/IRIS 通證。本文也不包含任何投資建議。 作者所在的 Random Capital 隨機資本,定位是 DApp 創業項目孵化基金。我們希望做長線投資,跟面向中國市場的去中心化應用共同成長,也希望與 DApp 平臺型公鏈項目、其他投資機構、專業節點運營商、錢包、媒體和社區等各類合作伙伴一起推動 DApp 生態走向繁榮。