一文揭秘區(qū)塊鏈中的速度之王:Solana
一份性能報告
CoinGecko 于 5 月 17 日發(fā)布的 《Fastest Chains》報告中顯示,Solana 是大型區(qū)塊鏈中速度最快的,最高日均真實 TPS 達到 1,504(已經(jīng)去除了投票交易),Sui 是第二快的區(qū)塊鏈,最高日均真實 TPS 達到 854,BSC 排名第三,但達到的真實 TPS 還不到 Sui 的一半。
從這份報告可以看出,性能最好的 Solana 和 Sui 都是非 EVM 兼容的區(qū)塊鏈,更進一步,8 個非 EVM 兼容區(qū)塊鏈的平均真實 TPS 為 284,17 個 EVM 兼容區(qū)塊鏈和以太坊 Layer2 的平均 TPS 僅為 74,非 EVM 兼容區(qū)塊鏈的性能是 EVM 兼容區(qū)塊鏈的 4 倍左右。
本文將會探討 EVM 兼容區(qū)塊鏈的性能瓶頸,并揭開 Solana 的性能之道。
EVM 兼容區(qū)塊鏈的性能瓶頸
首先,我們泛化 EVM 區(qū)塊鏈到一般區(qū)塊鏈。一般區(qū)塊鏈想要提升 TPS,一般有如下幾種做法:
- 提升節(jié)點性能:通過堆硬件資源去提升節(jié)點性能,節(jié)點的硬件要求會影響去中心化程度,例如以太坊推薦配置,Cpu 4 核,內存 16G,網(wǎng)絡帶寬 25Mbps,普通用戶級設備都能達到,中心化程度較高;Solana 推薦配置相對更高 Cpu 32 核,內存 128G,網(wǎng)絡帶寬 1Gbps,專業(yè)級設備才能達到,中心化程度一般;
- 改進底層協(xié)議:包括網(wǎng)絡協(xié)議、密碼學、存儲等,改進區(qū)塊鏈底層協(xié)議不改變區(qū)塊鏈自身的屬性,也不影響區(qū)塊鏈的運行規(guī)則,可以直接提升區(qū)塊鏈的性能,但底層技術關注度低,目前研究領域沒有重大突破;
- 擴大區(qū)塊:增加區(qū)塊的大小可以包含更多的交易,進而提高區(qū)塊鏈的交易吞吐量,例如比特幣現(xiàn)金(BCH)將區(qū)塊從 1 MB 擴大到 8 MB,之后擴展到 32 MB。但擴大區(qū)塊的同時也會增大傳播延遲引發(fā)安全威脅, 比如導致分叉可能性增大和 DDoS 攻擊;
- 共識協(xié)議:共識協(xié)議保證了區(qū)塊鏈各個節(jié)點對于區(qū)塊鏈的狀態(tài)更新達成一致,是區(qū)塊鏈最重要的一重安全門,已經(jīng)用于區(qū)塊鏈的共識機制有 PoW、PoS、PBFT 等。為了滿足可擴展性的需求,一般高性能公鏈都會改進共識協(xié)議,并結合自身特殊機制,例如 Solana 基于 PoH 的共識機制,Avalanche 基于雪崩的共識機制;
- 交易執(zhí)行:交易執(zhí)行只關心單位時間內處理的交易或計算任務數(shù)量,以太坊等區(qū)塊鏈采用串行方式執(zhí)行區(qū)塊中的智能合約交易,在串行執(zhí)行中,CPU 的性能瓶頸是非常明顯的,嚴重制約了區(qū)塊鏈的吞吐量。一般高性能公鏈都會采用并行執(zhí)行的方式,有的還會提出更利于并行的語言模型來構建智能合約,例如 Sui Move。
對于 EVM 區(qū)塊鏈而言,由于限定了虛擬機,即交易的執(zhí)行環(huán)境,因此最大的挑戰(zhàn)在于交易執(zhí)行。EVM 主要有兩個性能問題:
- 256 位:EVM 設計成一臺 256 位的虛擬機,目的是為了更易于處理以太坊的哈希算法,它會明確產(chǎn)生 256 位的輸出。然而,實際運行 EVM 的計算機則需要把 256 位的字節(jié)映射到本地架構來執(zhí)行,一個 EVM 操作碼會對應多個本地操作碼,從而使得整個系統(tǒng)變得非常低效和不實用;
- 缺少標準庫:Solidity 中沒有標準庫,必須自己用 Solidity 代碼實現(xiàn),雖然 OpenZeppelin 使這一情況得到一定改善,他們提供了一個 Solidity 實現(xiàn)的標準庫(通過將代碼包含在合約中或是以 delegatecall 的形式調用部署好的合約),但是 EVM 字節(jié)碼的執(zhí)行速度遠不如預編譯好的標準庫。
如果站在執(zhí)行優(yōu)化的角度,EVM 還存在兩大不足:
- 難以做靜態(tài)分析:區(qū)塊鏈中的并行執(zhí)行意味著同時處理不相關的交易,把不相關的交易看作互不影響的事件。實現(xiàn)并行執(zhí)行主要挑戰(zhàn)是確定哪些交易是不相關的,哪些是獨立的,目前部分高性能公鏈會預先對交易做靜態(tài)分析,EVM 的動態(tài)跳轉(dynamic jumps)機制導致代碼很難被靜態(tài)分析;
- JIT 編譯器不成熟:JIT 編譯器(Just In Time Compiler)是現(xiàn)代虛擬機常用的優(yōu)化手段,JIT 最主要的目標是把解釋執(zhí)行變成編譯執(zhí)行。在運行時,虛擬機將熱點代碼編譯成與本地平臺相關的機器碼,并進行各種層次的優(yōu)化。目前雖然有 EVM JIT 的項目,但還處于實驗階段,不夠成熟。
因此從虛擬機的選擇上,高性能公鏈更多采用的是基于 WASM, eBPF 字節(jié)碼或 Move 字節(jié)碼的虛擬機,而非 EVM。例如 Solana 使用自己獨特的虛擬機 SVM 和基于 eBPF 的字節(jié)碼 SBF。
Fastest Chains:Solana
Solana 因其 PoH(Proof of History )機制以及低延遲高吞吐量而聞名,是最著名的「以太坊殺手」之一。
PoH 的核心是一個類似于可驗證延遲函數(shù)(VDF)的簡單哈希算法。Solana 使用一個序列預映像抵抗的哈希函數(shù)(SHA-256)實現(xiàn),該函數(shù)持續(xù)運行,用一次迭代的輸出作為下一次的輸入。這個計算在每個驗證者的單個核心上運行。
雖然序列生成是順序和單線程的,但驗證可以并行進行,從而在多核系統(tǒng)上實現(xiàn)高效的驗證。雖然哈希速度存在上界,但硬件改進可能提供額外的性能提升。
Solana 共識流程
PoH 機制作為可靠且無需信任的時間源,在網(wǎng)絡內創(chuàng)建可驗證且有序的事件記錄?;?PoH 的計時允許 Solana 網(wǎng)絡以預定且透明的方式輪換領導者。這種輪換以固定的時間間隔進行,為 4 個槽(slot),每個槽目前設置為 400 毫秒。?這種領導者輪換機制確保每個參與的驗證者都有公平的機會成為領導者,是 Solana 網(wǎng)絡維護去中心化和安全的重要機制,防止任何單個驗證者在網(wǎng)絡上獲得過多的權力。
每個槽的時間段,領導者提出一個新塊,其中包含從用戶收到的交易。領導者驗證這些交易,打包成一個區(qū)塊,然后將該塊廣播到網(wǎng)絡的其余驗證者。這種提議和廣播區(qū)塊的過程稱為區(qū)塊生產(chǎn),網(wǎng)絡中的其他驗證者必須對區(qū)塊的有效性進行投票。驗證者檢查區(qū)塊的內容,確保交易有效并遵守網(wǎng)絡規(guī)則。如果一個區(qū)塊獲得了絕大多數(shù)權益權重的投票,則該區(qū)塊被視為已確認。此確認過程對于維護 Solana 網(wǎng)絡安全和防止雙花至關重要。
當前領導者的時間段結束,網(wǎng)絡不會停止或等待區(qū)塊確認,而是會移動到下一個時間段,為后續(xù)領導者提供區(qū)塊生產(chǎn)的機會,整個過程重新開始。這種方法可確保 Solana 網(wǎng)絡保持高吞吐量并保持彈性,即使某些驗證者遇到技術問題或離線也是如此。
Solana 性能之道
由于 Solana 網(wǎng)絡可以提前確認領導者,因此 Solana 不需要公共內存池來保存用戶的交易。當用戶提交交易時,RPC 服務器將其轉換為 QUIC 數(shù)據(jù)包,并立即將其轉發(fā)領導者的驗證者。這種方法被稱為Gulf Stream,它允許快速的領導者轉換和交易的預執(zhí)行,減少了其他驗證者的內存負載。
Solana 的區(qū)塊數(shù)據(jù)帶入到內核空間,然后傳遞給 GPU 以進行并行簽名驗證,一旦 GPU 上驗證了簽名,數(shù)據(jù)就會傳遞給 CPU 進行交易執(zhí)行,最后返回到內核空間做數(shù)據(jù)持久化。這種將數(shù)據(jù)劃分為不同硬件部件的多個處理過程,稱為流水線技術,能最大化硬件利用率,加快區(qū)塊的驗證和傳輸速度。
由于 Solana 的交易顯式指定訪問哪些賬戶,Solana 的交易調度器可以利用讀寫鎖機制并行執(zhí)行交易。Solana 交易調度器每個線程都有自己管理的隊列,順序且獨立地處理交易,嘗試鎖定(讀寫鎖)交易的賬戶并執(zhí)行交易,賬戶沖突的交易會稍后執(zhí)行。這種多線程并行執(zhí)行技術稱為 Sealevel。
領導者傳播區(qū)塊的過程,將 QUIC 數(shù)據(jù)包(可選地使用糾刪碼)劃分為較小的數(shù)據(jù)包,并將它們分發(fā)給具有分層結構的驗證者。這種技術稱為 Turbine,主要是減少領導者的帶寬使用。
驗證者在投票過程中,使用一種針對分叉投票的共識機制。驗證者無需等待投票即可繼續(xù)進行區(qū)塊生產(chǎn);相反,區(qū)塊生產(chǎn)者會持續(xù)監(jiān)控有效的新投票,并實時將其納入當前區(qū)塊中。這種共識機制稱為 TowerBFT,通過實時合并分叉投票,Solana 確保了更高效、更精簡的共識流程,從而提高了整體性能。
針對區(qū)塊的持久化過程,Solana 開發(fā)了 Cloudbreak 數(shù)據(jù)庫,通過以特定方式對賬戶數(shù)據(jù)結構進行分區(qū),以受益于順序操作的速度并采用內存映射文件,從而最大限度地提高 SSD 的效率。
為減輕驗證者負擔,Solana 將數(shù)據(jù)存儲從驗證者轉移到名為 Archiver 的節(jié)點網(wǎng)絡。交易狀態(tài)的歷史記錄被拆分為很多碎片,并使用糾刪碼技術。Archiver 用于存儲狀態(tài)的碎片,但不參與共識。
總結
Solana 的愿景是成為一個其軟件按照硬件的速度擴展的區(qū)塊鏈,因此 Solana 充分利用當今計算機中可用的所有 CPU、GPU 和帶寬能力,以最大化性能,理論最大速度能達到 65,000 TPS。
正是因為 Solana 的高性能和拓展性,讓 Solana 成為處理高頻交易和復雜智能合約的首選區(qū)塊鏈平臺,無論是年初的 DePIN/AI 賽道,還是近期火熱的 Meme 賽道,Solana 都展現(xiàn)出巨大的潛力。
以太坊 ETF 推出后,Solana 也成為下一個 ETF 呼聲最大的加密貨幣,盡管 SEC 仍將 Solana 列為證券,短時間內不會批準其他加密貨幣 ETF。但在加密市場,共識即價值,Solana 的共識或許正變得和比特幣與以太坊一樣堅不可摧。
你可能感興趣的文章
-
Solana幣將會暴漲嗎?以性能看Solana幣未來價值
CoinGecko 于 5 月 17 日發(fā)布的 《Fastest Chains》報告中顯示,Solana 是大型區(qū)塊鏈中速度最快的,最高日均真實 TPS 達到 1,504(已經(jīng)去除了投票交易),Sui 是第二快的區(qū)…
2024-06-05 -
Base未來怎么樣?能否挑戰(zhàn)Solana
Base是什么幣?能否挑戰(zhàn)Solana統(tǒng)治地位盡管Solana一直享受著其Memecoin成功帶來的榮耀,但一個新的挑戰(zhàn)者已經(jīng)嶄露頭角:Base,這個由Coinbase孵化的以太坊第二層解決方案正在…
2024-05-31 -
以太坊現(xiàn)貨ETF通過Solana會是最好的選擇嗎
以太坊現(xiàn)貨 ETF 通過 下一個是 Solana 嗎?加密投資公司Asymmetric Finance的首席執(zhí)行官、自稱Solana愛好者的喬·麥肯(Joe McCann)表示,考慮到SOL在市場上的地位,它必…
2024-05-25 -
Solana游戲龍頭:Nyan Heroes全面介紹
Nyan Heroes是一款第三人稱FPS射擊游戲,使用虛幻5引擎,由Mechanism Capital領投,游戲代幣$NYAN將用于獎勵活躍玩家、交易稀有物品和皮膚,團隊也可以從玩家身上賺錢,估值…
2024-05-19 -
Solana生態(tài)值得關注的4個AI項目盤點
Solana憑借其快速的交易處理速度與親民的費用結構,已經(jīng)成為涵蓋金融到游戲等多樣化去中心化應用的優(yōu)選平臺,接下來,我們將聚焦Solana生態(tài)內四個最具前瞻性和值得關注的AI…
2024-05-14 -
Solana開發(fā)學習筆記(一)——從Hello World出發(fā)
本章對Solana區(qū)塊鏈的基本概念進行了簡要介紹,并介紹了開發(fā)Solana鏈上程序必須安裝和配置的編程環(huán)境,通過對Hello World這個官方演示項目源碼的解讀,了解如何使用Rust開發(fā)…
2024-04-30 -
SOL價格上漲和網(wǎng)絡擁堵 Solana需要Layer2和Rollup么?
DRiP的創(chuàng)始人Vibhu在一則聲明中引發(fā)了一場迫切需要的辯論:Solana需要有L2和Rollup,本文將從Solana和擁堵、使Solana模塊化、Solana 應用鏈、Solana 第二層、推動Rollup和Ap…
2024-04-28 -
SOL是公鏈嗎?Solana(SOL)公鏈全面介紹
Solana是一個于2017年成立的可程式設計的區(qū)塊鏈,Solana 簡稱SOL鏈,而SOL幣則是該公鏈的原生加密貨幣,在SOL鏈上的一切交互都需要使用SOL幣支付手續(xù)費,那么,SOL是公鏈嗎?…
2024-04-17 -
Jupiter是投資Solana的放大器嗎?
Jupiter 是 Solana 生態(tài)核心流動性聚合器,提供最廣泛的代幣索引,以及任意交易對的最優(yōu)路徑,那么,Jupiter是投資Solana的放大器嗎?下文將為大家詳細分析…
2024-04-16 -
2024年Solana生態(tài)值得關注的10大DeFi主題
Solana 擁有最強大的聚合器之一,其中 Jupiter 處于領先地位,本文將為大家詳細介紹2024年Solana生態(tài)值得關注的10大DeFi主題…
2024-03-28