TL;DR

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

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

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

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

技術架構

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

POH算法

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

POH序列,圖源:Solana白皮書

POH序列示意圖,圖源:Solana白皮書

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

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

交易Flow架構圖,圖源:Solana白皮書

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

Leader選舉機制,圖源:Helius

爲了避免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協議,圖源:Helius

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

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

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

Turbine

投票圖示

Turbine區塊傳播機制,圖源:Helius

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

Reed-solomon編碼方案,圖源:Helius

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

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

分層傳播示意圖,圖源:Helius

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

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

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

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

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

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

SVM

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

Sealevel並行執行示意圖,圖源: Xangle

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

生態發展

Solana生態Landscape

在當前的Solana生態發展的過程中,越來越偏向於實際的效用,比如Blinks以及Actions甚至Solana Mobile等,而官方支持的應用發展方向也更偏向於消費者應用程序,而不是對基礎設施的無限內卷。在Solana當下性能足夠的情況下,應用種類更爲豐富。就以太坊來說,由於其TPS較低,因此以太坊生態仍然是以基礎設施和擴容技術爲主,在基礎設施無法承載應用的情況下,也就無法去將構建消費者應用了,這也就造成了資金在基礎設施投資過多,但是應用投資過少的不平衡狀態。

DeFi

DeFi Landscape

在Solana上的DeFi協議中,有大量未發幣的項目,包括Kamino(第一Lending)、Marginfi(Lending + Restaking)、SoLayer(Restaking)、Meteora等,由於Solana的團結生態氛圍,通常一個項目在發幣的檔期,其它項目都會盡量的避開,以吸引足夠的市場目光。

DEX市場份額,圖源:Dune

當前在整個DEX方面競爭激烈,其龍頭也經歷了多次遷移,從Raydium,Orca到現在Jupiter爲主導地位。

DEX交易的發起人,圖源:Dune

值得注意的是,DEX的交易其中大約50%都是由MEV bot發起的,主要是其低廉的費用和Meme交易活躍滋生了MEV的有利可圖。而這也是導致用戶高峯交易失敗頻發、宕機的主要原因之一。

Solana TVL,圖源:Defillama

Solana上的DeFi協議伴隨着SOL價格的上漲,其USD名義TVL也贏來了爆發性的上漲。其TVL上漲的趨勢仍然沒有停止,新一波的上漲趨勢形成。

總之,Solana賽道雖然競爭激烈,但是仍然有變,與Ethereum上Uniswap佔據用戶的品牌心智不同,儘管是本應該極具粘性和網絡效應的DEX也會面臨被更替的風險。Solana主鏈的交易被MEV bot充滿,這對用戶造成了很大的用戶體驗的問題仍然有待解決。在整體大方向上,Solana的TVL仍然在非常迅猛的增長,其後續的DeFi生態發展仍然非常值得期待,並且這些應用的品牌心智對用戶的佔領並不強,是創業者選擇鏈的潛在動力。

Infrastructure

基礎設施 Landscape

在基礎設施的構建上,主要的龍頭是預言機Pyth以及跨鏈橋Wormhole,也包括一些針對性的解決方案大衆可能瞭解較少,比如:

  1. Jito Labs:專注於構建Solana上的MEV解決方案,其Jito Labs客戶端構建了Bundle和僞emempool來給予researchers進行MEV。目前其市佔率超過50%。除此之外,其LSD協議Jito的質押的SOL也接近1200萬枚,並且仍然在高速增長。

  2. Helius:Helius作爲Solana上的主動的貢獻社區,對Solana有最全的研究以及通過研究進行代碼貢獻。

  3. GenesysGo:其產品ShdwDrive是Solana中數據存儲項目,其致力於能夠商業化落地的項目支持,包括社交數據、網站託管等業務。目前仍然在測試網階段。同時,其母公司GenesysGo也在爲Solana社區構建各種public goods以及研究。

除此之外,Solana仍有大量值得探索的項目等待中文社區挖掘。我們確實發現,這些基礎設施在Solana的協議級別構建、生態發展、社區有着巨大的影響力,可能有無論是投資或者合作進一步挖掘其潛力的機會。

Gaming / NFT

Gaming / NFT Landscape

Solana上也有較爲豐富的GameFi和NFT生態,其中Mad Labs在整個Solana生態中佔據比較重要的位置,許多項目空投都會優先考慮Mad Labs持有者發放,過去這一龍頭的位置是DeGods。而NFT市場也經歷了變遷,過去最多人使用的是Magic Eden,現在轉變爲Tensor。

DePin / AI

DePin Landscape

DePin數據概覽,圖源:DePin Scan

目前在Solana的DePin市場上,Render是有實際業務的當之無愧的龍頭。伴隨着solana以實際應用爲中心的發展戰略,其也在這輪復甦中,抓住了Depin的敘事之風。在上半年,大量新的Depin項目搭建在Solana之上,其中就包括io.net、Nosana、Shadow等。

Consumer

Consumer Landscape

無論是Solana Mobile,還是Solana Ecosystem官網專門爲消費者應用程序構建專欄,Actions以及Blinks的發明,都說明了Solana對於區塊鏈商業化落地和實用性的願景。其Mobile收集的發佈也是在將Web端的dapp放到移動端,這非常符合人性和互聯網發展趨勢。因此,應用在這種土壤上容易爆發,最典型的就是Stepn。

縱覽目前在運行的消費者應用程序,其實大部分仍然沒有找到很好的突破口,所以仍然無法實現一個真正的應用落地到商業世界,這其中包括了產品創新單一、商業模式單一、對Web2營銷乏力、Gas Fee的需求、代幣的入門門檻等多種因素。

但是消費者應用程序是區塊鏈技術最終落地的場景,也決定了公鏈的天花板。因此Solana對於手機端消費者應用程序的探索是非常有必要的,我們對於這個方向的長期挖掘也是必要的。特別是當前以太坊生態中,基建遠大於應用的情況下。最終,基建都是爲應用服務。

Payments

Payment Landscape

Solana上的錢包包括了Phantom、Backpack、TipLink等。與DEX一樣,這裏的品牌效應並不強,因此創業者有更多的機會,過去錢包龍頭是Phantom,現在轉變爲Backpack,其是Mad Labs構建,值得一提的是Mad Labs現在也是Solana上的NFT龍頭。

Solana穩定幣發行狀況,圖源:Defillama

其目前與Paypal、Visa等合作進行鏈上的穩定幣支付轉賬,這個業務場景本身非常有利於快速Finality以及低Gas Fee的Solana鏈。目前其鏈上穩定幣處於緩慢增長的狀態。

穩定幣轉賬堆棧圖 YTD,圖源:Artemis

Solana在上半年具有引人矚目的穩定幣轉賬的市場份額。但是從6月份之後,其市場份額顯著下滑。上半年Solana表現的絕對亮眼,但是其在下半年的開端轉賬數據有明顯下滑的趨勢。

競爭對手數據

鏈上活躍地址數,圖源:Artemis

在一衆公鏈中,Base被視爲EVM生態潛在的Solana競爭對手。Base的鏈上活躍地址數正在迅猛增加,而Solana在具備先發優勢的情況下,也仍處於高速增長的階段。NEAR維持高位不變,但是Aptos以及Sui在公鏈的競爭中落後。

TVL對比,圖源:Artemis

Solana在Defi領域的TVL也進展顯著,其TVL已經創下歷史新高,並且與其它公鏈相比也有一大段距離,但是值得注意的是Base也處於高速成長的階段。

公鏈穩定幣儲備,圖源:Allium

目前Solana的穩定幣供應的市場份額一直萎靡不振,Ethereum由於多鏈的出現,其市場份額自然縮小,Base市場份額在悄然增加。

融資數據,圖源:Messari

在資本市場融資方面,最近一個季度Base生態的融資頻率大幅增加,並且超過了Solana生態。因此,通過各項鍊上數據的市場份額以及資本融資也能看出,關於市場上Base與Solana競爭是成立的,並且這種競爭壓力伴隨着Base的成熟,Solana會面臨更大,並且Base與Solana的願景相似,都是希望以高TPS完成Mass Adoption的 Cryptio Native Consumer App願景。

面臨的技術挑戰

宕機

Solana由於其網絡架構如Gulfstream Leader選舉機制以及Leader節點的單節點風險,導致了Leader節點的後續預測變得可行,進而當網絡交易增多時,就會對單節點的Leader造成很大的內存壓力,而Leader節點又需要給Turbine樹中的節點隨時準備重新傳輸區塊,否則無法完成共識投票。當大量的ddos攻擊出現時,單節點故障帶來的系統宕機變得極爲頻繁.

總之,宕機主要是無法出塊的問題,有可能是因爲Leader機制帶來的單節點故障,在區塊組建處產生問題,也有可能是共識層無法對區塊達成共識,導致無法出塊的問題。整體而言,這與Solana的本身架構以及軟件的測試流程有緊密相關。

交易失敗

用戶失敗交易的比例,圖源:Dune

使用過Solana的用戶應該知道,我們的交易很多時候都無法正常提交,過段時間以後,發現交易失敗,這造成了極差的用戶體驗。如上圖,根據統計,用戶提交的交易中,其中有35%左右的交易是失敗的,需要用戶多次提交,而在鏈上有較大波動時,這一比例將更大。

其主要原因是網絡層技術QUIC,這是一項較新的技術。

網絡協議層級 — — 5層結構,圖源:Research Gate

QUIC(Quickl UDP Internet Connections)是Google提出的,針對HTTP 2.0協議的傳輸層改進。該實驗性協議是基於UDP傳輸層協議進行研發,也被稱爲HTTP 3.0。

HTTP/2與QUIC圖示,圖源:EMQX

TCP可靠性高於UDP,但是UDP的速率高於TCP,因爲TCP會在包丟失的時候具備擁塞控制機制,重新傳輸丟失的包。UDP速率高,可靠性低,Goggle希望構建一個可靠性高且速率高的傳輸層協議QUIC。QUIC最核心的特性就是相互獨立的邏輯流。它允許在單個連接上並行傳輸多個數據流,並且每個流可以獨立地處理。相比之下,TCP 只支持單數據流,需要按照發送順序接收和確認每個報文。

失敗交易圖示,圖源:bread

Solana宕機的主要原因就是使用了該QUIC實驗性應用層協議,由於UDP以及多路傳輸的快捷,並且希望保持完整數據的傳輸,因此其也會設計機制來對丟包情況進行多次重傳。Leader節點在接收多個交易時,是通過QUIC協議開啓多個通路進行的,但是Leader節點畢竟是一臺計算機,尤其能夠處理的交易容量上線,因此在發生大量的交易涌入時,Leader節點就會切段某些通路連接,這就會導致交易被drop。如何選擇將被切斷的連接並沒有一套既定的標準(比如切斷所有費用低於 xxx 的連接),所有連接是否會被切斷都是隨機性的。因此這就導致了存在一定黑箱操作的空間,Leader節點可能更傾向於有利可圖的MEV交易,而放棄用戶的低價值交易。

MEV

在Solana的出塊機制中,由於RPC是直接與Leader進行交互,並且採用FCFS的原則,因此其不具備以太坊似的Mmepool。由於Mempool的存在,以及以太坊的permissionless原則,相比之下,以太坊面臨更嚴峻的MEV問題。

MEV架構,圖源:Helius

Jito Labs客戶端目前佔據了50%的客戶端市場份額,因此Jito Labs自己構建了一個僞mempool,用戶通過RPC進入一個僞mempool停留大約200ms。jito labs提供了一個鏈下的包含保障,能夠保證該bundle內的所有交易均包含進區塊中。搜索者可以競標夾層攻擊待處理交易的機會,Searchers通過競標到利潤最大化的Bundle,然後Block Engine負責尋找出競價最高的Bundle提交給運行Jito Labs客戶端的Leader。

這是造成MEV的根本,但是MEV有其正外部性以及需求,如果Jito Labs不去做僞mempool,那麼其它項目也會做,因此Jito Labs選擇喫下這個市場,以改進MEV的機制,減輕負外部性。當然,這種對MEV bot的需求導致了用戶處於最弱勢,因爲驗證者將收取手續費,mev bot將獲得套利的利潤的,但是用戶遭受更高的滑點和可能失敗的交易。

狀態增長

Solana的POH機制以及Turbine共識導致了其區塊過大,這會產生狀態增長的問題。目前,賬本大小並沒有一個確切的答案,而賬本還在以實踐環境下的每450ms一個區塊的速度增長,大約每年增長4PB(在1GBPS的最大性能下運行)。目前Solana的歷史修建發生在2個epoch之後,大約是4天的時間(總共100–200GB)。而過去的數據存儲在 Google Bigtable數據庫中 。

關於Solana的賬本數據並不透明,並且官方對於追求大區塊高TPS吞吐量而造成了極高的區塊大小和潛在影響都沒有太多披露,賬本的存儲也完全依賴於第三方,因爲官方也發現google等中心化的數據庫比Genesys Go、Arweave等性能更高,目前這些去中心化數據庫仍然存在商業化落地的問題。這種極具增長的狀態以及中心化的託管都是Solana被詬病的原因之一。

展望

Solana也釋出了其未來的路線圖,包括:

  1. 改善發行Token的協議,包括轉賬加密、Hook以及元數據指針。

  2. 客戶端改進,包括輕量級客戶端Tinydancer、過渡型客戶端Frankendancer、最終客戶端Firedancer。

  3. 生態系統的配套開發組件:Gmaeshift專注於遊戲的SDK、armada markets專注於token代幣生命週期改善、SPE專注於企業級SVM區塊鏈、虛擬機改善等。

我們能夠看到,Solana的POH算法以及Turbine共識機制等都將區塊鏈的三難困境中的性能作爲優先級,其好處就是在目前的環境下有着最優秀的性能表現,帶來了可探索的應用邊界更廣。並且伴隨着Solana以消費者應用程序爲戰略目標,有很大的可能迸發出一些Mass Adoption的應用程序。同時,在Solana上的項目品牌效應較弱,因此對創業者也有更多的機會。

Solana在生態發展上,主要優勢在於DePin/AI以及Meme,但是我們也能夠看到其生態發展仍然沒有達到預想中的發展,Consumer App仍然無法商業化落地。在競爭對手方面也有Base這種後起之秀,Base的融資額度與市場佔有率在迅速提升。

Solana也面臨了一些技術上的問題,包括宕機、交易失敗、MEV、狀態增長過快以及中心化等詬病,但是Solana積極一面就是其並不專注於冗餘的基礎設施建設,更多是依靠現在的TPS容量構建面向消費者的應用程序,而其路線圖也圍繞此展開。伴隨着越來越多的Layer2的構建以及客戶端的上線,SVM生態系統的TPS將更上一個臺階。Solana仍然是一片綠洲,有許多資本沒有充分觸達的生態項目,對於創業者也有很多機會值得探索。