2018年7月10日由KYLE SAMANI@ Multicoin Capital發(fā)表,翻譯 Effe
到目前為止我還沒有看到任何一張Web3 Stack的堆棧圖,所以我嘗試著描繪了一張。考慮到Web3生態(tài)系統(tǒng)的擴展速度,這個圖幾乎肯定是不完整的,并且可能有一些不準(zhǔn)確之處。
本文的其余部分,我將重點介紹我從該圖中提取的一些有趣的觀察結(jié)果。

The Core Stack
開發(fā)人員正在開發(fā)的Core Stack,真正需要為dapp開發(fā)人員提供什么?
它必須提供一個唯一的、權(quán)威的賬本,這個賬本按照順序記錄了所有的有效交易。
“P2P”層、“共識”層和“狀態(tài)機”層共同提供這些功能。今天,Ethereum和比特幣都只提供這些功能,雖然Ethereum核心協(xié)議最終將包括“分片”。
相對于構(gòu)建圖右側(cè)的可選組件的團隊數(shù)量,有較少的團隊在圖的左側(cè)構(gòu)建組件。排除“IP協(xié)議”層,我們從堆棧的底部向上看(包括可選組件):
Oasis Labs正在構(gòu)建Ekiden,這是一個中立的平臺,允許多鏈支持基于TEE的、隱私的、鏈下的計算。
Handshake(沒有鏈接)正在建立去中心化的DNS。鑒于操作系統(tǒng)自帶DNS,獲得采用將非常困難。
Monero正在構(gòu)建Kovri,以在節(jié)點之間實現(xiàn)保護隱私的數(shù)據(jù)包路由,從而保證IP級別的隱私。Kovri將支持多鏈。
BloxRoute正致力于“與鏈無關(guān)”的區(qū)塊交付網(wǎng)絡(luò)。
Ethereum基金會開發(fā)了DevP2P,Protocol?Labs開發(fā)了LibP2P。大多數(shù)新的區(qū)塊鏈正在采用這兩個框架中的一個,甚至有關(guān)于Ethereum將轉(zhuǎn)向LibP2P的傳言。
Ethereum和Polkadot正致力于“全狀態(tài)分片”。
有超過十二個團隊在“共識層”進行實驗:
基于領(lǐng)導(dǎo)者的區(qū)塊鏈共識
BTC和BCH- ASIC-optimized? ? ? proof of work (POW)
Ethereum1.0、Monero、Zcash、及其他- ASIC-resistant? ? ? POW
Kadena–? ? ? braided POW
Chia-? ? ? proof of space and time (POST) and proof of elapsed time (POET)
Filecoin-? ? ? POST with useful data
Ethereum2.0? ? ? - Casper TFG POS
Thunder-? ? ? POS with POW fallback
Decred?-? ? ? ? hybrid POW/POS 混合POW/POS
Polkadot-? ? ? Honeybadger POS
EOS?-? ? ?delegated proof of stake(DPOS)
Tezos?-? ? ?另一種DPOS變體
Tendermint?-? ? ?另一種DPOS變體
Solana?-? ? ?proof of history(POH)
Dfinity-? ? ? threshold relay? + probabilistic? ? ? slot consensus(閾值中繼+概率槽共識)
Algorand?-? ? ?byzantine agreement with leader election (BA?)
無領(lǐng)袖的區(qū)塊鏈共識
區(qū)塊有向無環(huán)圖(Block? DAG)
Byteball?-? ? ?Byteball主鏈共識
Hashgraph?-? ? ?Hashgrah共識協(xié)議
DAGlabs?- Spectre
Blink?-? ? Blink共識協(xié)議
Spacemesh?–? ? ?用于選擇委員會的POST,然后是tortoise + hare
有一些主要的狀態(tài)機:
Ethereum虛擬機(EVM) - Ethereum1.0,Ethermint,Hashgraph,WANchain,及其他
Web Assembly Virtual Machine(WASM)-Dfinity,EOS,Polkadot,Ethereum? ? ? 2.0
Direct? LLVM exposure -Cardano、Solana
自定義狀態(tài)機
從這個列表可以看出一個問題:相對于核心Stack的其他層,為什么有那么多團隊在“共識層”上工作?
顯而易見的答案是因為:錢在這里。
這自然會導(dǎo)致一個問題:為什么所有的價值都會在“共識層”產(chǎn)生?
“共識層”是區(qū)塊鏈中最大的瓶頸,共識方案受到基本權(quán)衡的限制(不可能三角)。此外,共識方案是相互排斥的:單一區(qū)塊鏈不能同時采用兩種共識方案。全球的協(xié)議設(shè)計領(lǐng)導(dǎo)者們承認(rèn)比特幣POW的限制,并看到建立一個巨大的全球數(shù)字儲備資產(chǎn)的機會,于是在這個價值數(shù)十萬億美元的市場中展開競爭。
到目前為止,可以這樣認(rèn)為:鑒于“不可能三角”問題,尚沒有任何一個團隊建立了能夠提供基本“帕累托改進”的共識算法。大多數(shù)在共識層進行創(chuàng)新的團隊僅僅是為某些應(yīng)用子集選擇了“最佳權(quán)衡”。
如果一個團隊確實提出了代表“帕累托改進”的機制,我們怎么能確定呢?簡單的答案是在一個給定的去中心化的區(qū)塊生產(chǎn)水平上,來對吞吐量進行量化。Dfinity,Algorand,Solana和其他團隊認(rèn)為這是可能的,盡管Vitalik?不這樣認(rèn)為。
共識算法是可以復(fù)制的:雖然這在技術(shù)上是可管理的(參見Cosmos的具有EVM 的Tendermint共識算法),但在政治上可能無法實現(xiàn)(改變區(qū)塊鏈上已有的共識算法),尤其是在具有“緊耦合”的“鏈上治理”的系統(tǒng)中。越是緊耦合的鏈上治理,就越難以說服根深蒂固的利益發(fā)生改變(比如試圖說服21個EOS區(qū)塊生產(chǎn)商中的一個放棄他們的一些既得利益,以獲得提供同等性能的更去中心化的理論體系)。這正是Ethereum可以放棄POW轉(zhuǎn)向POS的原因(不是緊耦合的鏈上治理),而原生POS區(qū)塊鏈不太可能愿意做出類似模式的變化。
核心Stack的另一層我們正在進行相當(dāng)多的實驗,即“狀態(tài)機層”。那些沒有使用WASM的團隊傾向于對區(qū)塊鏈狀態(tài)機應(yīng)該和不應(yīng)該做什么有非常尖銳的看法:
Kadena認(rèn)為智能合約必須是可讀的。
Tezos認(rèn)為所有智能合約都必須經(jīng)過正式驗證。
Rchain認(rèn)為智能合約應(yīng)該“跨DAPP鏈”同時運行并正式驗證。
Coda認(rèn)為一切都必須貫穿SNARKs,以確保即使很小的節(jié)點也可以驗證鏈的完整性,從而最大限度地保持永久的最大去中心化的可能性。
狀態(tài)機層最有趣的觀察結(jié)果是:1)許多主要項目已達成共識以使用WASM(盡管事實上WASM?從未打算被區(qū)塊鏈?zhǔn)褂?/a>);?2)Kadena,Tezos,Rchain和Coda正在下的“賭注”的特殊程度。
因為加密網(wǎng)絡(luò)中的所有內(nèi)容都是開源的,所以可以考慮Stack的每一層都具有網(wǎng)絡(luò)效應(yīng)。例如,EVM已達到使用規(guī)模的臨界值,并且由于為EVM構(gòu)建的工具,開發(fā)人員教育,知識庫等,現(xiàn)在EVM已經(jīng)具有網(wǎng)絡(luò)效應(yīng)。這正是為什么許多其他項目--Hashgraph,Cosmos Ethermint,Wanchain,RSK,Blink及其他項目 - 決定采用EVM,盡管Ethereum本身想要離開EVM!
在實踐中,我對狀態(tài)機可跨鏈移植的觀點持懷疑態(tài)度。以EVM為例,甚至Ethereum基金會都不想保留它。我的感覺是,開發(fā)人員通常不希望用Solidity編程,而他們這樣做只是因為他們是Ethereum區(qū)塊去中心化生產(chǎn)和軟件開源開發(fā)的理念擁護者。如果我的假設(shè)是正確的,采用EVM的非Ethereum鏈將不會受益于“EVM的網(wǎng)絡(luò)效應(yīng)”。
但是,WASM的情況可能會有所不同。因為大多數(shù)主要的加密項目團隊都希望站在WASM?這個巨人肩膀上,實際上可能存在一種可移植的、跨鏈的網(wǎng)絡(luò)效應(yīng),使得圍繞WASM來構(gòu)建區(qū)塊鏈的狀態(tài)機。
如果圍繞WASM的這種網(wǎng)絡(luò)效應(yīng)表現(xiàn)出來,那么開發(fā)獨特的狀態(tài)機的團隊將難以展開競爭。
The Extended Core Stack
有一些元素不是也不應(yīng)該是基礎(chǔ)鏈的一部分,并且尚未被認(rèn)為對于dapp的開發(fā)是必不可少的:但我相信它將成為Stack的核心組件。我們從下往上看Stack:
許多團隊正在開發(fā)側(cè)鏈。比特幣中最值得注意的是drivechains和Liquid。在Ethereum中,最重要的是Plasma框架內(nèi)的SKALE,而CosmosEthermint區(qū)塊鏈則作為自主管理的DAPP鏈。
在比特幣中有許多團隊致力于“支付隧道Payment
? ? Channel”和“狀態(tài)隧道State Channel”網(wǎng)絡(luò),最著名的是Lightning Labs和Blockstream。在Ethereum生態(tài)系統(tǒng)中,他們是Raiden和Celer。許多人,尤其是比特幣社區(qū)內(nèi)的人,都認(rèn)為這種方法是唯一能實現(xiàn)可擴展性的方法。
Interledger協(xié)議(ILP)幾個月前完成。相當(dāng)多的團隊正在使用它來實現(xiàn)跨鏈互操作性。直到最近,包括我在內(nèi)的大多數(shù)開發(fā)者和投資者都沒有對ILP給予足夠的重視。然而,有充分的理由可以認(rèn)為ILP會成為Web3
? ? Stack中最重要的層(類似于此),因為價值會匯集到像BTC這樣的安全鏈,而商業(yè)行為則會更多的發(fā)生在像Ethereum這樣的功能鏈上。
據(jù)我所知,The Graph是唯一一個為Ethereum構(gòu)建去中心化查詢層的團隊。以前,在Ethereum上建立dapps的每個團隊都必須構(gòu)建一個專有的索引基礎(chǔ)架構(gòu)。
BigchainDB,OrbitDB和Bluezelle等許多團隊正在構(gòu)建不可篡改的結(jié)構(gòu)化數(shù)據(jù)庫(Web3圖的右下角)作為無需許可的、獨立的區(qū)塊鏈。鑒于使用結(jié)構(gòu)化數(shù)據(jù)庫可以帶來性能提升,我們將繼續(xù)觀察看看開發(fā)人員是否從一開始就選擇使用這些系統(tǒng),還是像SKALE這樣的團隊把這些開源系統(tǒng)作為Plasma側(cè)鏈來實現(xiàn)。
總體上來說,The Extended Core Stack比The Core Stack更不成熟?;旧?,這些組件中沒有任何一個已經(jīng)有了規(guī)模化應(yīng)用。因此,dapp開發(fā)人員暫時無法使用這些組件。
隨著The Extended Core
Stack的成熟,我預(yù)計dapp的開發(fā)速度將大幅提升。正常來講Dapp開發(fā)人員不應(yīng)該考慮這些組件旨在解決的任何問題,但是考慮到Stack的當(dāng)前狀態(tài),他們不得不自己構(gòu)建這些Stack組件。這是非常低效的。
可選組件
正如有各種各樣的Cloud APIs一樣,從發(fā)送emails(Sendgrid)到SMS(Twilio)到mapping(谷歌地圖)等,將會有大量“去中心化庫”以可選的去中心化組件的形式存在。其中每個都將實現(xiàn)一組特定功能,并且供dapp的開發(fā)人員選擇和采用。
這些可選組件服務(wù)中只有少數(shù)已經(jīng)上線,如:Livepeer,0x,Kyber,Storj,Sia,Oraclize和Civic。大多數(shù)團隊尚未發(fā)布能用于生產(chǎn)的工具。
這至少部分地解釋了缺乏dapps的原因:如果沒有可用的“庫”,很難構(gòu)建有用的dapps。沒有可用的“庫”,每個dapp都必須重新發(fā)明“輪子”。
同樣有趣的是,人們發(fā)現(xiàn)這些組件中的絕大部分都是為Ethereum生態(tài)系統(tǒng)而構(gòu)建的。雖然有一些團隊,例如Keep和Truebit,已經(jīng)公開討論過支持Dfinity以提供跨鏈服務(wù),但是現(xiàn)在加密生態(tài)系統(tǒng)中的絕大多數(shù)基礎(chǔ)設(shè)施僅僅是為了支持EVM,或者支持Ethereum生態(tài)系統(tǒng)而構(gòu)建的。
在接下來的一年里,隨著EOS,Tezos,Kadena,Dfinity,Solana,Tari,Hashgraph和其他團隊發(fā)布和成熟他們的區(qū)塊鏈(圖),他們將爭奪建立dapp基礎(chǔ)設(shè)施組件的團隊的注意力。當(dāng)今,那些能無縫支持跨鏈開發(fā)所需的工具當(dāng)然不存在,因此構(gòu)建核心鏈的團隊需要競爭以使這些“dapp基礎(chǔ)設(shè)施提供商”支持其各自的鏈。
如上所述,像WASM這樣的狀態(tài)機的網(wǎng)絡(luò)效應(yīng)可能很大程度上可以跨鏈進行移植,但前提是必須經(jīng)過開發(fā)人員的努力,否則它不太可能100%可移植。
這將會很有趣:是否能在自己的基礎(chǔ)鏈上實現(xiàn)無縫地跨鏈移植“dapp基礎(chǔ)設(shè)施”,從而吸引業(yè)內(nèi)的第一波,同時也是為Ethereum生態(tài)工作的“dapp基礎(chǔ)設(shè)施”開發(fā)人員支持自己的基礎(chǔ)鏈。
Stack的頂部
在大多數(shù)Stack圖中,dapp是Stack的頂部。但基本上所有加密項目開發(fā)都是以后端為重點,而不是前端。因此,有一些組件存在于Web3 Stack中的dapp之上。
有趣的是,在加密網(wǎng)絡(luò)領(lǐng)域幾乎沒有人在談?wù)撊ブ行幕摹皯?yīng)用程序托管”(Hosting)。這特別有趣,因為現(xiàn)在基本上每一個dapp的這一層都是中心化的。它的中心化,或者是因為托管應(yīng)用程序的Web服務(wù)器是中心化的,或者是因為有一個下載鏈接來下載應(yīng)用程序并將其安裝在客戶端設(shè)備上,將生態(tài)系統(tǒng)回推到“圍墻花園模型(walled-garden model)”,而該模型本身就是中心化的。理想中的應(yīng)用程序托管應(yīng)該是去中心化的,同時也可以及時交付,這將是一種新型的Web應(yīng)用程序。
為什么基本上沒有針對應(yīng)用程序托管的去中心化解決方案呢?我可以確定有兩個原因:要么是這一層的去中心化是無關(guān)緊要的,要么就是這是個難題,甚至沒有人愿意去解決。我懷疑答案是兩者兼而有之。
任何一個dapp,只要數(shù)據(jù)庫和資產(chǎn)存儲是足夠去中心化的,應(yīng)用程序托管是否是去中心化的其實并不重要。如果政府通過關(guān)閉應(yīng)用程序主機來審查dapp,則dapp作者可以只開源前端代碼,并讓其他人啟動一個新的主機,為同一個后端提供門戶。這可能會像21世紀(jì)初的Torrent那樣:關(guān)閉一個,在其他地方會出現(xiàn)另外5個。
但是,如果您可以實現(xiàn)應(yīng)用程序主機托管的去中心化呢?Codius,起初是Ripple發(fā)起的一個開源項目,在2015年Ripple停止給他分配資源之前曾試圖做到這一點。Stefan Thomas,Ripple的前CTO,離開了Ripple并啟動了Coil,把Codius放棄的重新拾了起來。繼續(xù)觀察Stack的這一層在實踐中是如何工作的,以及集成到現(xiàn)有的DNS中,這將會很有趣(現(xiàn)有DNS是中心化的,可信的應(yīng)用程序主機)。
最后,Stack的頂部是最終用戶與之交互的部分:dapp瀏覽器。這包括用于以太坊的Metamask和Toshi,以及用于EOS的Scatter。
第2層擴展解決方案
我已經(jīng)在本文中涉及到了這些內(nèi)容,但我認(rèn)為值得在當(dāng)前擴展區(qū)塊鏈的大背景下重新審視它們。
首先是分片?;贓thereum和Polkadot團隊所面臨的挫折,分片似乎是技術(shù)上最具挑戰(zhàn)性的擴展解決方案。即使它有效,現(xiàn)在也不清楚它是否能成為許多人,包括我自己,所期待的“圣杯”。分片的最大問題是“跨分片延遲”,在Ethereum中可能是幾分鐘,這可能嚴(yán)重限制了實際使用中分片的功效。此外,分片會產(chǎn)生各種下游問題,例如客戶端根據(jù)用戶的查詢可能不知道要讀取哪個分片。
第2層擴展解決方案 - 側(cè)鏈、支付和狀態(tài)隧道網(wǎng)絡(luò)以及ILP - 遇到相同的一般性問題。隨著側(cè)鏈的激增,當(dāng)用戶忘記他們的資產(chǎn)所在的鏈時,事情就會變得混亂。支付和狀態(tài)隧道網(wǎng)絡(luò)存在嚴(yán)重的延遲挑戰(zhàn),并產(chǎn)生與“流動路徑liquidity routing”,資金傳輸和隱私相關(guān)的各種新問題。鑒于價值儲存區(qū)塊鏈- 比特幣 - 的出塊時間為10分鐘,ILP將面臨真正的延遲挑戰(zhàn)。
讓我們假設(shè):用戶在位于一個分片中的支付隧道中有資金,這時她希望將這些資產(chǎn)移動到位于另外一個分片上的側(cè)鏈中。這將使這一切變得更加混亂。
在事情變得清晰之前,事情會變得更加混亂。
宏觀觀察Meta Observations
也許Web3 Stack中最迷人的部分就是Stack本身的去中心化程度。大多數(shù)傳統(tǒng)的應(yīng)用程序開發(fā)Stack--Windows,iOS,Android--幾乎是完全中心化的,只有少數(shù)第三方開發(fā)者庫和服務(wù)達到一定的使用量。這與Web3 Stack形成鮮明對比,Web3 Stack由全球數(shù)百個團隊同時構(gòu)建!雖然從理論上講,開發(fā)者不需要任何超出“核心Ethereum協(xié)議”提供的東西來構(gòu)建dapps,但實際上dapp開發(fā)人員是需要那些以太網(wǎng)基金會沒有也不會去構(gòu)建的各種工具的。這是最重要的證據(jù),加密網(wǎng)絡(luò)是自由市場的巔峰之作。
考慮到Web3 Stack仍處于初級開發(fā)階段,難怪dapp的使用非常糟糕:考慮到今天Web3 Stack的狀態(tài),幾乎不可能構(gòu)建可用的dapps!像許多其他技術(shù)一樣,Web3 Stack將進展緩慢,然后在超過一些臨界點后迅速發(fā)展。
在Web3 Stack實現(xiàn)某種程度的可用性,穩(wěn)定性和功能完整性之后不久,dapp革命就會發(fā)生。我懷疑這將會是2 - 3年之后了。
結(jié)論性思考
Multicoin已經(jīng)在Web3 Stack的多個層面上投資了十幾個協(xié)議。我們將繼續(xù)評估構(gòu)建Web3基礎(chǔ)架構(gòu)的項目。如果您正在構(gòu)建Web3 Stack的一部分,請聯(lián)系我們!我們想要了解更多。
我寫這篇文章的另外一個目的也是為了獲得反饋。我確信我所描繪的Web3堆棧圖并不完整。如果您有任何想法,意見或反饋,請發(fā)送電子郵件至research@multicoin.capital。
感謝Albert Wenger,Nick Grossman和Josh Nussbaum提供有關(guān)此文的反饋。
更新:在發(fā)表這篇文章后,我了解到Web3基金會,Trent McConaghy和Stephen Taul已經(jīng)寫過關(guān)于Web3 Stack的文章。