DApp需要什麼?Web3應用程式開發堆棧全景剖析

關於Web3堆棧和區塊鏈生態的全景圖解,以及前瞻性觀察。

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

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

DApp需要什麼?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 的開發必不可少,但我相信它們將成為開發堆棧的核心組件:

許多團隊正在建造側鏈。比特幣中最值得注意的是DrivechainsLiquid。在以太坊體系中,最重要的是Plasma框架內的SKALE,以及作為主權DApp鏈的Cosmos Ethermint

有許多團隊為比特幣開發支付通道和狀態通道網絡,最著名的是Lightning LabsBlockstream。在以太坊生態系統中,則有RaidenCeler。許多人,尤其是比特幣社區內的人,都認為這是唯一的擴容方法。

Interledger Protocol(ILP)於幾個月前完成。相當多的團隊正在使用它來實現跨鏈互操作性。直到最近,包括我在內的大多數開發人員和投資者都沒有對ILP給予足夠的重視。然而,完全可以推測,ILP將成為Web3堆棧中最重要的層。

據我所知,The Graph是唯一一個為以太坊構建去中心化查詢層的團隊。以前,在以太坊上構建 DApp 的每個團隊都必須構建一個專有的索引基礎架構。

BigchainDBOrbitDBBluezelle 等許多團隊正在構建不可變的結構化數據庫(見 Web3圖的右下角)作為去許可的獨立鏈。鑑於使用結構化數據庫可以提升性能,觀察下開發人員是否會選擇原生地使用這些系統,或者像SKALE這樣的團隊是否會將這些開源系統作為 plasma鏈,會很有意思。

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

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

可選組件

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

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

Livepeer0xKyberStorjSiaOraclizeCivic。但是,構建這些組件的大多數團隊尚未發佈已生產就緒的工具。

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

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

在接下來的一年裡,隨著EOSTezosKadenaDfinitySolanaTariHashgraph和其他公司推出並打磨他們的區塊鏈,他們要爭取贏得建立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瀏覽器。這包括用於以太坊的MetamaskToshi,以及用於EOS的Scatter

第 2 層擴展解決方案

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

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

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

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

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

未來會怎樣?

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

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

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

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

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


分享到:


相關文章: