CoinGecko的《Fastest Chains》數據顯示,Solana是速度最快的大型區塊鏈,最高日均TPS達到1,054,排名第一。 Sui排名第二,達到854的TPS,BSC排名第三。報告指出,非EVM相容區塊鏈的表現更高,其平均真實TPS為284,是EVM區塊鏈的4倍。報告討論了EVM區塊鏈的效能瓶頸,並揭示了Solana的效能優勢。 Solana利用PoH機制和獨特的技術實現低延遲高吞吐量,成為速度最快的鏈之一。 Solana透過優化硬體和多執行緒處理交易等方式,提升了整體效能,並展現出處理高頻交易和複雜智慧合約的潛力。
本報告
CoinGecko 於5 月17 日的《Fastest Chains》統計數據顯示,Solana 是大型區塊鏈中速度最快的,最高日均真實TPS 達到1,054(已經去除了投票交易),Sui 是第二快的區塊鏈,最高日均真實TPS 達到854,BSC 排名第三,但達到真實TPS 還不到Sui 的一半。
從這份報告可以看出,表現最好的Solana 和Sui 都是非EVM 相容的區塊鏈,更進一步,8 個非EVM 相容區塊鏈的平均真實TPS 為284,17 個EVM 相容區塊鏈和以太坊Layer2 平均TPS 僅74,非EVM 相容區塊鏈的效能是EVM 相容區塊鏈的4 倍左右。
本文將會討論EVM相容區塊鏈的效能瓶頸,並揭示Solana的效能之道。
EVM 相容區塊鏈效能瓶頸
首先,我們泛化EVM區塊鏈到一般區塊鏈。一般區塊鏈想要提升TPS,一般有以下幾個步驟:
提升節點效能:透過堆硬體資源去提升節點效能,節點的硬體要求威脅去中心化程度,例如以太坊的建議配置,Cpu 4核,記憶體16G,網路頻寬25Mbps,普通用戶級裝置都能達到,去中心化程度較高;Solana的建議配置相對較高Cpu 32核,內存128G,網絡頻寬1Gbps,專業級設備才能達到,去中心化程度一般;改進底層協議:包括網絡協議、密碼學、存儲等,改進區塊鏈底層協議不改變區塊鏈自身屬性,也不影響區塊鏈的運行規則,可以直接提升區塊鏈的性能,但底層技術關注度低,目前研究領域沒有重大突破; 擴大區塊:增加區塊的大小可以包含更多的交易,提高區塊鏈項目吞吐量,例如比特幣現金(BCH)將區塊從1 MB 擴大到8 MB,之後包括32 MB。但擴大區塊規模也會隨之擴大傳播延遲引發安全威脅,例如導致分叉風險的擴大和DDoS 攻擊;共識協議:共識協議保證了區塊鏈各個節點對於區塊鏈的狀況更新達成一致,是區塊鏈最重要的一重安全門,已經用於區塊鏈的共識機制有PoW、PoS、PBFT 等。為了滿足可擴展性需求,一般高效能公鏈都會改善共識協議,並結合自身特殊機制,例如基於Solana的PoH的共識機制,基於Avalanche的Avalanche的共識機制;區塊鏈技術:區塊鏈遊戲,區塊鏈遊戲幣,區塊鏈遊戲幣交易平台…
對於EVM區塊鏈而言,由於限定了虛擬機,也就是交易的執行環境,因此最大的挑戰在於交易執行。 EVM主要的兩個效能問題:
256 位元:EVM 設計成一台256 位元的虛擬機,目的是為了更易於處理以太坊的雜湊演算法,並且明確產生256 位元。然而,實際運作的EVM 電腦則需要把256 位元的位元組映射到本地架構來執行,EVM 運算符號會多個本地運算符號,這使得整個系統變得非常低效且不實用;缺少標準函式庫: Solidity 中沒有標準函式庫,必須自行用Solidity 程式碼實現,但OpenZeppelin 使這一情況得到了一定的改進,它們提供了Solidity 實作的標準函式庫(取得的程式碼包含合約中或以委託呼叫的形式呼叫部署好的合約),但是EVM 字節碼的執行速度遠不如預編譯好的標準函式庫。
如果站在優化的角度,EVM 還存在兩大不足:
難以做靜態分析:區塊鏈中的其中包括執行意味著同時處理不相關的交易,把不相關的交易看成互不影響的事件。實現其中包含執行的主要挑戰是確定哪些交易是不相關的,哪些是初始化,目前部分高效能公鏈會預先對交易做靜態分析,EVM 的動態跳轉(動態跳轉)機制導致的程式碼很難被靜態分析; JIT編譯器不成熟:JIT編譯器(Just In Time Compiler)是現代虛擬機器常用的最佳化手段,JIT最主要的業務把解釋執行變成編譯執行。在執行時,虛擬機器將熱點程式碼編譯成與本機平台相關的機器碼,並進行各種層級的最佳化。目前雖然有EVM JIT項目,但還處於實驗階段,還不夠成熟。
因此從虛擬機的選擇上,高效能公鏈更多採用的是基於WASM, eBPF 字節碼或Move 字節碼的虛擬機,而非EVM。例如Solana 使用自己獨特的虛擬機器SVM 和基於eBPF 的字節碼SBF。
最快的鏈:Solana
Solana 聯盟PoH(Proof of History)機制以及低延遲高吞吐量而聞名,是最後的「以太坊殺手」之一。
PoH 是一個類似於可驗證延遲函數(VDF)的簡單雜湊演算法。 Solana 使用一個序列預映像抵抗的雜湊函數(SHA-256)實現,該函數持續運行,並一次迭代作為下一次的輸入。這個計算機在每個驗證者的單一核心上承載著。
雖然哈希值的存在是為了使你能夠更好地理解序列,但是你必須要確保你的序列是有序的,並且單線程是不可或缺的,因此,在多核上實現你的驗證。 雖然哈希值的存在是為了使你能夠更好地理解序列,但是,你必須要確保你的序列是有序的,並且單線程是不可或缺的,因此,在多核上實現你的驗證。
Solana共識
PoH機製作為可靠且無需信任的時間來源,在網路內建立可驗證且社群的事件記錄。基於PoH的計時允許Solana網路以預定且透明的方式輪換領導者。這種輪換以固定的方法來進行,為4個槽(slot),每個槽目前設定為400毫秒。這種領導者輪調機制確保每個參與的驗證者都有公平的機會成為領導者,是Solana網路維護去中心化在關鍵時刻的關鍵機制,防止任何單一驗證者在網路上獲得擁擠的權力。
每個槽的第一天,我們都在為此努力,每個坑的最後衝刺,每個用戶都開心極了,我向大家推介一個新區塊,祝大家玩得開心,祝大家玩得開心。 投票者驗證這些交易,打包一個區塊,然後將該區塊轉發給其他驗證者,進行投票。 驗證者檢查區塊,確保投票有效並遵守網路規則。 如果一個區塊獲得用戶的支持,並且用戶體重增加,那麼該區塊是否被視為已確認。 此確認過程對於維護Solana 網路安全和防止雙花至關重要。
當前階段的職責是確保Solana 網路保持高吞吐量並保持彈性,即使某些驗證者遇到技術問題或離線也是如此。
Solana 性能之道
由於Solana 網路可以提前確認伺服器,因此Solana 不需要記憶體礦池來保存使用者的交易。當使用者提交交易時,其RPC 伺服器被QUIC 封包感染,並轉送到伺服器的驗證者。
Solana 的區塊資料帶入核心空間,然後提交GPU 進行驗證,一旦GPU 上驗證了簽名,資料就會提交到CPU 進行交易執行,最後回到核心空間做資料持久化。這種將數據劃分為不同硬體部件的多個處理過程,稱為管線技術,能最大化硬體利用率,加快區塊的驗證和傳輸速度。
Solana專案明確指定存取哪些用戶,Solana專案調度器可以利用讀寫鎖定機制以外的交易。 Solana 交易調度器每個執行緒都有自己管理的佇列,順序且地處理交易,嘗試鎖定(讀寫鎖)交易的帳戶並交易,項目會根據執行緒數和交易成本計算出成本。這種多線程並不等同於Sealevel。
領導者傳播區塊的過程,將QUIC航空(可選地使用糾錯)劃分為消費者航空,並向具有分層結構驗證者的廣播推送服務。這種技術稱為輪機,主要是減少領導者的成本使用。
驗證者在投票過程中,使用一種針對分叉投票的共識機制。驗證者無需等待投票即可繼續進行區塊生產;相反,區塊生產者會持續監控有效的新投票,並即時將其加入當前區塊中。這種共識機制稱為TowerBFT,透過即時合併分叉投票,Solana確保了更有效率、更精簡的共識流程,從而提高了整體效能。
針對區塊的持久化過程,Solana開發了Cloudbreak資料庫,透過以特定方式對帳戶資料結構進行分區,以受益於順序操作速度並採用記憶體映射文件,從而充分提高SSD的效率。
為減輕驗證者的負擔,Solana將資料儲存在Archiver的節點網路。交易狀態的歷史記錄被拆分為許多碎片,並利用糾錯技術。 Archiver用於儲存狀態的碎片,但不必參與共識。
總結
Solana 的願景是成為一個以硬體速度擴展的區塊鏈軟體,因此Solana 充分利用電腦上的所有CPU、GPU 和頻寬能力,以最大化效能,理論最大速度能達到65,000 TPS。
正是因為Solana 的高性能和擴展性,讓Solana 成為處理高頻交易和複雜智能合約的首選區塊鏈平台,無論是在年初的DePIN/AI 還是近期的Meme 的角逐,Solana 都展現出巨大的潛力。
以太幣ETF 推出後,Solana 也成為第一個呼聲最大的加密貨幣ETF,儘管SEC 仍將Solana 列為證券,短期內不會批准其他加密貨幣ETF。但在加密貨幣市場,共識即價值,Solana 的共識或許正變得和比特幣與以太幣一樣堅不可摧。
資訊來源:0x資訊編譯自網際網路。版權歸作者小豬Web3所有,未經許可,不得轉載