撰文:Kyle Samani,Multicoin 聯合創始人
編譯:詹涓

我還沒有看到 Web3 堆棧的實際圖解,所以做了一次嘗試。考慮到 Web3 生態系統的擴展程度,我敢說,以下圖示肯定不完整,而且可能有一些不準確之處。

我將重點講講我從該圖中提煉出的一些最有趣的觀察結果。

鏈聞深度:Web3 堆棧全景剖析

核心堆棧

核心開發堆棧到底需要爲 DApp 開發人員提供什麼?

它必須爲有序且有效的交易提供單一、規範的分類賬。

P2P、共識和狀態轉換機器層共同提供這些功能。今天,以太坊和比特幣都只執行這些功能,儘管核心的以太坊協議最終將擴展至包括分片。

相對於圖表右側「可選組件」的團隊數量,圖表左側這些組件的團隊數量較少。從堆棧底部向上,包含了可選組件,不包括互聯網協議:

  • Oasis Labs 正在構建 Ekiden,這是一箇中立平臺,允許許多鏈支持基於可信執行環境 TEE 的非公開鏈下計算。
  • Handshake 正在構建去中心化 DNS。鑑於 DNS 的操作系統默認設置,獲得採用將非常困難。
  • Monero 正在構建 Kovri,以在節點之間實現保護隱私的數據包路由,從而保證 IP 等級的隱私包括。Kovri 正在建設中,以支持多個多個區塊鏈。
  • BloxRoute 正致力於開發一種可以跨各種區塊鏈的區塊交付網絡。
  • 以太坊基金會 創建了 DevP2P,Protocol Labs 創建了 LibP2P。大多數新鏈在採用這兩個框架中的一個,甚至出現了關於以太坊轉向 LibP2P 的謠言。
  • 以太坊Polkadot 正在開發全狀態分片。

有十幾個團隊在共識層進行實驗:

基於領導者的區塊鏈共識

  • 比特幣和比特幣現金 ——ASIC 優化的 PoW
  • 以太坊 1.0、門羅幣、Zcash、其他 ——抵禦 ASIC 的 PoW
  • Kadena ——braided POW
  • Chia ——空間和時間證明 PoST 和經過時間證明 PoET
  • Filecoin ——含有用數據的 PoST
  • 以太坊 2.0 ——Casper TFG 權益證明 POS
  • 迅雷 ——帶有 PoW 的 PoS
  • Decred ——混合 PoW/PoS
  • Polkadot ——Honeybadger POS
  • EOS ——委託股權證明 DPoS
  • Tezos ——另一種 DPoS 變體
  • Tendermint ——另一種 DPoS 變體
  • Solana ——歷史證明 PoH
  • Dfinity ——閾值中繼+概率插槽共識
  • Algorand ——與領導人選舉簽訂的拜占庭協議 BA⋆
  • 無領導 的區塊鏈共識
  • Ripple 共識協議
  • Stellar 共識議定書
  • Avalanche 共識協議
  • 有向無環圖 DAG
  • Byteball ——Byteball 主鏈共識
  • Hashgraph ——哈希圖共識議定
  • DAGlabs ——Spectre
  • Blink ——Blink 共識協議
  • Spacemesh ——委員會選擇的 PoST,然後是一種「快速+慢速」結合的共識

一些主要的狀態轉換機:

  • 以太坊虛擬機 EVM——以太坊 1.0、Ethermint、Hashgraph、WANchain 等
  • 網絡裝配虛擬機 WASM—— Dfinity、EOS、Polkadot、Ethereum 2.0
  • 直接 LLVM 曝光 ——Cardano、Solana
  • 自定義狀態轉換機
  • Kadena
  • Tezos
  • Rchain
  • Coda

這個列表提出了一個問題:相對於核心堆棧的其他層,爲什麼有那麼多團隊在共識層上工作?

顯而易見的答案是,因爲那兒有錢。

這自然會引出又一個問題:爲什麼所有的價值都在共識層產生?

共識層是區塊鏈中最大的瓶頸,共識方案受到基本權衡的限制。此外,共識方案是互斥的:單一鏈條不能同時採用兩種共識方案。世界領先的協議設計師認識到比特幣 PoW 的侷限性,並看到了建立龐大的全球數字儲備資產的機會,因此可以在一個價值數萬億的市場中理性競爭。

到目前爲止,可以順理成章地得出結論:鑑於可擴展性三難動態,沒有人能建立一個提供基本帕累託改進的共識算法。大多數在共識層進行創新的團隊基本上都是押注他們爲某些用例子集選擇了最佳權衡集。

如果一個團隊確實提出了代表帕累託改進的機制,我們何以知道呢?一個簡單的回答是,對去中心化區塊的出產量進行量化。Dfinity、Algorand、Solana 和其他團隊認爲這是可能的,不過 Vitalik 並不是這麼認爲。

共識算法是可以複製的。不過,雖然這在技術上是可管理的參見 Cosmos,它支持 EVM,執行 Tendermint 協議,但在政治上可能無法實現,因爲很難改變現有鏈上的共識算法,尤其是在具有緊密耦合的鏈式治理的系統中。鏈式治理越緊密聯繫,就越難以說服根深蒂固的利益改變(你試試說服 21 個 EOS 代表中的任何一個放棄其令人垂涎的地盤,以期建立更加去中心化、且性能不變的體系。這正是以太坊可以放棄 PoW 轉向 PoS)的原因,而原生 PoS 鏈不太可能願意做出類似規模的變化。

我們正在對核心堆棧的另一層,即狀態轉換機器層,進行大量實驗。沒有建立在 WASM 上的團隊,往往會對區塊鏈狀態轉換機器應該做什麼、不應該做什麼,存在非常針鋒相對的看法:

  • Kadena 認爲智能合約必須是人類可讀的。
  • Tezos 認爲所有智能合約必須經過正式驗證。
  • Rchain 認爲智能合約應該在 DApp 鏈中同時運行並得到正式驗證。
  • Coda 認爲一切都必須貫穿 SNARK,確保即使很小的節點也可以驗證鏈的完整性,從而在最大限度上保持永久去中心化的可能性。

對狀態轉換機器層進行觀察,最有趣的結果是:

  • 許多主要項目已就應用 WASM 達成共識,儘管事實上 WASM 從來無意於被區塊鏈使用;
  • Kadena、Tezos、Rchain 和 Coda 正在進行押寶的特質。

因爲加密貨幣中的所有內容都是開源的,所以可以考慮堆棧的每一層的網絡效應。例如,EVM 已達到臨界量,考慮到爲 EVM 構建的工具、開發人員教育、庫等,現在它還具有網絡效應。這正是爲什麼許多其他項目,包括 Hashgraph、Cosmos Ethermint、Wanchain、RSK、Blink 等,決定採用 EVM 的原因,儘管以太坊自身倒是很想擺脫 EVM。

在實踐中,我對狀態轉換機器可跨鏈移植的觀點持懷疑態度。就以 EVM 爲例,甚至連以太坊基金會都不想保留它。我的感覺是,開發人員通常不喜歡用 Solidity 寫代碼,他們這麼做,只是因爲 Solidity 是關於區塊生產和開源軟件開發的去中心化的以太坊理論。如果我的假設沒錯,那麼採用 EVM 的非以太坊區塊鏈將不會受益於「EVM 的網絡效應」。

而 WASM 的情況可能會有所不同。因爲大多數主要的加密團隊都希望站在構建和維護 WASM 的巨頭的肩膀上,可以猜想,或許存在着一種便攜式的跨鏈網絡效應,它圍繞 WASM 爲區塊鏈構建狀態轉換機。

如果圍繞 WASM 的這種網絡效應顯現出來,那麼開發獨家狀態轉換機的團隊將難以保持長期競爭力。

擴展的核心堆棧

有一些元素不是、也不應該是底層鏈的一部分,並且尚未被認爲對 DApp 的開發必不可少,但我相信它們將成爲開發堆棧的核心組件:

  • 許多團隊正在建造側鏈。比特幣中最值得注意的是 Drivechains 和 Liquid 。在以太坊體系中,最重要的是 Plasma 框架內的 SKALE ,以及作爲主權 DApp 鏈的 Cosmos Ethermint
  • 有許多團隊爲比特幣開發支付通道和狀態通道網絡,最着名的是 Lightning Labs 和 Blockstream 。在以太坊生態系統中,則有 Raiden 和 Celer 。許多人,尤其是比特幣社區內的人,都認爲這是唯一的擴容方法。
  • Interledger Protocol ILP 於幾個月前完成。相當多的團隊正在使用它來實現跨鏈互操作性。直到最近,包括我在內的大多數開發人員和投資者都沒有對 ILP 給予足夠的重視。然而,完全可以推測,ILP 將成爲 Web3 堆棧中最重要的層。
  • 據我所知, The Graph 是唯一一個爲以太坊構建去中心化查詢層的團隊。以前,在以太坊上構建 DApp 的每個團隊都必須構建一個專有的索引基礎架構。
  • BigchainDB、OrbitDB 和 Bluezelle 等許多團隊正在構建不可變的結構化數據庫 見 Web3 圖的右下角 作爲去許可的獨立鏈。鑑於使用結構化數據庫可以提升性能,觀察下開發人員是否會選擇原生地使用這些系統,或者像 SKALE 這樣的團隊是否會將這些開源系統作爲 Plasma 鏈,會很有意思。

通常,擴展的核心堆棧相比核心堆棧更加不成熟。基本上這些組件中沒有一個以任何有意義的規模生產。因此,DApp 開發人員暫時無法使用這些組件。

隨着擴展核心堆棧趨於成熟,我預計 DApp 開發速度將大幅提升。DApp 開發人員原本不應該考慮這些組件旨在解決的任何問題,但是鑑於堆棧的當前狀態,他們只能硬着頭皮構建自己的堆棧組件,說的好聽點,這種做法是低效的。

可選組件

現在存在着各種各樣的雲 API,從發送電子郵件 Sendgrid 到短信 Twilio 再到地圖(谷歌地圖),大量「去中心化庫」以可選去中心化組件的形式存在。其中每個都可以執行 DApp 開發人員能夠選擇的一組獨特功能。

在這些可選組件服務中,只有少數服務架設在主網上。其中一些例子包括:

Livepeer、0x、Kyber、Storj、Sia、Oraclize 和 Civic 。但是,構建這些組件的大多數團隊尚未發佈已生產就緒的工具。

這至少部分解釋了 DApp 匱乏的現狀:沒有有用的庫,就很難構建有用的 DApp。沒有可用的庫,每個 DApp 都必須從頭構建。

同樣有趣的是,大家認識到這些組件中的絕大部分都是爲以太坊生態系統而構建的。一些團隊,例如 KeepTruebit ,已經公開討論過支持 Dfinity 作爲跨鏈服務。但是,今天加密生態系統中正在開發的絕大多數基礎設施最少會支持 EVM,更寬泛一些的會支持以太坊生態系統。

在接下來的一年裏,隨着 EOS、Tezos、Kadena、Dfinity、Solana、Tari、Hashgraph 和其他公司推出並打磨他們的區塊鏈,他們要爭取贏得建立 DApp 基礎設施組件團隊的注意力。如今無縫支持跨鏈開發所需的工具並不存在,因此構建核心鏈的團隊需要競爭,來讓這些 DApp 基礎設施提供商支持各自的區塊鏈。

如上所述,像 WASM 這樣的狀態轉換機的網絡效應可能很大程度上可以跨鏈進行移植,如果沒有任何開發人員的努力,它們不太可能 100% 實現便攜。底層鏈團隊是否可以實現基礎設施跨鏈移植,以吸引構建以太坊生態的第一批基礎設施開發人員,這一點值得拭目以待。

堆棧的頂部

在大多數堆棧圖中,應用程序是堆棧的頂部。但基本上所有加密開發都是以後端爲重點,而不是前端。因此,有一些元素存在於 Web3 堆棧中的 DApp 之上。

有趣的是,加密貨幣圈裏幾乎沒有人在談論去中心化應用程序的託管。這一點特別讓人好奇,因爲今天的每一個 DApp 上,這一層都中心化的,要麼是因爲託管應用程序的網絡服務器是中心化的,要以是因爲有一個下載鏈接來下載應用程序並將其安裝在客戶端設備上,這將生態系統推回到帶圍牆的花園 walled-garden 模型,該模型是中心化的。在理想的世界中,應用程序主機可以既能去中心化、又能實現實時傳遞。

爲什麼基本上沒看到針對去中心化應用程序託管的解決方案?我可以確定有兩個原因:要麼就是該層是否去中心化無關緊要,要麼就是這個問題太難,所有沒人願意着手去解決。我懷疑答案兩種原因兼而有之。

在任何 DApp 中,只要數據庫和資產存儲充分去中心化,應用程序主機是否集中就無關緊要。如果政府通過關閉應用程序主機來審查 DApp,DApp 作者可以開源前端代碼,並讓其他人啓動一個新的主機,爲同一個後端提供門戶。這可能會像 2000 年代的種子追蹤者那樣發揮作用:關掉一個,會突然冒出五個。

但是,如果你可以讓應用程序主機實現去中心化呢?由 Ripple 發起的開源項目 Codius 試圖在 2015 年做到這一點,可是之後 Ripple 不再爲其分配資源。最近,Ripple 的前首席技術官 Stefan Thomas 離開這家公司,創立了 Cilus ,打算藉着 Codius 打下的底子繼續開發。看看堆棧的這一層在實踐中如何工作,考察它集成到現有 DNS 中的意義 假定現有 DNS 是集中的、可信的應用程序主機,將會很有趣。

最後,堆棧的頂部是最終用戶實際與之交互的內容:DApp 瀏覽器。這包括用於以太坊的 Metamask、Toshi ,以及用於 EOS 的 Scatter

第 2 層擴展解決方案

我已經在本文中涉及了這些層,但我認爲值得放在可擴展區塊鏈的上下文中重新審視它們。

首先是分片。基於以太坊和 Polkadot 團隊所面臨的挫折,分片似乎是在技術上最具挑戰性的擴容解決方案。即使它有效,也不清楚會有多少人希望它能成爲聖盃,我個人也對它持懷疑態度。分片的最大問題是跨分片延遲,放在以太坊中,這個延遲可能是幾分鐘。這可能會嚴重限制實際設置中分片的功效。此外,分片會產生各種下游問題,例如:客戶端可能不知道根據用戶查詢,需要讀取哪個分。

第 2 層擴容解決方案,包括側鏈、支付和狀態通道網絡以及 ILP,會遇到相同的問題。隨着側鏈激增,如果用戶忘記了自己的資產存放在哪個鏈時,事情就會變得一團糟。支付和狀態通道網絡存在嚴重的延遲問題,而且圍繞着流動性路由、資金傳輸和隱私等方面,各種新問題也將層出不窮。比特幣作爲儲藏價值型區塊鏈,出塊時間爲 10 分鐘,相比之下,ILP 將面臨真正的延遲挑戰。

設想一下,如果某個用戶在一個分片的支付通道中有資金,並且希望將這些資產移動到不同分片上的側鏈中,這一切將會多麼混亂。

在情況清晰之前,恐怕事情先會變得更加混亂。

## 未來會怎樣?

也許 Web3 堆棧中最迷人的部分就是堆棧本身的去中心化程度。

大多數傳統的應用程序開發堆棧,比如 Windows、iOS、Android,幾乎完全是中心化的,只有少數第三方開發者庫和服務已達到臨界量。這與 Web3 堆棧形成鮮明對比,Web3 堆棧由全球數百個團隊同時構建!雖然從理論上講,構建 DApp 時不需要任何超出核心以太坊協議提供的東西,但實際上 DApp 開發人員需要以太網基金會沒有也不會構建的各種工具。加密貨幣是開源合作的巔峯之作,這就是最重要的證據。

考慮到大量 Web3 堆棧仍處於開發階段,DApp 應用現在非常糟糕也就不足爲奇了:今天的 Web3 堆棧狀態幾乎不可能構建可用的 DApp。像許多其他技術一樣,Web3 堆棧將緩慢前進,在超過某個引爆點後迅速發展。

在 Web3 堆棧實現某種程度的可用性、穩定性和功能完整性之後不久,DApp 革命就會發生。

不過,我懷疑,這將是兩三年後的事情。

本文已獲得 Kyle Samani 授權,由鏈聞刊發中文翻譯。