Solana 將 PoH 與 PoS 結合,探索了新的性能提升方案,在實踐中已超過 5 萬 TPS。

原文標題:《OKEx Research:一文讀懂以太坊殺手 Solana》
撰文:OKEx Research

OKEx 在 9 月 30 日上線了 SOL,並且從 9 月 30 日到 10 月 30 日期間舉辦 SOL 有關活動——做任務贏取 10 萬美元獎勵。不僅 OKEx,據 CoinMarketCap,13 家平臺上線 SOL,備受青睞的 SOL 究竟有何來頭?

公鏈領域存在着一個「不可能三角」——去中心化,安全性,可擴展性三者不可兼得,其中,去中心化和安全性是兵家必爭之地,於是可擴展性便成爲許多公鏈的頭號目標。而 Solana 的可擴展性可以達到網絡級別,即跟上摩爾定律的步伐,理論上標準千兆網絡下 TPS 最高 71 萬,實踐中,Solana 每秒最多處理了超過 50000 筆交易,性能高,且發送 100 萬筆交易僅需 10 美元,交易費用低。

Solana 概述

Solana 是號稱能達到網絡級性能的開源區塊鏈網絡,總部位於瑞士的日內瓦,3 位主要創始人是 Anatoly Yakovenko、Greg Fitzgerald 和 Stephen Akridge,都曾就職於高通公司。Solana 名字源於聖地亞哥北部一個名爲 Solana Beach 的海灘小鎮,3 位創始人還在高通工作時在此生活和衝浪了三年。

下表列舉了 Solana 早期的大事件:

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟表 1:Solana 歷史大事件,資料來源:Solana 官網,OKEx Research

Solana 沒有用 Layer 2 的解決方案或者 ETH 2.0 的分片技術,而是主要採用工作歷史證明(Proof of History)技術達到更高的性能。核心創新如下,在第二部分將主要闡述工作歷史證明 PoH。

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟表 2:Solana 核心技術,資料來源:Solana 官網,OKEx Research

Solana 採用有委託的 PoS 機制,礦工將 SOL 委託給驗證節點參與維護網絡,獲得協議設定的 SOL 獎勵。驗證節點領導者(Leader)生成 PoH 序列,將用戶消息、命令排序,使得其他驗證節點(Verifier)可以高效處理,投票出 PoH 狀態。

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟圖 1:Solana 工作機制,資料來源:Solana 白皮書,OKEx Research

Solana 網絡參與者有 4 類:

  • 用戶:使用網絡服務並支付少量交易費用。
  • SOL 持有者 / 礦工:將 SOL 抵押委託給驗證節點,和驗證節點共擔風險,共分收益,抵押者收到的收益和抵押到某驗證節點的 SOL 成正比。
  • 驗證節點:投票 / 驗證 PoH 狀態,驗證區塊的有效性。正確投票,獲得獎勵,反之,損失抵押 SOL。
  • 驗證節點領導者(Leader):從驗證節點中競爭選出,負責收集交易,創建包含 PoH 的區塊,更新網絡狀態。有權保留部分交易費用,不得超過協議規定的上限。

驗證節點的抵押越多,越有可能被選爲 Leader。同時爲了激勵驗證節點誠實,驗證節點每正確投票一次,信用分(credits)會增加。而每一輪裏,獲得的獎勵和信用分與抵押之積成正比,即信用分越高、抵押越多,分到的獎勵越多。

成爲驗證節點有一定 SOL 和硬件條件要求,並且系統對不工作或者作惡的驗證節點設置了 SOL 罰款,主網 β 版將會推出削減功能(Slashing),自動懲罰作惡節點的部分 SOL。

如下圖所示,Solana 的礦工主要分佈在歐洲、美國,在我國的熱度並不高。

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟圖 2: Solana 頭部礦工分佈,資料來源:Solanabeach,OKEx Research

據 Github 記錄,Solana 有 63 個代碼庫,包括 5 個主要代碼庫,11 個固定成員。其中,最重要的代碼庫 solana 前後有 75 人蔘與編寫,自建立後大部分時間每日更新頻率超過 50 次,2019 年 2 月更新頻率最高。

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟圖 3:Github 上 solana 更新頻率隨時間分步,資料來源:Solanabeach,OKEx Research

2019 年 11 月,Solana 項目被著名軟件安全公司 Kudelski Security 審計。

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟圖 4:Kudleski 對 Solana 的審計結果,資料來源:Solanabeach,OKEx Research

Solana 交易總數超過 41 億,出塊時間爲 429 毫秒,區塊高度超過 3969 萬,全球驗證節點有 178 個。市面上 13 家交易所和 14 個錢包已支持 SOL,錢包範圍涵蓋了移動 App、網頁端、軟件、命令行錢包。2019 年 7 月獲得來自 Multicoin Capital、Foundation Capital、Distributed Global 等的 1800 萬美元融資。

Solana 如何大幅提升網絡性能

以太坊最新吞吐量數據爲 25 TPS,Visa 大約 1500 TPS,而 Solana 約 50000 TPS,致力於成爲網絡級的公鏈。不同於 Layer 2 的各種解決方案或是 ETH 2.0 的分片技術,Solana 是如何大幅提升網絡性能的呢?

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟表 3:各公鏈最新吞吐量數據,資料來源:Solanabeach,OKEx Research

去中心化網絡總是存在不同步的情形,如何達到共識是去中心化網絡首要解決的問題。在比特幣中,節點依靠的是本地時間,每個節點的時間不一樣,因此不能用時間戳做判斷。Solana 的思路是找到一個可驗證的、共享的時間。SHA 256 作爲 Solana 的驗證延遲函數(Verifiable Delay Function),具有不可逆性,只能單向計算。如下圖所示,PoH 中,上一個輸出作爲 SHA256 的當前輸入,需要寫進的數據附加在輸入裏,如此往復,週期性地記錄每次 SHA 256 輸出和次數,驗證節點通過驗證和重複這個計算過程得到需要的時間間隔。

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟圖 5 : PoH 機制,資料來源:Solanabeach,OKEx Research

代幣經濟

Solana 的代幣爲 SOL,總供給爲 4.886 億個,現價 2.16 美元,市值 1 億美元。在衡量交易費用時,通常用一個更小的單位 lamports,1000000000 lamports = 1 SOL。

SOL 的通貨膨脹率或者 SOL 供應量隨時間的變化由協議設定,具體爲 Solana 網絡設置的初識通貨膨脹率爲 15%,每年減少之前的 15%,達到長期穩定率(1%-2%)後保持不變。下圖爲 Solana 官方給出的示例。這種代幣發放設計使得早期 SOL 發放迅速,後期 SOL 供給緩慢增多,有利於早期參與者的利益,但是不利於早期的幣價穩定。

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟圖 6:SOL 通貨膨脹率隨時間變化,資料來源:Solana 官網,OKEx Research

OKEx Research:讀懂高性能公鏈 Solana 擴容原理與代幣經濟圖 7:SOL 代幣發放隨時間變化,資料來源:Solana 官網,OKEx Research

結語

Solana 將 PoH 和 PoS 等結合,走出了自己的性能提升之路,雖然沒有達到理論的 71 萬 TPS,在實踐中已超過 5 萬 TPS。網絡設計和代碼編寫歷時較長,更新頻率保持良好,且經過了 Kudelski Security 兩個月的審計。10 月底,Solana 將開啓蟲洞(Wormhole)駭客馬拉松,蟲洞計劃旨在建立連接 Solana 和以太坊的橋樑,如果成功實施,將是跨鏈功能的一大進展。

Solana 在我國挖礦熱度不高,SOL 代幣發放早期太快,不利於幣價穩定。還曾發生信任危機,今年 4 月 Solana 團隊被發現 SOL 實際流通量與公佈流通量不符,團隊私自將本該被鎖定的 1136 萬 SOL 借給做市商,消息一出 SOL 大幅下跌。