我們相信針對特定應用進行優化才是 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 個核心。讓更多的核心合作得更好,而不是擁有更強大的單核,已經成為了十多年來半導體行業的研究重心。
Crema Finance:已將1700100枚USDC從以太坊橋接至Solana并完成轉換:7月8日消息,Crema Finance就此前攻擊事件發布更新稱,團隊已將1700100枚USDC從以太坊橋接至Solana,并將其轉換為SOL、mSOL和stSOL。現在Solana地址的余額包括30935 SOL、17171 mSOL和18295 stSOL。以太坊上剩余的USDC稍后將被橋接回相應的穩定幣。[2022/7/8 2:00:34]
為了實現原生多線程,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),而不是所有的節點都要發送和驗證所有的區塊。
創始人SNJ:BitANT將從以太坊跨鏈到bsc:據官方消息,近日,BitANT創始人SNJ發推特表示:BitBTC的第一個生態項目“發紅包”正式上線fahongbao,標志著生態開始落地。“發紅包”項目支持bsc、polygon、optimism上所有代幣,社區已經嘗試用usdt、bitbtc、BitANT等。
據悉,目前該紅包即將支持bsc上熱門項目包括doge、shiba等。BitBTC是分拆BTC的項目,按照1:1000000恒定錨定BTC。BitANT這個項目的平臺幣,即將由eth跨鏈到BSC,屆時將進行收稅和銷毀。[2022/2/8 9:38:55]
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 倍。
Enegra將其數字化股權代幣從以太坊遷移到Polygon區塊鏈:馬來西亞的大宗商品交易公司Enegra Group資產凈值為280億美元,已將其與股票掛鉤的EGX證券代幣從以太坊ETH遷移到Polygon (MATIC) 區塊鏈。(Cointelegraph)[2021/11/6 6:35:13]
Solana 的出塊時間是 0.4 秒,是以太坊 12 秒的 30 倍。
相比以太坊,以上兩者的組合給了 Solana 大概 300 倍的懶惰性能改進。
但實際上 Solana 的 TPS 比以太坊通常的 TPS 要高 3000 倍。這另外 90% 的性能提升可以由我們討論過的 Solana 的并行運算和降低冗余性的設計來更好的解釋。
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 中的某些問題,我們只能緩解?
以太坊核心開發者:正在從以太坊代碼庫中刪除Whisper:以太坊核心開發者Péter Szilágyi剛剛發推稱,正在從以太坊代碼庫中刪除Whisper,并打算將其移至對應存儲庫存檔。據悉,Whisper是以太坊的一個通用的分布式通信協議,此前主要用于網絡信息傳送。[2020/7/22]
選擇最佳性能而不是可靠性
在第一部分中,我們討論了 Solana 如何積極地優化其最佳情況下的性能。“最佳情況” 是這里的一個關鍵詞。當事情沒有完全按照理想模式發生時,Solana 就會失控。
設計成本 1:當交易在邏輯上有順序時,激進的的并行計算就會退化。
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)的交易數據。如果任何以太坊節點離線,所有其他節點手頭仍有他們需要產生一個新區塊的所有內容。這就是冗余的雙刃劍:在理想的情況下,冗余導致了網絡的緩慢;但在壞的情況下,它可以防止重大事故。
聲音 | 以太坊基金會安全負責人:應迅速從以太坊平臺中刪除ASIC挖礦芯片:據Coindesk消息,以太坊基金會的安全負責人Martin Holst Swende在周五舉行的開發者會議上表示,他支持迅速采取行動,從以太坊平臺中刪除ASIC挖掘軟件。因此阻止強大的ASIC礦工獲得該平臺數字貨幣的大部分份額。[2018/9/29]
讓我們用數字來說明。根據這篇論文,在領導者節點崩潰的情況下(正式稱為 “級聯領導者故障 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 兩年的生態系統的領先優勢。
物理工作證明 (Proof of Physical Work,即PoPW)是一種新穎的代幣分配機制,獎勵參與者在現實世界中完成可驗證的物理性工作.
1900/1/1 0:00:00隨著衍生品的盛行,越來越多的投資者開始關注或加入合約交易的隊伍。但是合約也分好多種,比如我們常常看到正向合約與反向合約,有時候還會看到幣本位合約與穩定幣合約,它們究竟有何區別,我們該如何選擇?正.
1900/1/1 0:00:00注:原作者為 Jean-Paul Faraj熊市是積累財富的最好機會。游客(投機者)都已離開,現在正是淡季。這是建設者們埋頭工作的時候,也是投資者對下一個大趨勢下注的時候.
1900/1/1 0:00:00目前許多的DeFi項目都發行了自己的代幣,流動性挖礦是一種代幣發放形式,可以簡單理解為DeFi版的“交易及挖礦”.
1900/1/1 0:00:00對于一次完整的交易來說,大致可有三個步驟:接收行情、分析行情、發出買賣指令并成交。可以看出,行情數據是最為基本也是相當重要的部分,特別是對于量化高頻和低延遲的交易者來說,行情數據的精度和細度就尤.
1900/1/1 0:00:001 期權(Options),也稱選擇權,是指買方支付給賣方費用后,擁有在將來某一時間按照期權合約規定的價格,買入或賣出一定數量資產(期貨、指數或金融工具等)的權利.
1900/1/1 0:00:00