Solana技術架構深度解析:高性能與挑戰並存 生態發展前景幾何?

再解Solana技術架構:將要迎來第二春嗎?

Solana是一個高性能的區塊鏈平台,採用獨特的技術架構實現高吞吐量和低延遲。其核心技術包括Proof of History (POH)算法確保交易順序和全局時鍾,Leader Rotation Schedule和Tower BFT共識機制提高區塊出塊速率。Turbine機制通過Reed-solomon編碼優化大區塊傳播。Solana Virtual Machine (SVM)和Sealevel並行執行引擎加快交易執行速度。這些都是Solana實現高性能的架構設計,但同時也帶了一些問題,如網路宕機、交易失敗、MEV問題、狀態增長過快和中心化問題,我們也在本文中着重闡述了這種機制帶來的問題。

再解Solana技術架構:將要迎來第二春嗎?

Solana生態發展迅速,各項數據指標在上半年都迅猛發展,尤其在DeFi、基礎設施、GameFi/NFT、DePin/AI和消費者應用領域。Solana的高TPS和面向消費者應用的戰略以及品牌效應較弱的生態環境爲創業者和開發者提供了豐富的創業機會。在消費者應用方面,Solana展示了其對於推動區塊鏈技術在更廣泛領域應用的願景。通過支持如Solana Mobile和專爲消費者應用程序構建SDK,Solana正致力於將區塊鏈技術集成到日常應用中,從而提高用戶的接受度和便利性。例如,Stepn等應用程序通過結合區塊鏈和移動技術,爲用戶提供了新穎的健身和社交體驗。盡管目前許多消費者應用程序仍在探索最佳的商業模式和市場定位,但Solana提供的技術平台和生態系統支持,無疑爲這些創新嘗試提供了強有力的後盾。隨着技術的進一步發展和市場的成熟,Solana有望在消費者應用領域實現更多的突破和成功案例。

再解Solana技術架構:將要迎來第二春嗎?

Solana雖然在區塊鏈行業中以其高吞吐量和低交易成本獲得了顯著的市場份額,但它也面臨着來自其他新興公鏈的激烈競爭。Base作爲EVM生態中的一個潛在對手,其鏈上活躍地址數正在迅速增長,同時,Solana的DeFi領域總鎖倉量(TVL)雖然創下了歷史新高,但Base等競爭對手也在快速佔領市場份額,Base生態的融資額也首次在Q2季度超越Solana。

盡管Solana在技術和市場接受度上取得了一定的成就,但它需要不斷創新和改進,以應對來自Base等競爭對手的挑戰。特別是在提高網路穩定性、降低交易失敗率、解決MEV問題以及減緩狀態增長速度等方面,Solana需要持續優化其技術架構和網路協議,以保持其在區塊鏈行業的領先地位。

再解Solana技術架構:將要迎來第二春嗎?

技術架構

Solana以其POH算法、Tower BFT共識機制以及Trubine數據傳輸網路和SVM虛擬機帶來的高TPS和快速Finality著稱。我們將要簡要介紹其各個組件是如何工作的,如何發揮其高性能的目標以進行架構設計的,以及在這種架構設計下帶來的弊端和衍生而來的問題。

POH算法

POH(Proof of History)是一個確定全局時間的技術,其並不是共識機制,而是一種確定交易順序的算法。POH技術是來源於最基礎的密碼學SHA256技術。SHA256通常用於計算數據的完整性,給定一個輸入X,則有且只有唯一的輸出Y,因此對該X任何變動都會導致Y的完全不同。

在Solana的POH序列中,通過應用sha256算法就能確保整個序列的完整性,也就確定了其中交易的完整性。舉個例子,如果我們將交易打包成一個區塊,生成對應的sha256 hash值,那麼這個區塊內的交易就被確定,任何變動都會導致hash值的更改,之後這個區塊hash作爲將作爲下一個sha256函數的X的一部分,再添加下一個區塊的hash,那麼上一個區塊以及下一個區塊就都被確定下來,任何變動都會導致新Y的不同。

這個就是其Proof of History技術的核心含義,上一個區塊hash,將作爲下一個sha256函數的一部分,類似於一個鏈條,最新的Y,總是包含了歷史的證明。

再解Solana技術架構:將要迎來第二春嗎?

在Solana的交易流架構圖中,描述了POH機制下的交易流程,在一個稱爲Leader Rotation Schedule的輪換機制下,會在所有的鏈上驗證者Validator中,產生一個Leader節點,該Leader節點收集交易並且進行排序執行,生成POH序列,之後會生成一個區塊傳播給其它節點。

爲了避免Leader節點處產生單點故障,因此引入了時間限制。在Solana中時間單位是以epoch進行劃分,每個epoch包含432,000個slot(時隙),每個slot持續400ms,在每一個slot中,輪換系統會在每個slot內分配一個Leader節點,Leader節點必須在給定的slot時間內發布區塊(400ms),否則,就會跳過這個slot,重新選舉下一個slot的Leader節點。

總的來說,Leader節點採用POH機制能讓歷史的交易全部確定下來。Solana的基本時間單位是Slot,Leader節點需要在一個slot內廣播區塊。用戶將交易通過RPC節點給到Leader,Leader節點打包交易排序然後執行生成區塊,區塊傳播給其它驗證者,驗證者需要通過一個機制來達成共識,對區塊內的交易以及順序達成共識,該共識使用的就是Tower BFT共識機制。

Tower BFT共識機制

Tower BFT共識協議來自於BFT共識算法,是其的一種具體工程實現,該算法仍然與POH算法有關。在對區塊進行投票的時候,如果驗證者的投票本身就是一種交易,那麼用戶交易以及驗證者交易所形成的區塊哈希,也能夠作爲歷史證明,哪個用戶的交易細節以及驗證者的投票細節都能被唯一確認。

再解Solana技術架構:將要迎來第二春嗎?

在Tower BFT算法中規定,如果所有驗證者對該區塊進行投票,超過2/3的驗證者投了approve票,那麼這個區塊就能被確定下。該機制的好處是,節省大量的內存,因爲僅僅需要對哈希序列進行投票即可確認區塊。但是在傳統的共識機制中,一般採用的是區塊泛洪,就是一個驗證者接收到了區塊然後就會發送給周圍的驗證者,這樣就會造成網路的大量冗餘,因爲一個驗證者接收到了不只一次相同的區塊。

在Solana中,由於存在大量的驗證者投票交易,並且由於Leader節點中心化帶來的高效以及400ms的Slot時間,這就導致了整體區塊大小以及出塊頻率都特別高,大區塊在傳播時,也會給網路造成很大的壓力,Solana採用Turbine機制來解決大區塊的傳播問題。

Turbine

Leader節點通過稱爲Sharding的過程將區塊拆分爲shred的子區塊,其規格大小以MTU(最大傳輸單元,無需將其分割成更小的單元即可從一個節點發送到下一個節點的最大數據量)爲單位。然後通過使用Reed-solomon擦除碼方案來保障數據的完整性以及可用性。

通過將區塊分成四個Data Shreds,然後爲了防止數據傳輸過程中丟包和損壞,因此使用Reed-solomon編碼將四個包編碼成八個包,該套方案能容忍至多50%的丟包率。在實際的測試中,Solana的丟包率大概爲15%,因此這套方案能很好的兼容當前的Solana架構。

再解Solana技術架構:將要迎來第二春嗎?

在底層的數據傳輸中,一般會考慮使用UDP/ TCP協議,由於Solana的對丟包率的容忍度較高,因此採用了UDP協議進行傳輸,其缺點在於丟包時不會重新傳輸,但是優點在於更快的傳輸速率。相反,TCP協議會在丟包時重新多次傳輸,會極大的降低傳輸速率以及吞吐量,有了Reed-solomon以後,這套方案,能顯著增加Solana的吞吐量,在真實環境中,吞吐量能夠提高9倍。

Turbine將數據分片以後,使用多層傳播機制來進行傳播,Leader節點會在每個Slot結束之前將區塊交給任意一個區塊驗證者,然後該驗證者會將區塊分片成Shreds,並且生成糾刪碼,該驗證者之後會開啓Turbine 傳播。首先要傳播到根節點,然後該根節點會確定哪些驗證者位於第幾層。其過程如下所示:

  1. 創建節點列表:根節點將所有的活躍驗證者匯總到一個列表中,然後根據每個驗證者在網路中的權益(也就是質押的SOL數量)進行排序,權重較高的則位於第一層,以此類推。

  2. 節點分組:然後每個位於第一層的驗證者也會創建術語自己的節點列表,以構建自己的第一層。

  3. 層形成:從列表頂部將節點劃分爲層,通過確定深度和廣度兩個值,就能確定整顆樹的大致形狀,這個參數會影響shreds的傳播速率。

再解Solana技術架構:將要迎來第二春嗎?

權益佔比較高的節點,在層級劃分時,在更上一層,那麼就能夠提前獲得完整的shreds,此時就可以恢復完整區塊,而後面層的節點,由於傳輸的損耗,其獲得完整shreds的概率會降低,如果這些shreds不足以構建完整的碎片,會要求Leader直接重新傳輸。那麼這時數據傳輸會向樹內部進行,而第一層的節點早就構建好了完整的區塊確認,約後面層次的驗證者完成區塊構建之後進行投票的時間就越久。

這套機制的思想類似於Leader節點的單節點機制。在區塊傳播過程中也存在一些優先的節點,這些節點首先獲得shreds碎片組建完整區塊以達成投票共識的過程。將冗餘推向更深層次,能夠顯著加快Finality的進行,並且最大化吞吐量和效率。因爲實際上前幾層可能就代表了2/3的節點了那麼後續節點的投票也就無關緊要了。

SVM

Solana能夠每秒處理數千筆交易,主要的原因在於其POH機制、Tower BFT共識和Turbine數據傳播機制。但是SVM作爲狀態轉換的虛擬機,如果Leader節點在進行交易執行中,SVM處理速度較慢,那麼就會讓整個系統的吞吐量降低,因此針對SVM,Solana提出了Sealevel並行執行引擎來加快執行交易的速度。

在SVM中,指令由4個部分組成,包含程序ID,程序指令以及讀取/寫入數據的帳號列表。通過確定當前帳戶是處於讀取還是寫入狀態以及要進行狀態更改的操作是否有衝突,可以將帳戶的交易指令中對狀態沒有衝突的並行化允許,每條指令以Program ID來表示。而這也是爲什麼Solana的驗證者的要求很高的原因之一,因爲要求驗證者的GPU/CPU能夠支持SIMD(單指令多數據)以及AVX高級矢量拓展能力。

再解Solana技術架構:將要迎來第二春嗎?

生態發

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 讚賞
  • 5
  • 分享
留言
0/400
BridgeJumpervip
· 07-11 14:41
老有人说sol第二春 我看悬
回復0
quietly_stakingvip
· 07-11 06:47
高tps有啥用 也没用户
回復0
GasFeeLadyvip
· 07-11 06:39
ngmi solana,还在像2021年那样关注那些tx降低
查看原文回復0
MEV之泪vip
· 07-11 06:36
真就离谱,又吹sol?
回復0
暴富型韭菜vip
· 07-11 06:28
又要被poh忽悠割一波韭菜了?
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)