數位貨幣衍生品交易所 FTX 創辦人兼頂級做市商團隊 Alameda Research 創辦人 Sam Bankman-Fried 上個月宣布涉足 DeFi 領域,打算攜同合作夥伴一起推出基於公鏈 Solana 的去中心化交易所 「Serum」,並且配備全套 DeFi 基礎設施,包括跨鏈資產、互操作方案以及原生代幣 SRM 等,號稱能在保證完全去中心化的前提下,提供媲美中心化交易所的用戶體驗。

Sam Bankman-Fried 還公開喊話:「Solana 棒極了!」

這是什麼情況?為什麼去中心化交易所(DEX)不是基於以太坊而構建的?這一切都源於 Solana 的特色:在保證一定程度安全的前提下,實現高性能和低費用。

Solana 現狀

截止到藍狐筆記寫稿時,Solana 的總交易數近 20 億次,當前的 tps 大約 200-300 之間,大約是目前 ETH 的 10-20 倍,能處理當前多數場景的交易,尤其是 DeFi 領域的交易。

 來源:Solanabeach.io

Solana 的代幣為 SOL,截止到藍狐筆記寫稿時,其流通市值超過 3800 萬美元,活躍的質押超過 1.7 億,一共有 135 位質押者。其中質押超過 100 萬美元(按當前 SOL 價格計算)的質押者達到 128 位,目前的驗證者是相對分散的,且都質押一定量的資金,Solana 已經有了一定的社區基礎。目前其質押者主要來自於歐洲、美國,亞洲質押者參與度相對較低。

來源:Solanabeach.io

不走分片之路的 Solana

目前區塊鏈擴展的主流方案是分片+layer2。而 Solana 是個另類。它並沒有選擇分片之路,這也是加密世界中兩個讓藍狐筆記印象較深的項目,一個是 Solana,一個是 Holochain。Solana 試圖實現高性能、低費用,且兼顧一定程度的去中心化和安全。它還有一個很重要的優勢是,不用擔心可組合性的問題。如果公鏈分片之後,可組合性是個必須面對的問題。而沒有分片的 Solana 則不存在這種擔憂。

Solana 創始人是 Anatoly Yakovenko。從公開資料看,他之前一直在思考一個問題:多節點組成的去中心化網絡如何才能達到單節點的性能?對這一問題的底層思考,引出了 Solana 最重要的概念之一:PoH(Proof of History)。

Solana 的時鐘

Solana 的 PoH 並不是共識機制,也不是抵抗女巫攻擊的機制。它本質上是針對區塊鏈時鐘問題的解決方案。當前區塊鏈的時鐘按照區塊滴答來行進,比如比特幣,其時間滴答大約每十分鐘一次,每次滴答更新一次區塊,區塊的更新代表全局狀態的更新。也就是說,在比特幣的 PoW 機制中,時間和狀態是耦合的,保持同步的行進。中本聰通過將 PoW、難度調整以及最長鏈規則結合一起,實現了在無須許可環境下的全局共識。

不過,這種全局共識也存在吞吐量的限制,因為吞吐量取決於區塊大小和區塊時間。區塊越大,區塊時間越短,吞吐量越大。但區塊越大不利於節點的去中心化,減少區塊時間則會增加鏈分叉的概率。

為提高吞吐量,Solana 提出了將時間和狀態解耦的方案,如何實現這一點?需要全局可用的時鐘。有了全局時鐘,狀態更新可按照異步方式進行;有了全局一致的時鐘和交易時間戳,可以實現交易在網絡間的持續流動。Solana 的 PoH 機制就是為網絡中的所有節點產生全局可用的時間鏈。

有了獨立的時間鏈,驗證的領導者在收到時間戳後會盡快廣播給委員會。時間戳有規範順序,不是區塊生產者任意確定的順序,這樣,Solana 中的驗證者可以實時向其他節點發送狀態更新。節點持續收到新的交易,交易有發送者簽名過的 PoH 哈希,並將其轉發給鄰居節點。

Solana 的驗證者通過 SHA-256 順序哈希的 VDF(可驗證延遲函數)來解決時鐘問題。每個 Solana 的驗證者使用 VDF 來維持其自己的時鐘,可以為周期(epoch)提前安排領導者。

通過 PoH,Solana 的驗證領導者可以實現持續輪換,且其輪換的決定是異步進行的。Solana 網絡也可以輪換驗證者,且其輪換可在驗證者之間無須相互交談就可實現。而通常的區塊鏈則需要驗證者之間進行交談才能作出輪換決定。這種設計給予 Solana 更大的可擴展性空間。

除了 PoH,Solana 在共識機制、區塊廣播、賬本存儲等方面也進行了優化。

Solana 的TBFT 共識

Solana 的共識機制是 TBFT 共識(Tower BFT),類似於 PBFT 共識。不過,Solana 的 TBFT 將其活性優先於一致性。Solana 的節點可以計算當前的驗證者數量、每個驗證者狀態、每個驗證者提交給網絡中任何區塊的超時。通過這些數據結構,節點可以進行投票,從而達成共識。

Solana 的Turbine 區塊廣播

Turbine 是 Solana 的區塊廣播技術,借用了 BitTorrent 的思想。一個區塊傳輸時,它會分成很多個小數據包,然後廣播到大量的隨機節點。按照 Solana 自身的說法,使用其扇出機制,如果每個連接為 100 毫秒,對於 40,000 個節點的網絡而言,可以在 400 毫秒內完成複制,500 毫秒內完成最終性。

此外,由於 Solana 的共識層不依賴於點對點消息,因此可以獨立於共識進行區塊網絡傳輸的優化。

Solana 的Gulf Stream

在 Slolana 的結構中,每個驗證者都知道未來領導者的順序,驗證者會提前將交易轉發給預期的領導者。這可以讓驗證者提前執行交易,減少確認時間,減少對驗證者的內存壓力。

而像錢包這樣的客戶端則簽署引用特定區塊哈希的交易。客戶端選擇被網絡完全確認的區塊哈希,最差的情況下需要 32 個區塊,假設區塊時間大約 800 毫秒,最多只需要 25.6 秒完全確認。

一旦交易轉發給任意驗證者,驗證者會轉發給未來的領導者。客戶端可以訂閱來自驗證者的交易確認。客戶端知道區塊哈希在有限時間內過期或者交易被網絡確認。它允許客戶端簽署交易,這些交易可以保證執行或失敗。

Solana 的 sealevel

sealevel 是 Solana 用來構建橫向擴展的技術方案,是並行交易處理的引擎。多數區塊鏈都是單線程的計算機。Solana 試圖在單個分片中支持並行交易執行。它藉鑑了「scatter-gathter」的操作系統驅動程序技術。交易預先指定它們在執行時將讀取或寫入的狀態。運行時可以找到一個塊中所有非重疊狀態轉換函數,且並行處理。

sealevel 本身是用於安排交易的虛擬機,但它並不在虛擬機中執行交易。它使用 Berkeley Packet Filter(BFT,為高性能數據包過濾器設計)的字節碼,將交易在硬件本地執行。

使用 LLVM(針對 WASM 的相同編譯器),可為開發者提供一組工具,用 c/c++和 Rust 編寫高性能的智能合約。Solana 沒有使用 WASM,不過開發者可以在 Solana 編譯器上通過少量更改重新編譯 C 和 Rust 代碼。開發者可以從其他 WASM 鏈(ETH2.0、Polkadot、EOS 等)將應用遷移過來。這一點對於開發者來說,會有一定的吸引力。

為保證安全,Solana 的體系結構支持不同模塊之間保持嚴格狀態分離,同時將資源和腳本作為高級概念引入。

Solana 的Pipelining

Solana 網絡上的交易驗證過程利用了 Pipelining 的機制(CPU 設計中常見的優化)。Solana 網絡上 Pipelining 機制(交易處理單元)在內核級別進行數據獲取、在 GPU 級別進行簽名驗證,在 CPU 級別進行存儲,在內核空間進行寫入。據 Solana 的說法,通過這一機制,其交易處理單元可以同時處理 50,000 個交易。

Solana 的 Cloudbreak

Cloudbreak 是 Solana 的水平擴展內存方案。除了擴展計算,也有必要擴展內存,因為用於跟踪賬戶的內存很快會在大小和訪問速度方面成為瓶頸。一般的處理方法是在 RAM 中維持全局狀態。不過,普通的計算機沒有足夠的 RAM 來存儲全局狀態。Solana 設計了 Cloudbreak 的狀態架構來進行優化。每個額外的磁盤增加了鏈上程序可用的存儲容量,並增加了在執行時可以執行的並發讀寫程序數量。

這個結構支持交易的提前執行。只要驗證者觀察到交易,sealevel 可以開始從磁盤中預取所有賬戶,並為執行準備運行時。驗證者和區塊生產者可以在交易編碼進入區塊前開始執行交易,有利於進一步優化區塊時間。

Solana 的 Archiver

為減輕驗證者負擔,Solana 將數據存儲從驗證者轉移到名為 Archiver 的節點網絡。交易狀態的歷史記錄被拆分為很多碎片,並使用糾刪碼技術。Archiver 用於存儲狀態的碎片,但不參與共識。Solana 利用了 PoRep(Proof of Replication)的技術,了解 Filecoin 的小​​伙伴們肯定很熟悉,這是源於 Filecoin 的概念。

Solana 通過 PoH(Proof of History)來優化 RoRep 的創建方式。Archiver 節點使用 PoH 產生輕量級的證明,驗證者可以通過 GPU 進行大規模驗證。Archiver 節點甚至可以是輕量級節點(例如筆記本電腦)。通過糾刪碼和冗餘,Archiver 網絡可以提供數據可用性保證。

通過 PoH 的創新和其他幾個方面的優化,Solana 試圖走出一條不靠分片的擴展之路。

如 Serum 能成功,對 Solana 意味著什麼?

Solana 之前有過 Kin 的支持,kin 將其網絡遷移至 Solana。而如今 FTX 的 Serum 也計劃構建在 Solana 上。一旦它獲得一定的用戶規模和開發者支持,就會引起越來越多的社區和開發者註意。

FTX 選擇 Solana 構建其 DEX Serum。核心原因有幾個:

一是高吞吐量和低延遲。

當前其理論 tps 最高可達 50,000 次(60 個節點)。如今 Solana 的 tps 也在 200-300 之間(超過 150 個節點),它可以在不到 1 秒時間內完成交易。這對跟如今的區塊鏈的低吞吐量和高延遲形成鮮明對比。如果發生抵押資產價格暴跌情況,吞吐量過低,速度過慢都可能導致用戶大量損失。這些現實的情況不斷促使開發者和用戶在尋找新的選項。

二是低費用。

據說百萬筆轉賬的交易費用才 10 美元左右。這跟如今用戶參與 DeFi 挖礦的費用形成巨大反差。如今用戶參與 DeFi 的流動性挖礦花費幾十美元的 gas 費用是很平常的事情。這麼高的費用除非有極高的收益支撐,否則很難持續。

三是兼容性和無須擔心可組合性。

Solana 支持 Rust、C、C++、Move(Libra)語言,也支持開發者從 WASM 鏈( ETH2.0、Polkadot、EOS 等)將應用遷移過來。這些兼容性可以降低開發者開發成本。

此外,由於 Solana 走的不是分片之路,也無須擔心智能合約的跨分片交易等問題。

Serum 的能否成功,對 Solana 的意義不會低於對 FTX 的意義。如果 Serum 成功運行,那麼,其他飽受高費用、低吞吐量、低速度的 DeFi 項目也會開始認真考慮其更多的選項和可能性。當然,由於以太坊生態的豐富性,這不意味著會離開以太坊,只是會考慮更多的選項。

不走分片之路的Solana 要走的不是小路

Solana 網絡採用了基於 PoH 時鐘機制,還優化了共識機制、數據廣播、並行交易處理、用單獨節點網絡進行狀態數據存儲等,其目就是為了在保證一定程度去中心化和安全的情況下,實現高吞吐量、低延遲和低費用,從而可以滿足大部分場景的用戶需求。

Solana 想要摘取加密領域的聖杯:可擴展性。所以,Solana 要走的路不是小路,而是充滿夢想的大路。

但它又是另類的,它走的不是分片的可擴展之路,它是加密領域的新物種。

加密領域比特幣和以太坊佔據絕對主導地位,想要在現有架構下超越它們幾乎不可能。唯有全新架構才有機會,唯有新物種才能發展壯大。

當然,新架構意味者高風險,因為它可能做不出來,也可能做出來了但沒有社區的支持;它也意味著高收益,如果它能做出來且得到開發者和社區的支持,它就有機會發展壯大。

這就是為什麼藍狐筆記一直在關注不同的區塊鏈範式的原因。其中 Solana 和 Holochain 一直處於藍狐筆記的關注範圍,但未來它們能否成功只有時間才能告訴我們,也歡迎大家留言,說說自己心目中的全新區塊鏈物種。


以上內容獲合作夥伴  藍狐筆記(微信公眾號 :anhubiji)授權節錄及轉載

聲明:文章僅代表作者個人觀點意見,不代表區塊客觀點和立場,所有內容及觀點僅供參考,不構成投資建議。投資者應自行決策與交易,對投資者交易形成的直接間接損失作者及區塊客將不承擔任何責任。


熱門市場動態與新聞傳送門:

區塊客致力於發掘和整理各種與區塊鏈技術有關的內容,只要與區塊鏈或區塊客網站有關的合作和/或建議,我們都非常歡迎。請您發電郵至 [email protected] 與我們聯繫。

Avatar

區塊客