區塊鏈應用從單層的拓撲圖模型變爲用戶和節點分離的雙層模型,在不遠的將來可能會演變爲一個三層模型。

原文標題:《共識的變遷,區塊鏈應用範式進化之旅》
撰文:outprog

09 年比特幣誕生,開啓了區塊鏈紀元。在一個分佈式的網絡中,所有節點對一個難題進行計算,先到先得(先算出先得),最先解決難題的機器獲得比特幣獎勵。在無限多的難題計算過程中,產生一條永遠不可僞造的數據鏈,而鏈上記錄的轉賬信息,刻畫在鏈上的客觀標誌,在人們的共識推動下產生了巨大的價值。這種不可僞造的賬本,後來稱爲區塊鏈,對使用了幾千年的賬本進行了徹底的革新。

下文會探討近幾年區塊鏈領域的共識的變遷,區塊鏈應用方式的變化,以及我們爲什麼可以通過存儲計算範式構建一種全新的可信應用。

絕對的去中心化

比特幣原教主義者,堅信絕對的去中心化。比特幣的網絡就像著名科幻電影《終結者》裏的天網,是一種運行在全球的網絡,無數服務器上的賬本,同天網一樣,想要關閉它或許只有毀滅整個網絡。這種 P2P 節點網路具備去中心化的特性,不由任何國家和機構控制。

從共識機制談起,探討區塊鏈應用範式的變遷

絕對的去中心化要求用戶自己驗證所有的交易。早期我們在 PC 上安裝一個比特幣錢包需要花數小時甚至數天的時間才能同步整個網絡,只有等待同步完成後才能進行轉賬操作。當我們的個人電腦離線或者關閉導致錢包長時間離線,下一次進行任何操作前還需要繼續同步數據,直到所有數據完全更新後才能進行新的交易。這樣的體驗對於絕大數用戶是無法接受的。

人們總是需要同步和驗證所有交易,才能獲得絕對的去中心化信任。

信任錢包服務商

隨着 17 年 ICO 火爆,以太坊將區塊鏈帶入一個全新的高度。新用戶湧入,以太坊官方的 Mist 錢包(同比特幣一樣需要下載數天驗證所有交易)已經很難滿足用戶的需求。imToken 順勢而出,構建了一種更易於使用的 API 錢包。

用戶不需要再去做長時間的數據同步,下載應用開箱即用。區塊鏈節點由錢包服務商提供,用戶的私鑰還是保存在個人的手機上。用戶通過 API 訪問服務商的節點,在手機上進行交易簽名,並將交易發送到服務商的鏈節點。

API 錢包的另一個典範是 MetaMask,從 18 年到 20 年 DeFi 崛起的過程中起到了至關重要的作用。瀏覽器插件錢包也是開箱即用,配合全新的以太坊基礎設施 infura,讓用戶跳過賬本驗證直接使用 DeFi。從 Uniswap 兌換,Compound 借貸,到 20 年中旬開始風靡幣圈的流動性挖礦,MetaMask 都是用戶必備的 DeFi 利器。

然而在體驗 DeFi 的爽快過程中,或許已經遺失了一些對共識的根本看法。在使用 API 錢包的過程中,用戶並沒有驗證每一筆區塊鏈交易,而是信任服務商部署的節點。絕對去中心化已經被拋棄,用戶體驗佔了上風。以太坊官方錢包 Mist 甚至沒有堅持到 DeFi 爆發就早早宣佈停止更新。

雖然絕對的去中心化(用戶獨立驗證賬本)逐漸的從歷史舞臺褪去,但是去中心化共識並未減弱。隨着用戶門檻的降低,帶來了 DeFi 的繁榮崛起,整個區塊鏈的故事更加的深入人心。其本質在於不管我們是使用 imToken 或者 MetaMask,縱然背後是內部節點,用戶沒有去校驗賬本,但用戶交易一旦打包到鏈上,就可用通過成千上萬的其他區塊鏈節點進行保障。這種客觀事實不是由一家服務商或者一箇中心化的雲服務所能改變。對於一家中心化服務商而言,可以騙用戶一時,但騙不了用戶一世。用戶交易的客觀事實已經打包在了廣大的區塊鏈節點網絡中,無法被篡改和僞造。

客觀事實和數據呈現

Compound 是運行在以太坊這臺世界計算機上的金融借貸應用,Compound 的每一筆交易都會被成千上萬的以太坊節點進行計算,以保障 Compound 借貸業務的客觀事實。但是不管是用戶和服務商,都不能直接從鏈上獲取到借貸業務的收益利率。借貸的事實一直在發生,所產生的年化收益率卻需要對鏈上數據額外統計才能得出。事實客觀存在,而用戶的決策依據是事實所演算的表象數據。此時客觀事實和數據呈現是信任是分離的。

回到比特幣原教主義的視角,當且僅當用戶使用全節點或者 SPV 錢包對每一筆交易進行過校驗後,用戶所獲取的數據呈現才具備完全的去中心化可信。而使用 imToken/MetaMask 這樣的 API 錢包的時,用戶是在向 infura 或者其他服務商所請求餘額信息,這種餘額信息本質上也僅是一種數據呈現,和 Compound 的收益利率沒有本質區別。

Compound 的收益利率是在官方的中心化服務器上通過鏈上數據進行運算的結果(通常使用以太坊 event log 進行計算)。同時,用戶向 infura 或者其他服務商請求的餘額,也是中心化服務器的以太坊程序運算產生的狀態。特別的注意在中心化服務器上以太坊節點也是一個普通的應用程序可以被修改和調整。因此,不論是使用太坊節點 API 獲得的數據,還是對節點數據進行的二次加工產的新數據,都不能提供完全去中心化的信任。服務商的服務器完全可以修改以太坊節點和任意定製統計程序。可見,在用戶不自行進行所有交易校驗時,客觀事實和數據呈現必然產生二元分離的情形。用戶通過服務商獲得的數據都是一種對客觀事實的二次陳述。

想要獲取絕對客觀事實,用戶必須自行驗證所有交易,自行統計數據。這種絕對去中心化可信模式,由於用戶門檻過高在現實場景中難以適用,成爲一種理想主義。

區塊鏈應用範式的變遷

隨着以太坊官方錢包 Mist 的失敗,整個共識已經潛移默化的改變:用戶不再自行驗證交易,而是使用 infura 或者應用服務商的鏈節點進行交易。這時其實已經將信任完全交予服務商。

用戶對共識的認知正在逐步的改變。改變的根源之一是區塊鏈的用戶羣體的變化,原教主義者們不斷的迎來了新的區塊鏈用戶。這些新用戶從未自行部署過節點和 SPV 錢包,用戶的需求不是去中心化信任,而是簡單易用的代幣轉賬和高收益的 DeFi 應用。關於去中心化的願景,從要求自主獲得絕對客觀事實轉變爲依賴服務商提供事實的二次陳述。變遷過程如下圖所示,從一個單層的拓撲圖模型變爲雙層模型,在不遠的將來可能會演變爲一個三層的模型。

從共識機制談起,探討區塊鏈應用範式的變遷

圖 1 是絕對去中心化模型,用戶的客戶端和節點處於同一個層級,用戶會去同步節點並驗證所有的交易。該模型下用戶體驗極差。

從 17 年 ICO 後,imToken/MetaMask 崛起,爲了解決急劇膨脹的用戶需求,我們進入了圖 2 的雙層模型時代。用戶不再驗證交易,節點完全由服務商運維和部署。用戶僅將簽名後的數據發送給服務商,由服務商的節點進行交易處理。此時用戶體驗有所提升,用戶不再進行痛苦的交易同步和驗證。

圖 3 的三層模型,會將用戶完全和區塊鏈進行解耦,這個模型下用戶完全不再接觸鏈,包括用戶簽名的交易也不再發送到鏈節點。服務商的可信由各種區塊鏈來提供,用戶的交易也完全由應用方進行處理。三層模型帶來最大的好處是爲用戶互聯網級的體驗,這裏包括互聯網級別的 TPS 和可信的互聯網賬戶。

整個變遷的過程是用戶體驗的提升,從難用到可用,最後到易用

進化到三層模型

其實我們當前的 DeFi 應用,已經不是一個純粹的雙層模型,而是一個 2.5 層的模型。

用戶在使用 DeFi 的過程中,大部分的數據都不是從節點上原生輸出,已經通過中心化的服務器進行統計所呈現。區塊鏈僅提供了一個結算功能,而部署在服務商的節點也是完全可以修改程序和僞造數據。

我們可以假設兩種攻擊:

  1. 具有誤導性的數據呈現+真實節點。服務商提供了真實的節點,但是呈現的利率、匯率或者其他信息是被修改過的,誘導用戶去進行鏈上操作。交易還是在鏈上真實成交,但是交易的事實結果和數據呈現有一定的差距,比如顯示的年化收益率是 10%,實際卻只有 9%;兌換的匯率是 256,實際成交是 250。
  2. 完全虛假的節點,直接導致用戶的轉賬、DeFi 結果都是虛假的。

爲了避免這兩種攻擊,用戶不得不自行運行節點和進行數據統計。然而這些對用戶都非常困難,此時用戶只能信賴這種數據呈現,或者通過其他第三方進行數據覈驗。現實中的例子是,通過 imToken/MetaMask 使用 DeFi 時,我們總是需要去 etherscan 進行交易覈查。

服務商在開發應用時,絕對去中心化的信任會傳導到應用上。用戶信賴的是服務商,也可以通過其他第三方服務商進行交易覈驗以獲得更高的可信。不管怎麼樣,用戶的信任已經和區塊鏈的去中心化信任形成割裂。總結如下,我們現在可以把信任分爲兩種:

  1. 絕對可信:不信任任何人,自行驗證區塊鏈所有交易,獲得完全去中心化的賬本
  2. 相對可信:信任服務商,通過服務商獲得賬本的數據呈現,使用其他多個服務商的數據進行交易對照

從共識機制談起,探討區塊鏈應用範式的變遷

左圖是雙層模型的延展,用戶和服務商的節點進行交互,同時使用服務商統計的數據呈現。對於用戶而言,是處在一個相對可信的環境,服務商提供的節點,並不一定是真實的節點,用戶需要去第三方進行覈對或者自行進行驗證。

在雙層模型中,用戶還會直接接觸鏈節點,向節點發起交易。右圖是三層模型,用戶、服務商、鏈節點三層分離,用戶完全不再接觸鏈節點。服務商提供基於存儲的可信計算,此時通過鏈下程序處理用戶的交易。雖然交易是由鏈下的程序處理,但是程序的所有處理過程都會通過區塊鏈進行保障(基於 Arweave 的存儲計算範式),因此鏈下計算也完全是可以通過第三方或者自行進行驗證。

存儲計算範式:將確定性的程序開源或者上傳到鏈上,程序完全在鏈下運算,所有輸入都會發送到存儲型區塊鏈進行保存,數據一旦打包就具備順序(時序)。任何第三方可以運行程序,程序會加載鏈上的事實數據,生成事實狀態。

不管是雙層、2.5 層還是三層模型,用戶都只能獲得相對可信,絕對可信僅與服務商有關係。只要用戶不自行驗證所有交易,就無法做到完全去信任化。

在三層模型中,我們可以構建全新的 Compound,這樣的 Compound 不需要再使用 EVM 鏈上計算模型,只需要保證程序可信,數據可信,那麼應用運行的客觀事實就絕對存在。在三層模型的架構中,不僅僅年化收益鏈下計算,每筆交易產生餘額狀態也通過在鏈下計算並呈現。將雙層模型改進到三層模型,不會改變客觀事實,同時用戶的相對可信環境並沒有任何變化。而交易上鍊後的客觀事實,由區塊鏈技術進行支撐。

三層模型的優勢

爲什麼要建立一個三層的計算模型將用戶和區塊鏈完全隔離?

鏈具有太多的限制,很難滿足普通用戶的低門檻需求。區塊鏈的 TPS 有太多限制,昂貴的礦工費,私鑰助記詞管理等,都讓普通用戶難以接受。區塊鏈在獲得絕對去中心化的目標後,損耗了大量的易用性。

從共識機制談起,探討區塊鏈應用範式的變遷

使用三層模型構建的應用,區塊鏈節點會爲應用進行可信賦能,應用開發可以獲得極大的靈活性,爲用戶提供極致的易用性。

  • 可組合性:使用存儲計算範式不損耗組合性,任何應用都可以直接通過 API 進行交互。應用產生的交易打包到區塊鏈後,都會成爲客觀事實不可篡改,並且可以驗證。兩個相互信任的應用如果在 API 實時交互的過程中出現了虛假交易,這些虛假交易後續產生的所有交易都可以被檢測到並進行回滾,這是一種鏈下回滾,或者說是將錯誤的賬目衝正,讓鏈下程序和區塊鏈的事實保持一致。

  • 開發門檻低:只要將傳統應用開源並將交易打包到區塊鏈上,即可讓應用獲得透明可信,並可由第三方進行驗證。此時開發沒有任何的語言限制,僅需使用這個範式思想即可。

  • 無性能限制:鏈下程序的性能,僅取決於部署程序的機器和開發團隊的能力。

  • 共識成本極低:將共識的成本縮減到區塊鏈存儲的成本,使用 Arweave 進行交易存儲,1 美金可以進行近百萬筆交易。

劣勢

主要損失了去准入:應用由一箇中心化服務商實現和部署,服務商可以過濾以及審查用戶的交易。同時單點的服務故障可能導致服務暫停。

不過任何人都無法損害賬本的客觀事實,事實程序加上由用戶進行簽名的每一筆交易都會印證在區塊鏈上,成爲可驗證的事實狀態。

結語

共識的最低成本,就是存儲成本。通過區塊鏈不可僞造、可追溯的特性,我們可以保存事實程序和事實數據,它們運行的結果一定是真實客觀存在並且不可篡改的。至於計算,其實不在事實範疇內,因爲不論計算是否已經發生,客觀的事實並不會改變。可驗證性是整個區塊鏈共識和可信的關鍵。任何人都可以去驗證那些不可篡改的客觀事實,是所有信任的根基。

存儲計算範式所提供的可驗證信,爲多方之間建立了信任的橋樑,可驗證的透明賬本徹底革新了傳統賬本技術,解決了傳統賬本(契約)在生產關係協調過程中產生的種種矛盾和糾紛。

賬本是人類協作的關鍵要素,每個人、每個機構的賬本相互組合促成了當今社會的協作和分工。區塊鏈作爲一種革命性的事實機器,會徹底改變基於賬本構建的信任體制,讓信任更易於達成,讓價值無界流動。