本文假設讀者熟悉 Nick Szabo 的《社交網絡的可擴展性》、Vitalik Buterin 的《弱主觀性》以及 Haseeb Qureshi 的《為什麽去中心化並沒有你想象中那麽重要》等幾篇文章。
但本文並非為了反駁 Szabo 的文章與其立場。
Szabo 在其文章的結尾處將社交網絡可擴展性定義為「犧牲計算效率和可擴展性——消耗更多廉價的計算資源——從而減少和更好地利用涉及現代機構(如市場、大型企業和政府)所需的巨大人力資源支出。」
比特幣現金(BCH)和比特幣 SV(BSV)對比特幣(BTC)的成功分叉無疑支持了這一理論。
然而,自從 Szabo 在 2017 年 2 月發表該雄文以後,加密生態已經取得了長足的進步。盡管他早在大約 20 年前就提出了智能合約的想法,但直到最近兩年,業界才開始認識到智能合約最有用的應用:DeFi。
DeFi 的火爆改變了一切。
本文假設區塊鏈最重要的功能不是非主權貨幣本身,而是 DeFi。
該體系主要功能的轉變從嚴格的審查抵抗、非主權貨幣,到一個用於金融應用的高功能和可編程的開發環境,它牽涉到每一層技術堆棧,從網絡層(如 gossip vs Turbine)到執行環境(如 EVM vs SeaLevel)。(關於 Solana 與以太坊的不同之處,請參閱本文附錄)
因此,區塊鏈首先應該作為 DeFi 開發平臺進行設計和管理。
可預測性就是力量
「人們經常會問我這樣一個問題:『你覺得這個世界未來 10 年會有什麽變化?』這個問題非常常見。但是我幾乎從來沒有被問過這樣的問題:『在未來一個世紀,這個世界還有什麽東西是保持不變的?』實際上我認為第二個問題更為重要,因為知道了它答案後,你就可以圍繞那些不變的事物建立一個商業戰略……在零售行業,我們是能夠確定顧客希望更低的價格,我也知道這一點會在 10 年後成為現實;他們也想讓物流變得更快;他們想要更多的選擇。你很難想象 10 年後某一天,有顧客跑來跟我說:『Jeff,我超喜歡亞馬遜;我希望你們商品的價格能再高一點』,或者『我很喜歡亞馬遜;我希望你們的物流速度慢一點『——這是根本不可能的。所以我們將功夫花在這些不變的事物、推動它們的發展,我們知道今天所付出的精力將會在 10 年後為亞馬遜的客戶帶來回報。當你確定了某些事是正確的(即使很長遠),就可以為之投入大量精力。」
——亞馬遜創始人兼 CEO Jeff Bezos
這裏有一些數據:Coinbase 當前註冊用戶約 5000 萬,羅賓漢(Robinhood)的用戶數量大致相當,大多數美國大型銀行也是這個數量級。
假設 Coinbase 的戰略重點是盡快將它的所有用戶都遷移到 DeFi,同時監管環境也支持它。設想一下,Coinbase 能在以太坊上做到嗎?
當然,這是一個目前無法回答的問題。在技術上,它不是不能實現,實際上可能性還挺大。但是沒有誰或者某個機構可以回答這個問題。原因是什麽?
因為沒有人真正掌握以太坊未來將會怎麽進行擴展。舉個簡單例子,Vitalik 曾經表示 optimistic rollup 可能是近期到中期最理想的擴展方案,而從長遠來看,zk-rollups 則會占主導地位。但是問題來了:這個轉折點會在什麽時候,以什麽方式發生?是否需要開發/重構什麽基礎設施?這些不同 roolup 之間的資金怎麽流動,它對智能合約開發者、錢包、用戶、流動性提供者、法幣通道等方面有什麽影響?
而且,似乎無論哪種擴容方案更加重要,它都不可能是一個整體的實例化(例如單個 optimism rollup)。以太坊擴容的後果都是異構的。
從長遠來看,這樣對以太坊來說可能是一件好事。當前的擴容方案都有各自的取舍,並且也不清楚哪種取舍是最好的,或者擴容方案相互組合會更好。因此從長遠來看,以太坊生態最好的選擇是嘗試多種擴容方案,並從中找出哪種方案最適合哪種應用,然後配置橋接、其他互操作性方案以及解決延遲問題。
另外,開發擴容方案的所有團隊都獲得了充足的資金,已經開始上線和面向用戶。因此他們會持續進行開發。
那麽,Coinbase 應該怎麽將 5000 萬多名用戶引入 DeFi 呢?
在如此龐大的用戶規模基礎上,最重要的一個考慮因素是確定性。任何達到該規模的企業都非常需要現在以及未來的確定性。
大型企業絕對承擔不了押註錯誤技術堆棧的後果,錯誤的機會成本以及後續遷移/橋接的代價非常巨大。
我認為,現在——或者在未來兩年內——能夠回應這個問題的唯一區塊鏈協議是 Solana。
所有基於 rollup 的擴容方案(包括分片)都受製於上述困擾。盡管有不少優秀團隊(如 Cosmos、Polkadot、Avalanche 等)籌集了數十億資金進行研究開發,但實際上所有分片系統都沒有擴展到大規模(大多數甚至無法正常運行)。即使它們以 PoC(proof-of-concept)共識工作,也需要處理許多新出現的問題(例如交叉分片交易處理失敗,交易平臺集成等等)。
這裏需要明確一點,我並不是指分片和 rollup 無法進行擴容。實際上我對這兩種方案持樂觀態度。但是,它們在目前沒有真正發揮作用,並且會產生許多無法避免的二階和三階問題。由於多個相互交織的組件對以太坊進行擴展,一個需要可擴展確定性的大型機構很難在未來兩年內得到它想要的(確定性)。
碎片化的社交網絡可擴展性成本
除了上述的不確定性,分散在各個分片和 rollup 之間的應用會產生明顯的新型社會協調成本,而這在單分片系統中是不存在的。以下為幾個例子:
- 目前,Layer 1 和各個 Layer 1 之間的區塊時間和計算吞吐量有所不同。這一點直接關系到所有管理風險的 DeFi 協議(幾乎包括除了 Uniswap/Sushiswap 之外的所有主要組件)的實現方式。其中,一些 DeFi 團隊已經承諾在多個 Layer 1 和 Layer 2 部署合約。但是,每個執行環境都需要唯一的風險參數。這會增加每個協議社區所需的社會協調數量,減慢行業發展速度。
- 退出 optimistic rollups(ORU)需要較長時間。市場普遍認為做市商會在 rollup 和 Layer 1 之間提供流動性橋梁。但是,該操作的實現細節比較棘手。協議前端應該提供原生支持嗎?如果是這樣,他們是否應與特定做市商「簽約」(例如參考 Citadel Securities 與 Robinhood 簽訂的 PFOF 合同)?還是把它留給前端用戶自己去配置?如果用戶想從一個 ORU 轉移到另一個 ORU,該怎麽辦……用戶如何傳遞信號給應用,從而操作 Connext 或 Thorchain 而不是退出到 Layer 1?
- 對於 Metamask 用戶(他們大部分是高級用戶),用戶自己管理這麽復雜的操作可能比較合理。但是對於試圖抽象出復雜性的小眾錢包(如 Exodus 或 Argent),這些團隊需要花費多少額外的開發時間來解決這些問題?又被迫放棄多少新功能?如果做市商出於某種原因停止在某個橋接/細分市場的流動性,那該怎麽辦?有哪些備份選項?
- 必須更新開發者工具來處理新的數據結構(如 ORU 的未處理事務,ZKR 的 zk 輸出)。索引和查詢層將需要進行重大升級,應用開發人員可能需要重新編寫其子圖以處理新的數據結構(例如,不可能將 EVM 子圖映射到 Starkware 的 Cairo)。開發人員將被迫跨各種異構擴展方案重寫大量應用。
隨著分片和 rollup 數量的激增,開發交易所將變得更具挑戰性。這些問題都不棘手,但是它們會減慢開發速度,還會讓不想面對這些問題的眾多開發人員感到有心無力。
可預測,但又很無聊的擴展性
Solana 當前可支持每秒 50,000 筆交易,全球網絡節點已經突破 600 個。最重要的一點在於,Solana 提供了無限擴展的可預測路徑。由於它可以在 GPU 上並行執行事務,因此可以利用 GPU 並行性帶來的巨大增益。
摩爾定律可能是過去 50 年中最重要的經濟力量。但是今天它更多呈現出一種假象。
大約 10 到 15 年前,摩爾定律就不適應於單線程計算。因為熱量的產生隨著時鐘速度超線性增加。這就是扇形設備(臺式機和筆記本電腦)停滯在大約 3.5-4 GHz,而無風扇設備(電話和平板電腦)停滯在 1.5-2.0GHz 的原因。盡管過去十年來各種優化讓單線程性能有所提高,但單線程性能並沒有做到每 18-24 個月增加一倍。
在過去的十年,幾乎所有的計算收益都來自芯片專業化(FPGA 和 ASIC)和並行計算。現代臺式機圖形卡通常有 4000 多個內核。上個年代,每張芯片的內核數量一直在按摩爾定律增長,並且這種趨勢將持續下去,因為增加的內核數量所產生的熱量幾乎不影響時鐘速度的提升。
Solana 是唯一一個通過 SeaLevel 運行時進行分片內並行計算的區塊鏈 。SeaLevel 在 GPU 本地執行事務。如果 Nvidia 在未來一兩年發布 8,000 內核的新型 GPU,Solana 網絡的計算帶寬將增加大約一倍。
在這個過程中,開發者不用了解,或者不用在乎,也無需更改任何一行代碼。
這就是可預測性的定義:開發者今天寫好了代碼,就知道它會一直生效,而且未來執行代碼的成本還比現在低。
這時候,擴展計算的主要物理限製是散熱。在字面上,Solana 的擴展性能夠做到物理上限。
量化去中心化以及弱主觀性
從表面上看,許多人認為 Solana 協議不夠去中心化。當然,他們並沒有真正去量化這個說法,但卻不斷重申這一點。事實到底是怎麽樣呢?讓我們做一些計算,來量化一下各個網絡的去中心化程度。
首先我們來看一下硬件成本:
- 比特幣可以在一個價值 25 美元的 Raspberry Pi 上運行,只需要微弱的互聯網連接。
- 以太坊在一臺 500 美元的筆記本電腦上運行(考慮到當前的 Gas 價格,這個價格不一定準確),需要寬帶連接。
- Solana 需要運行在一個 3500 美元左右的服務器,需要千兆網絡連接。
下一個主要考慮因素是狀態大小。在 50,000 TPS 和數十億用戶的情況下,Solana 的狀態大小將會增大。這一點非常好,為什麽?因為 1)假定 Solana 運行在可升級存儲的服務器(而不是無法升級的筆記本電腦),2)NVMe SSD 通過 RAID 0 線性擴展讀寫性能,以及 3)多字節 NVMe SSD 不到 300 美元——擴展狀態存儲的成本和維護成本將會微不足道。
如果讀到了這裏並且理解了前面的所有內容,那麽您使用價格超過 2,000 美元的 Macbook Pro 的可能性就很大了,這也是世界上 5000 萬到 1 億左右的開發者所鐘愛的高端計算機。我懷疑對 500 到 1000 美元的硬件進行優化是最理想的做法。那麽 500 到 1000 美元價位有什麽特別之處呢?
我們來考慮一下硬件需求上限的合理價位。25,000 美元肯定太高,因為開發者沒有這種硬件。現在換一種思路,我們不考慮任意的硬件成本,而是從需要多少個節點來實現足夠的防審查能力。很明顯,這裏的「足夠」一詞本質上是主觀的,但是如果您假設需要 100 萬個節點,那麽自然會產生一個問題:「這個世界上有沒有足夠多的,價值 3500 美元的服務器和千兆網絡連接,讓 100 萬個節點看起來比較合理?」
考慮一下世界上所有高端硬件的遊戲玩家、開發者和企業的數量,我們很難對這個問題進行否定。
所以不能孤立地考慮硬件成本問題,而必須在系統的設計目標範圍內去進行考量。
此前我曾經認為區塊鏈應該迎合 DeFi,而不是一味追求最大程度的審查抵抗性(即需要 1 億甚至 10 億個節點)。根本沒有必要對 25 美元或者 500 美元的硬件進行優化,因為絕大多數人永遠都不會運行一個節點。那麽,為什麽還要費心去優化硬件成本及其基礎上的協議呢?
這個世界是弱主觀性的
這就來到了弱主觀性,同時承認去中心化並沒有你想象中那麽重要。
這個世界是弱主觀性的。意味著什麽呢?我們來看一下下面的例子。
回憶一下,你上一次走進一棟高樓的時候,是先對建築結構進行檢查,然後詢問建造商,從而確保這棟高樓不會坍塌然後把你埋了?
坐飛機,開車或者在你家的時候,有沒有這種想法?
所以說,這個世界的所有事物都基於某種程度的信任。如果每個人都要獨立驗證所有相關事物的結構完整性,那麽這個世界就無法正常運轉了。
反過來我們可以認為:世界之所以能夠正常運轉,是因為每個人都知道已經有許多其他人對系統進行了驗證,系統安全的概率非常高。
這就是弱主觀性的基本假設。這個理論應用到節點數量的時候,就變成了這個關鍵問題:在沒有運行節點的情況下,用戶自己是否可以合理地假設有足夠其他參與者和機構運行著節點,從而可以信任該系統?
Solana 目前的節點數量約 600 個,在一年前只有 100 個左右。像其他區塊鏈一樣,隨著生態的持續發展,節點數量還會隨著時間推移而增長。類似於目前的主流區塊鏈,隨著時間流逝,越來越多用戶采用,傳遞的價值越來越多,Solana 網絡自然會越來越去中心化。
這也是 Qureshi 觀點的正確性,並且去中心化並沒有你想象中那麽重要。很顯然,去中心化對審查抵抗至關重要。但目前業界也沒有一個清晰的閾值(也沒有足夠的反面例子可以得出一個結論),而且具體的數值本身並不重要——真正重要的是:1)風險-去中心化程度曲線實際上是反向的 S 曲線,以及 2)我們知道區塊鏈隨著時間的推移會變得更加去中心化,因此審查抵抗能力會隨之提升。只要區塊鏈去中心化的速度足夠快——並且你相信它可以去中心化程度增加的速度——那麽用戶就能夠維持他們所需的審查抵抗性。
結論
於是現在的基本問題變成了:如何分清「本末」?
從 2009 年比特幣誕生以後的第一個十年,很顯然審查抵抗性、非主權貨幣是「本」,而其他的應是「末」。
但這個情況正在改變。如今加密貨幣的使用者會認為,DeFi 會完全重塑金融。因此我覺得「本末」已經反轉:如今 DeFi 是「本」,而非主權貨幣是「末」。
它們兩者都需要一定程度的審查抵抗性,但是在技術受限的情況下,最大化 DeFi 效用與最大化系統審查抵抗性之間就出現了一個基本的取舍。
而當系統的基本設計目標發生變化的時候,相關的技術堆棧也需要隨之變化。為了將 DeFi 擴展到數十億用戶的規模,每一層堆棧都必須遵從第一性原則,進行重新考量。
致謝:感謝 Hasu 對本文草稿的審核。
披露:Multicoin 已製定、維持和執行合理設計的書面政策和程序,以識別和有效管理與其投資活動有關的利益沖突。在公開發布後的三天內,Multicoin Capital 對本報告所列資產(「無交易期」)遵守「無交易政策」。Multicoin Capital 持有 SOL 和 ETH 的倉位。
附錄:以太坊與 Solana 的簡單對比
比特幣和以太坊在各自的設計中都進行許多假設,最明顯的也許要數網絡層和執行層。
網絡層 在網絡層,比特幣和以太坊利用八卦協議(gossip protocol)。八卦協議也就是每個節點不加選擇地將數據廣播到其他每個節點。雖然這可以最大程度地提高審查抵抗性,但卻以犧牲一部分性能為代價。按照定義,以高度冗余的方式重新廣播數據效率不高,因此無法正確地針對高吞吐量 DeFi 應用進行優化。
另一方面,Solana 發明了一種新的名為渦輪(Turbine)的網絡協議,它的靈感來自 BitTorrent 協議。渦輪對效率進行了大幅優化,其工作原理如下:我們來考慮一個 1MB 大小的區塊。其中節點不是將整個區塊傳輸給另一個節點,而是將 10KB(占區塊大小的 1%)傳輸到節點 #2 和 #3,然後那些節點將這 10KB 區塊重新廣播到節點 #4 和 #5,依此類推。然後原始節點向節點#6 和#7 廣播另一個不同的 10KB 數據包,隨後這些節點將這 10KB 內容重新廣播給節點 #8 和 #9,依此類推。此外,該模型的優點在於,隨著節點數量的增加,延遲時間以及可用的絕對帶寬保持不變。唯一降低的性能是,與大多數其他線性或超線性增加的系統相比,延遲增加了 log(n)(非常亞線性)。
執行層 在執行層,EVM 是單線程計算機。由於任何交易都可以修改全局狀態的任何部分,因此為了支持並行性,系統需要某種方式來確保兩筆交易不會嘗試同時寫入同一個狀態。EVM 選舉根本無法處理該問題,它只能簡單地串行執行所有交易。
Solana 是唯一嘗試處理分片內並發的協議。它是怎麽做到的呢?Solana 的運行時 SeaLevel 要求交易標頭指定交易所有的相關狀態。借助此信息,SeaLevel 可以確定哪些交易可能發生沖突,並將對其進行序列化。所有不重復的交易都可以並行化,在數千個 GPU 內核中並行運行。
撰稿:KYLE SAMANI
免責聲明:作為區塊鏈信息平臺,本站所發布文章僅代表作者個人觀點,與 Web3Caff 立場無關。文章內的信息均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。