摘要和前言-jz

先前介紹過以太坊與智能合約的誕生,讓各種各樣的去中心化應用 (DApps) 建立在以太坊上,打造豐富多元的以太坊生態系。而繼以太坊之後,更多的區塊鏈陸續問世,其中以素有「以太坊殺手」之稱的 Solana(SOL)風頭最盛, Solana 的主要目標是讓區塊鏈的交易吞吐量隨網絡規模變化按比例擴大,並提高效率、降低成本的執行智能合約與交易,同時實現高吞量、安全、去中心化三個要素,試圖打破區塊鏈“不可能三角”的魔咒。

但隨著區塊鏈產業蓬勃發展, 2022 年作為競爭對手的 Avalanche、Cardano 等新興區塊鏈陸續崛起,Solana 是如何脫穎而出的呢?

Solana 的發展進程-jz

Solana 是一種專門為去中心化金融 (DeFi) 建立,並採用區塊鏈技術免授權特性的高效能、開源區塊鏈項目。其目標是創立一種分佈式、免信任、具備快速增加系統資訊處理能力的協議。該協議使用歷史證明共識算法 PoH ,並融合權益證明共識機制 PoS ,以提高擴充效能性 (Scalability),並且通過八種創新的核心結構方式,優化其性能。 Solana 的初想概念與框架構思於 2017 年,由 Anatoly Yakovenko 提出 Solana 的白皮書。在成立 Solana 前,Yakovenko 任職於高通(Qualcomm),同時曾擔任 Dropbox 的程序員,擁有豐富的壓縮算法技術。 2018 年,Yakovenko 與他的高通前同事 Greg Fitzgerald 等其餘四人組建成核心團隊一同開發測試網;2019 年,開始募集創投機構的投資,所募集金額高達到數億美元; 2020 年 3 月, Solana Foundation 在總部位於瑞士日內瓦正式推出。 其中 Solana 團隊成員背景各異,其中不乏來自全球名列前茅的科技企業,如 Dropbox、Apple、Intel、Google、Microsoft、Twitter 等等。

Solana 的運作方式-Pic

Solana 是使用權益證明 (Proof of Stake, POS) 搭配歷史證明 (Proof of History, POH) 的區塊鏈網絡。在權益證明的區塊鏈網絡中,節點可以質押代幣成為驗證人,以寫入和確認區塊鏈上的交易記錄並獲取質押獎勵。Solana 區塊鏈上,大約每經過 1.6 秒 (4 個區塊) 會根據質押的 SOL 代幣數量隨機選取一個節點作為主驗證人 (Lead Validator),主驗證人會將新的交易紀錄寫入區塊鏈網絡中,並由其餘的節點驗證交易紀錄的正確與否。

在區塊鏈網絡上,驗證交易是很花費時間的事情,不同地區的節點可能因網絡延遲,或受其他節點的影響而造成錯誤。因此,所有的節點都必須對交易紀錄的存在與否,以及交易紀錄的先後順序達成共識後,才能進行打包並生成下一個區塊。

Solana 網絡的「歷史證明」演算法,通過遞迴的可驗證延遲函數 (Recursive Verifiable Delay Function) 對區塊鏈上的每一筆交易紀錄建立出有時間排序的資料結構,這讓每一個節點都彷彿擁有一組共通的鏈上時鐘,不必等待其他節點廣播完畢也能繼續作業,同時還能確保交易排序的正確性。「歷史證明」機制讓 Solana 網絡可以用更快的速度產生新的區塊,在 1 Gbps 傳輸速度的網路中,每秒事務處理量 (transaction per second, TPS) 的理論值高達 71 萬。

什麼是歷史證明 (Proof of History)?-Pic

在 Solana 網絡中,歷史證明是將每一起事件和交易記錄帶入 SHA256 雜湊函數 (Hash Function) 中,以產生獨特的雜湊值 (Hash) 與序列數 (Count)。SHA256 雜湊函數可以將任何信息都轉換為長度 256 位元的數據,相同的數據來源會產生相同的計算結果,而不同的數據來源會產生不同的計算結果,這個特點被稱為抗碰撞性 (Collision Resistance)。

Solana 使用遞迴的方式,不斷地將前一個 SHA256 雜湊函數的計算結果作為下一筆輸入數據,再次進行 SHA256 雜湊函數計算,由於任何人都能輕易驗證雜湊運算的結果是否正確,且進行遞迴運算需要花費時間,因此又稱為可驗證延遲函數 (Verifiable Delay Function)。若在不同的序列數中出現了不同的雜湊值,就能夠證明有時間流逝,且根據雜湊值和序列數可以排列出事件發生的先後順序。