我們相信針對特定應用進行優化才是 L1 的未來,考慮到三難問題,沒有哪條鏈能達到一個萬能設計就符合所有應用場景的狀態,這個時候平衡取舍便是關鍵所在。
原文:《Ethereum -> Solana -> Aptos: the high-performance competition is on》by The Anti-Ape
本文譯者:0xshush
我們提出了一個 L1 設計權衡的第一性原理框架:高性能的三難困境。(如上圖)
與以太坊相比,Solana 的激進的低冗余設計既解釋了它的高性能,也解釋了它的低可靠性。
Aptos,一個擁有2 億美元全明星種子輪融資的新 L1,準備挑戰 Solana 在高性能 L1 領域的壟斷地位。與 Solana 相比,Aptos 增加了更多的可靠性,其代價是更高的節點硬件要求。
我們相信針對特定應用進行優化才是 L1 的未來。考慮到三難問題,沒有哪條鏈能達到一個萬能設計就符合所有應用場景的狀態。在我們之前的跨鏈文章的基礎上,我們提出了一個 “三個問題” 的問答手冊,供區塊鏈應用的開發者們考慮他們的技術選擇。
文章中會提及的項目包括:
Solana, Aptos, Ethereum, StarkWare, zkSync, Serum,Meteplex
這部分包括:
直到目前,Solana 作為唯一的一條高性能區塊鏈仍處于壟斷地位
Solana 的設計基因是激進地優化最理想情況下的網絡性能:并行運算、減少冗余度和更高的出塊率。
是什么讓 Solana 與眾不同?
作為唯一接近 Visa 65,000 TPS 容量的區塊鏈,Solana獲得了華爾街和硅谷的支持,以嘗試應用大規模的區塊鏈服務。
Solana 并沒有通過一些圖靈獎的魔法來實現 TPS(與零知識證明不同,這是我們即將討論的另一個重要話題)。相反,Solana 在性能和可靠性之間做了一系列的設計權衡。我們將在第一部分討論 Solana 的性能,在第二部分討論可靠性的成本。
設計選擇 1:并行計算。
以太坊虛擬機(EVM)是單線程的——EVM 只能利用一個 CPU 核心來按順序處理交易。由于單核產生的熱量隨著速度的提高而呈指數級增長,物理學限制了單核性能的上限是很低的。
解決方案是什么?更多的核心! 八個 2GHz 的核心比一個 8GHz 的核心溫度要低很多,但也更強大。2007 年,英特爾推出了雙核的奔騰處理器,從而結束了單核時代。今天的計算機消費者擁有的 GPU 和 CPU 有 4 到 4096 個核心。讓更多的核心合作得更好,而不是擁有更強大的單核,已經成為了十多年來半導體行業的研究重心。
Ronin黑客已將6.25億美元被盜資產從以太坊轉移至比特幣網絡:8月22日消息,根據鏈上開發人員兼調查員Blite Zero研究發現,Ronin黑客已經將被盜資產從以太坊轉移至比特幣網絡。今年3月,Ronin跨鏈橋遭攻擊后,黑客將價值6.25億美元的USDC和ETH轉移到Tornado Cash,此后,BliteZero跟蹤到黑客將資金從Tornado Cash轉移至多個跨鏈橋和加密貨幣交易平臺,通過renBTC形式將其轉移到比特幣網絡,并存入到ChipMixer、Blender等混幣器。[2022/8/22 12:39:57]
為了實現原生多線程,Solana 必須放棄 EVM 的兼容性。Solana 的智能合約可以利用 Nvidia GPU 的 4096 個核心來并行地運行計算。
我們的觀點:在這個[EVM v.s Multi-thread]的二元選擇中,我們傾向于多線程而不是 EVM 的兼容性。我們認為 2027 年的 DApp 卻只能使用 2007 年的半導體技術是非常荒謬的。
有些人可能會指出 EVM/Solidity 相關的開發者的護城河問題。但是開發者其實很容易轉換編程語言。今天的大多數 Web 2 應用和開發人員使用的編程語言都是原生的多線程。我們認為未來的開發者會像當前高 GAS 一樣對 EVM 的神秘的單線程架構感到沮喪。(另外,我們也不是 EVM 兼容的rollups 方案的粉絲)。
設計選擇 2:通過確定的領導節點輪換減少冗余度
去中心化需要冗余性。在谷歌這樣的中心化云服務中,計算只發生一次——因為用戶相信谷歌是正確的。
在區塊鏈中,由于我們不能信任任何人,所有數據都需要由不同的節點進行計算和驗證。一個相同的計算所做的額外次數就是所謂的間接費用 / 冗余度。為了量化冗余,我們使用[Big-O 符號](https://en.wikipedia.org/wiki/Big_O_notation#:~:text=Big Onotation is a,a particular value or infinity.)(大 O 符號,漸進符號),如[O(n^2), O(n), O(log n)],里面的函數表示當他們擴展到更多節點時,網絡計算將變得多么復雜。例如,隨著網絡的增長,O(n^3) 可能意味著比 O(n^2) 大幾個數量級的冗余度。
在比特幣、以太坊和其他許多簡單的 PoS 鏈中,共識的冗余度至少是O(n^2),與節點數量的平方成正比:每個區塊都必須傳輸、檢查和比較其他每個區塊的工作。
對于 Solana,只有被指定的那個領導節點來生產下一個區塊。(SeeGulf Stream, Leader Rotation。在此基礎上,Solana將區塊分割成很多小塊,然后只有一小部分節點驗證者來驗證每個小塊 (See Turbine),而不是所有的節點都要發送和驗證所有的區塊。
數據:超1200萬美元資金從以太坊橋接至新公鏈Canto:8月19日消息,據Dune Analytics數據,已有超1200萬美元資金從以太坊橋接至新公鏈Canto。其中USDC占比74.7%,約897萬美元。此前8月16日,Canto開啟Genesis階段,并公布Token分配詳細信息。[2022/8/19 12:36:30]
Solana 的協議將 Solana 的最佳情況下的冗余度從 O(n^2) 減少到 O(log n),這是計算復雜性理論中最有效的可能。這個結果確實很了不起。考慮一個(過于簡化的)說明。
網絡 A 和 B 在其他方面是相同的,100 個節點有 100k TPS。一個O(n^2) 網絡每增長 10 倍的節點性能就會衰減 100 倍。一個 O(log n) 網絡每增長 10 倍節點性能才會衰減~ 3 倍。在 10 萬個節點時,兩個網絡的性能將相差 30000 倍。
這種復雜性的降低也有意識形態上的意義。在這方面,我們認為Vitalik 對 Solana 的批評有些誤導——Vitalik 認為 Solana 因為硬件要求高而不夠去中心化。Solana 4000 美元的硬件成本阻止了 “每個用戶在自己的機器上運行 Solana 節點”。這個成本是沒錯的。但從長遠來看,計算成本會越來越便宜,而且 Solana 的復雜度降低的設計使它有可能擁有 100 倍的節點,而不會使網絡變得難以忍受的緩慢。
其他的設計選擇:
支持者和批評者還就 Solana 的其他一些技術特點進行了辯論。我們認為這些特點不那么核心,所以我們概括性地討論:
3.1 投票交易算入了 TPS
一些批評者指出 Solana 通過將驗證者投票也算入了交易,從而人為的增加了 TPS。投票確實被算入了交易,但這只是一個表面問題。也許 Solana 應該重申一下它的 TPS 是 60,000(剔除投票交易),而不是 65,000。
3.2 吞吐量—更快的出塊時間和更大的區塊
Vitalik和StarkWare都批評 Solana 的性能改進有些懶惰,因為 Solana 只是讓每個區塊更大,區塊時間更短,以更高的硬件要求為代價來容納更多的交易。簡單的數學會告訴你這并不是全部。
Solana 的最大區塊大小為 10MB,是ETH 目標大小 1MB.)的 10 倍。
Solana 的出塊時間是 0.4 秒,是以太坊 12 秒的 30 倍。
相比以太坊,以上兩者的組合給了 Solana 大概 300 倍的懶惰性能改進。
但實際上 Solana 的 TPS 比以太坊通常的 TPS 要高 3000 倍。這另外 90% 的性能提升可以由我們討論過的 Solana 的并行運算和降低冗余性的設計來更好的解釋。
Tushar Jain:期待著第一個L2決定宣布從以太坊獨立出來:金色財經報道,對沖基金Multicoin Capital執行合伙人Tushar Jain在社交媒體上稱,我期待著第一個L2決定宣布從以太坊獨立出來,這樣它就可以為自己的原生代幣獲取更多價值。如果一個L2在其平臺上有足夠的開發者和用戶,為什么要向以太坊的房東支付租金?[2022/8/1 2:50:43]
3.3 歷史證明(POH)
Solana 將 POH 宣傳為其最大的創新。從長遠來看,歷史證明允許 Solana 將區塊時間減少到極端的 400ms / 區塊,盡管事實上物理網絡延遲往往大于 400ms。這個功能的花哨名字是異步共識,更多細節見Multicoin 的文章。
設計選擇總結:Solana 的高性能秘訣
三個關鍵指標共同決定了區塊鏈的最大吞吐量:出塊率、并行計算和冗余性。
冗余度決定了總共需要多少數據和計算量,也就是說,總計算量 = 有效計算 + 冗余度;
并行計算允許節點計算的速度更快;
出塊率決定了一定時期內區塊鏈數據庫中可保存的數據量。
Solana 在這三個方面都做出了大膽的設計選擇:從 O(n^2) 到 O(log n) 冗余;從 1 核到 4096 核并行,以及從5MB/min 到 1500MB/min 的出塊速率。這些是Solana 的 65,000TPS 背后的主要秘訣。在下一章中,我們將討論 Solana 這些選擇的成本。
Solana 激進的性能優化的 DNA 使它比其他區塊鏈更容易發生故障。
我們提出了冗余困境:鑒于有限的計算能力,L1 必須在性能和可靠性之間做出權衡。
冗余困境是第 3 部分中高性能三難問題的一個子集。
頻繁的網絡事故
在過去的一年里,Solana 至少經歷了 4 次重大網絡事故。2021 年 9 月停運事故,2021 年 12 月降級事故,2022 年 1 月降級事故,2022 年 4 月停運事故。任何有興趣的利益相關者一定有很多問題:
是什么導致了事故?
本質的原因是是什么?一次性的系統 BUG ?意外的攻擊?還是區塊鏈設計 DNA 中的某些問題,我們只能緩解?
選擇最佳性能而不是可靠性
在第一部分中,我們討論了 Solana 如何積極地優化其最佳情況下的性能。“最佳情況” 是這里的一個關鍵詞。當事情沒有完全按照理想模式發生時,Solana 就會失控。
設計成本 1:當交易在邏輯上有順序時,激進的的并行計算就會退化。
報告:2周內已有18億美元從以太坊橋接至Axie Infinity側鏈Ronin:11月23日消息,DappRadar最近的一份報告顯示,在Axie Infinity(AXS)背后的團隊Sky Mavis推出Katana后的前兩周,已有18億美元凈資產從以太坊橋接至Ronin(RON)。根據DappRadar的數據,同一時期內,Katana作為第一個完全運行在Ronin上的DEX,其TVL已達到13億美元。與此同時,Axie Infinity專用以太坊側鏈Ronin日活躍地址數超過110萬個,創歷史新高。在過去的30天里,Ronin Bridge交易量超過75億美元,成為最常用的以太坊橋接,超過了Avalanche和Polygon橋接等。(CryptoSlate)[2021/11/23 22:11:03]
NFT mint 和 IEO 交易常常導致 Solana 網絡中斷。原因是:這些交易無法在 4096 個核心上同時進行。Minting NFTs 時,不知道哪些已經被 mint 了,這會導致重復和 BUG。所有在同一個 collection 的 mint 交易必須按順序處理。一個直接含義就是,Solana 的 65,000 TPS 并不意味著用戶可以在一秒鐘內鑄造 6 個 BAYC 集合:由于只依賴一個 GPU 核心,Solana 的按順序處理能力可能更接近甚至低于以太坊,大約在 10 到 100 TPS 之間。
這就解釋了性能下降的原因:NFT mint 時失控的交易量會使Metaplex 無法使用,但其他不依賴 Metaplex 的應用(如 Serum 訂單簿)仍然可以在其他 4095 個核心之一上處理交易。
但更多的時候,性能降低變成了網絡中斷:等待 Metaplex 的未處理的交易致使節點內存溢出——當內存溢出時,節點崩潰并完全離線。
核心權衡:通過使用 4096 核心的 GPU 而不是 16 核 CPU,Solana 犧牲了單核性能而支持激進的并行運算。通常情況下,當交易不相關時,網絡運行得很好,但一旦交易表現出不理想的模式,Solana 比高冗余度的以太坊更容易崩潰。
設計成本 2:當領導者崩潰時,決定性的領導者選擇會變得很難看
當 Solana 接近崩潰時,負責當前的區塊領導節點往往是第一個崩潰的。Solana 的低冗余設計嚴重依賴領導結點是否在線 – 其他節點都沒有與當前領導節點相同的交易數據或網絡角色。這意味著一旦領導節點離線,網絡的其他部分需要做大量的應急工作:同意跳過一個區塊,重新組織交易數據,并將丟失的交易數據轉發給下一個領導節點……
考慮以太坊網絡,它沒有領導節點,每個節點都有一份精確和重復的副本,這份副本中包含有將被放入一個區塊(mempool)的交易數據。如果任何以太坊節點離線,所有其他節點手頭仍有他們需要產生一個新區塊的所有內容。這就是冗余的雙刃劍:在理想的情況下,冗余導致了網絡的緩慢;但在壞的情況下,它可以防止重大事故。
聲音 | 趙長鵬:幣安去中心化交易所測試版在一兩周后發布,BNB將從以太坊遷移至幣安公鏈:幣安創始人趙長鵬在一個在線問答中表示,構建在幣安公鏈(Binance Chain)上的幣安去中心化交易所的測試版本將在一兩周后發布,BNB 將從以太坊 ERC20 代幣遷移至幣安公鏈。趙長鵬透露,Binance Chain 構建在 Cosmos 的 Tendermint 協議之上,采用 DPoS 和 BFT 共識。[2019/2/8]
讓我們用數字來說明。根據這篇論文,在領導者節點崩潰的情況下(正式稱為 “級聯領導者故障 cascading leader failure”),Solana 的緊急計算量開銷可以達到 O(n^4)。一個 O(n^2) 的網絡很慢,但可以使用,然而一個一下子需要 O(n^4) 計算量的網絡就好比死了。這就是為什么 Solana 一旦進入 O(n^4) 級聯領導故障模式,就難以自行恢復的主要原因。
這是一種特性,不是 BUG
Solana 的基因是激進的以最佳性能為優先。這個原則在架構中無處不在,所以很難只改變一個地方而不改變其他一切。(我們沒有討論這個問題,但為了說明相互依賴性,如果在 CPU 而不是 GPU 上運行,核心的 PoH 算法將是不切實際的,而 Solana 的 PoH—最理想情況下進行性能優化的數據管理系統使其難以實現類似 ETH 的 mempool)。再次說明,這是一個權衡,不能兩全其美——要從根本上使 Solana 更加穩定,需要創造更多的冗余度,從而犧牲最理想情況下的性能。
即使是 Solana 的支持者,也需要做好心理準備,網絡中斷和性能降低還會發生很多次,因為今天的 Solana 網絡還遠遠沒有嘗試過所有可能的緩解措施。緩解措施是一個需要迭代的捉迷藏游戲。有一天,Solana 實驗室的努力工作可能使 99.99% 的網絡正常運行時間成為可能。但是,它從來都不意味著要達到 100% 的網絡正常運行,今天的主網 beta 版離 99.99% 也還很遠。
Aptos的設計選擇是在可靠性和性能之間的折衷,位于 Solana 和 Ethereum 之間
我們提出了高性能、可靠性和效率之間的高性能三難問題
對開發者來說,未來的趨勢是根據具體使用場景進行優化。我們提出了一個 3 個問題的問答手冊來幫助開發者選擇基礎設施
在過往整整一年多的時間里,Solana 仍然是高性能 L1 細分市場里唯一的名字。現在我們有了 Aptos,由 Facebook 的前Libra 團隊開發,并由 a16z、Tiger、Multicoin 和 FTX 投資。Multicoin和 FTX 明顯也是 Solana 的重注投資者。Aptos 最近成為頭條新聞,因為他們聲稱有 16 萬的 TPS,顯然將自己定位為 Solana 的競爭對手。
這也是時我們為什么花這么多時間來剖析 Solana 的原因:這是一個最好的角度來結合實際理解 Aptos:
回顧第二部分,以太坊對網絡能夠正常運行的時間進行了優化:以太坊花費了大量的數據冗余來為最壞的情況做準備,所以幾乎不可能用攻擊來使以太坊網絡中斷。而 Solana 是為最理想情況下的性能進行了優化,在冗余上花費較少,從而使網絡在極端情況下的可靠性降低。
在解決冗余度困境時,Aptos 試圖從 Solana 退一步。下面是它的一些關鍵設計選擇:
Aptos 設計選擇 1:16 核服務器級 CPU
這是 Solana 的 4096 個 GPU 核心和以太坊的 1 個 CPU核心之間的一個中間地帶。在處理高度可并行的任務時,Aptos 可能不如 Solana 快。Aptos 的每個CPU 核心都比 Solana 的 GPU 核心性能高得多,所以在 NFT mint 等邏輯上按順序交易的情況下,Aptos 可能比 Solana 處理得更好。
Aptos 設計選擇 2:最理想情況冗余為 O(n),最差情況冗余為 O(n^2)
相對于 Solana,Aptos 試圖通過增加冗余使其網絡更具彈性。Aptos 沒有試圖達到 Solana 的極端 O(log n) 次線性冗余度,而是設置為 O(n) 的冗余度。在每一輪共識中,Aptos 要求所有非領導者的節點同步額外的數據,以備當前領導者節點失敗時其他節點需要接管。Aptos 也沒有嘗試對區塊進行分割和驗證,因為分割會在出錯的情況產生額外的工作量。這么設計的結果是:當領導者節點確實失敗時,Aptos 的應急處理并沒有 Solana 那么混亂。
比較一下:Aptos 的最佳性能不如 Solana,但 Aptos 在最差情況下的表現更容易接受——O(n^2),而 Solana 為 O(n^4)。如果我們把這五個性能表現放在一起,它們剛好是一個漂亮的三明治,把 Aptos(紫色)夾在 Ethereum(藍色)和 Solana(綠色)之間。
Aptos 設計選擇 3:瘋狂的硬件要求
你們可能已經看到 Aptos 聲稱有 16 萬的 TPS,并想知道為什么我說其最理想情況下的性能不如 Solana 好。
注意 Aptos 的硬件要求:他們所有的測試都是在AWS EC2 實例上運行的,有 16 核服務器級別的 CPU。Aptos還公開建議在谷歌云平臺上運行他們的節點,而不是個人電腦。
16 萬這個數字是在大約 100 個有權限的節點上進行的實驗室測試的結果——在更復雜的實際生產環境中,如果節點更多,TPS 肯定會更低。Aptos 的內部測試也表明,隨著網絡擴展到更多節點,其性能將接近甚至低于 Solana目前的 65,000 TPS。
下面是對 Aptos、Solana 和以太坊關鍵技術規格的快速總結,供參考:
把所有東西放在一起總結一下:高性能的三難問題
把問題擴展到冗余困境,同時把 Aptos 變態的硬件要求也考慮在內,我們提出了一個 Vitalik 的區塊鏈可擴展性三難問題的翻版:高性能三難問題。
在這個三難問題中,三個不能同時滿足的符合第一性原則的特質如下:
可靠性:通過在冗余度上花費更多的計算來保證網絡正常運行時間
性能:通過在冗余上花費更少的計算來加強網絡的吞吐量
效率:提升可靠性和性能的唯一方法是獲取更多的計算資源來用于這兩方面
在以太坊、Solana、Aptos 三者中:
以太坊選擇了網絡正常運行時間和效率,所以它在冗余度上花費了的一定的計算量,導致性能緩慢。
Solana選擇了性能和(相對)效率,所以它把有限的計算量都花在了最佳情況的性能上,較低的冗余度導致可靠性受到了負面影響。
Aptos選擇了網絡正常運行時間和高性能,所以為了有足夠的計算來覆蓋這兩個方面,Aptos 不得不選擇基于服務器的節點,放棄了效率。
Aptos 的設計理念相當 Web 2:強調對用戶的友好,而不是去中心化。早期的描述表明,Aptos 可能會整合一個帶有密碼恢復功能的高級用戶賬戶系統。從任何角度看,Aptos 肯定不是最去中心化的區塊鏈。它并不以意識形態的純粹性為目標。來自 a16z 和 Tiger 的 2 億種子輪投資者將一些真正的資金和資源放在這個有點逆向的愿景背后。
這一切對投資者和開發者意味著什么?使用場景優化。
No Maxis.(非最大主義者)
根據你的使用場景進行優化。
甚至 AWS(亞馬遜云服務)也為不同的使用場景提供了幾十種數據庫配置,因為沒有一個萬能的解決方案。區塊鏈是數據庫。
成為一個最大主義者可能有助于在快速增長的投機市場中通過承擔短期風險而獲利,但部落主義不利于真正的價值發現和建設。一個好的投資者和建設者應該對各方面的權衡持現實的態度,并真正理解你的用例,而不是沉溺于推銷、泡沫和公關話術中。
現在我們對未來會發展成什么樣只有一個廣泛的輪廓。Solana 和Aptos 都將經歷更多的錯誤,中斷,微調和補丁。Solana 會再次癱瘓,Aptos 也會。但這并不改變它們作為解決有利可圖的高性能 L1 問題的頂級競爭者的地位。
對于開發者:至少需要知道三件事:
你的使用場景:什么是至關重要的,什么只是錦上添花。
你想使用的基礎設施的利弊權衡和基因是什么樣的?
混合和匹配的成本和效益。跨鏈解決方案和風險,The Anti Ape 之前的文章。偉大的 DApp 利用區塊鏈,糟糕的DApp 被他們使用的區塊鏈所消耗。
對于投資者來說:Aptos 將在 2022 年發布公共測試網和代幣。這意味著 Solana 在高性能區塊鏈領域的壟斷很快就會結束。我們預計 Solana 的代幣價格將經歷一些賣壓,因為投資者在高性能區塊鏈這個垂直領域有更多的選擇了。但現在說贏家還為時過早。
無論如何,Aptos 看起來是一個 Solana 的有力挑戰者,因為它試圖平衡 Solana 的長期可靠性和其他的一些權衡點。但我們還需要觀察,Aptos 團隊是否能很好地執行落地,以及他們是否能挑戰 Solana 兩年的生態系統的領先優勢。
最近有許多“ZK-EVM”項目高調發布公告,但并不是每一個項目的“等效性”都一樣。這篇文章將嘗試描述EVM等價性的不同“類型”的分類,以及嘗試實現每種類型的好處和成本.
1900/1/1 0:00:00原文作者:Conor Ryder,CFA本文將深入探討Layer2 Rollup背后的數據,告訴我們為什么Rollup是短期內擴展以太坊網絡的最快解決方案.
1900/1/1 0:00:00NFT英文全稱為Non-Fungible Token,翻譯成中文就是:非同質化代幣,具有不可分割、不可替代、獨一無二等特點。在區塊鏈上,數字加密貨幣分為原生幣和代幣兩大類.
1900/1/1 0:00:00在區塊鏈技術迅速發展的這些年,數字貨幣被盜事件也經常發生在我們眼前。如何保證交易安全成了區塊鏈的一大難題。為了解決這一難題,“多重簽名”應運而生.
1900/1/1 0:00:00▌瑞士信貸集體:美國經濟可能經歷更嚴重、更長時間的衰退金色財經消息,瑞士信貸集體(Credit Suisse)的Zoltan Pozsar表示.
1900/1/1 0:00:00采用零知識證明最知名的技術就是匿蹤幣Zcash的zk-SNARKs。目前主流加密貨幣,不論是比特幣或以太幣都是匿名資訊公開,簡單來說就是不會有人知道錢包的主人是誰,但是大家都知道這錢包有多少錢、.
1900/1/1 0:00:00