Solana 的誕生,既是面向 Web3.0 的基於底層共識的創新,又是打造去中心化的「世界計算機」的一次初心迴歸。

撰文:小毛哥 MAO

爲什麼公鏈項目層出不窮、持續火熱?表面原因是,市場需求和逐利本性,但深層次挖掘,我們會發現,現有區塊鏈項目與巨大的市場需求之間,仍然存在巨大的性能鴻溝。

區塊鏈是一種解決方案:爲有序且有效的交易提供唯一、規範、不可篡改的分類賬本。簡單來說,區塊鏈技術有三個非常基本的特性: 抗審查、無需許可、無需信任 。不過,當前已經成熟的許多區塊鏈項目,其共識層仍存在巨大的瓶頸,或者說受制於三難困境,即安全、去中心化、可拓展性不可兼得。衆多團隊在區塊鏈的共識層面進行探索,嘗試進行價值捕獲。

如果從共識協議的變遷來思考,我們可以看看,現有公鏈是如何處理時間與狀態的關係的。Grisha Trubetskoy 將一切區塊鏈技術帶來的價值屬性回溯至比特幣發明之初,提出底層共識的本質即是在解決:如何在分佈式系統實現一個時鐘體系(Timing System)?

以太坊、比特幣爲代表的區塊鏈,都採用了傳統區塊鏈的時鐘體系,即時間和狀態相耦合,只有隨着新區塊的產生才能產生全局一致的狀態。而 Solana 的創新之處,則是將時間與狀態更新進行解耦,爲其智能合約平臺提供一個免許可、全局可用、信任最小化時鐘體系,並在達成共識前優化網絡運行。

在 Solana 的時鐘體系中,時間和狀態並非耦合綁定,鏈上交易的時間戳將會被編碼,交易像水一樣在網絡間流動。Solana 把這個核心創新稱之爲「歷史證明機制」(Proof of History, POH)。

一方面,因爲諸多技術瓶頸,去中心化的「世界計算機」構想還未達成,另一方面,未來又要面向注重隱私和用戶所有權而實現去中心化互聯網 Web 3.0。Multicoin Capital 聯合創始人 Kyle Samani 撰寫的一篇文章告訴我們:這兩個願景在邏輯上並非是矛盾的,而是相輔相成、承前啓後的。

Solana 的誕生,既是面向 Web3.0 的基於底層共識的創新,又是打造去中心化的「世界計算機」的一次初心迴歸。

(關於「歷史證明機制」(Proof of History, POH)的深度解析,可以查看我們的上一篇文章《Solana 要讓區塊鏈擺脫時間的鎖鏈?一起讀讀區塊鏈的時間簡史》)

一、Solana 對「世界計算機」難題提交的答案

對於區塊鏈開發者來說,Solana 是最接近於「世界計算機」的項目,「世界計算機」是加密世界的早期概念。Solana 是迄今爲止我們評估過的最具吸引力的 Layer1 平臺之一,我們鼓勵世界各地的開發者能夠認真考慮 Solana。
—— Multicoin Capital 聯合創始人 Kyle Samani

Solana 通過將時間與狀態分離,證明一個信任最小化、無須許可的「世界計算機」是可以實現的。如 Mulicoin 聯合創始人 Kyle Samani 所說,Solana 是最具有吸引力的 Layer 1 平臺之一,下面本文會分別從幾個角度論證 Solana 對區塊鏈開發者來說,是最接近「世界計算機的項目」。

歷史爲證,速度至上 —— 底層性能是一切上層建築的基礎

Solana 在其官方網站寫道:歷史爲證,速度至上。Solana 提供高性能區塊鏈底層平臺是一切上層建築的基礎。

Solana 如何構建去中心化「世界計算機」的宏願?

從「時間維度」理解分佈式系統的性能至關重要,時間決定一切。通過 PoH (歷史證明)「編碼時間」的全新思維,Solana 創造了一個加密安全且無信任的時間源,減少了信息傳遞的開銷並使得大規模網絡優化,使得無許可的分佈式系統甚至可以媲美目前中心化的雲計算提供的性能。

具體說來,比特幣和以太坊等工作量證明 (Proof of Work)網絡系統,可以支持大約每秒處理 10 筆事務 (TPS),以 Tendermint 爲例的實用拜占庭容錯 (PBFT)爲基礎的權益證明 (PoS)系統,當節點數在 100 到 200 個時,系統可支持大約 1000 TPS。

而 Solana 在 5 個大洲的大約 200 個驗證者構成的測試網絡上,吞吐量超過 50000 TPS,平均 TTF (最終性時間)爲 1.5 秒。這基本上可以媲美目前最好的全球分佈式的數據庫 Spanner,但 Solana 具有實質意義的去中心化。

Layer 1 — 抽象複雜性;Layer 2 — No Sharding (拒絕分片)

邏輯簡單、信任最小化的可拓展 Layer 1 底層網絡,實際上在邏輯上抽象了複雜性,使得應用的開發人員能將精力集中在應用程序邏輯上。

將期待留給 Layer 2 的可拓展解決方案和優化應用場景,實際上增加了開發的複雜性,也增加了用戶、開發人員和服務商之間的摩擦。

Solana 將其官方播客取名爲「No Sharding」,這聽起來有些偏激,但 Solana 對於 Sharding —— 作爲一種 Layer 2 的解決方案的觀點,也正表明了 Solana 的態度:盡全力打造 Layer 1 的可拓展性。

Solana 如何構建去中心化「世界計算機」的宏願?

Solana 首席執行官 Anatoly Yakovenko 表示,實施分片技術(Sharding)的項目可能會在其區塊鏈中引入新的安全風險,更容易受到共識攻擊,實施分片的風險遠遠大於潛在的可擴展性優勢。Anatoly 認爲,若是在 Layer 2 將網絡拆分,就會引入一個額外的攻擊媒介。他同時表示,如果網絡中一個分片被黑客接管,可能會引起多米諾骨牌效應,從而影響代幣價格並導致大量用戶和節點外流,允許黑客利用分散策略破壞全網生態系統。

Vitalik Buterin 於 2014 年 1 月在向世人揭開以太坊的面紗時,他所強調的正是這一點:世界計算機的意義在於抽象所有不特定於應用程序的東西。不過,Vitalik 的理想仍未完成。2019 年 8 月 21 日,Vitalik 在推特上發文稱,對於 Layer 2 鏈下擴容方案感到悲觀,因爲對於激勵要做很多應用層處理,並且很難大規模應用。

Solana 如何構建去中心化「世界計算機」的宏願?

其實,在絕大多數的使用場景中,構建智能合約的開發者可能不想或者無力處理 Layer 2 或者分片,而 Solana 區塊鏈則滿足了這種需求。Solana 區塊鏈之上的開發人員,無需考慮如何擴展底層的邏輯,因爲 Solana 提供了一個更簡潔實用的選擇:在不犧牲第一層網絡(Layer 1)安全性和簡潔性的前提下,達到比肩第二層(Layer 2)擴容解決方案的高性能處理速度。

Solana 在 Layer 1 本身抽象出所有底層和經濟系統的複雜性,開發者可以專注於其自身所應該專注的應用開發的邏輯。

爲開發者打造的底層區塊鏈平臺

對於構建如 DApp 的區塊鏈開發者來說,Solana 具有一切助力其成功開發軟件的底層的屬性:

  • 高吞吐量:測試網在 200 個節點的全球網絡中達到 50,000 Tps
  • 低延遲:約 1 秒的最終性
  • 交易費用低:通常來說以分爲單位來衡量
  • 編程語言:Rust 是其旗艦編程語言,同時也支持 C、C++、Libra 的 Move 語言
  • 異步算法:異步的拜占庭容錯共識算法
  • 全球狀態:支持可組合智能合約的全球統一狀態

值得一提的是,Facebook 的 Libra 團隊創造了一種新的 VM 和編程語言 Move。雖然 Libra 在 2020 年發佈主網時無法編程,但從 Libra 團隊已經開源的代碼庫中,Solana 開發人員發現 ,Move 和 Solana 的 Pipeline VM 有很多相似之處。

Solana 如何構建去中心化「世界計算機」的宏願?

其中,Move 語言引入了資源 (Resources) 和腳本 (Scripts) 作爲高階概念。兩者都可以很自然地適應 Solana Pipeline 運行時以及本地程序的設計。Solana 的目標將 Move 作爲第一層語支持原生 Solana 程序一樣運行,並且可以通過 Move 語言以及 Solana 原生的 Rust 語言進行交互開發和組合,不會影響性能或安全性。

Solana 此前已宣佈支持 Move 語言,包括 BFT 和 GPU 上的並行交易處理。這意味着使用 Move 語言構建的項目及應用程序與 Solana 兼容,開發者可以相對容易地將爲 Libra 編寫的應用集成在無需許可的 Solana 鏈上,以共享 Solana 網絡的交易速度和強大的可拓展性。

Solana 既可以受益於基於 Libra 的開發渠道,同時還能以完全無須許可的方式來運行 Libra 的程序。按照目前的進程,Solana 的主網將在 2019 年 10 月推出,Solana 很有可能成爲第一個實際上支持基於 Move 語言應用的區塊鏈。

二、Solana 如何通過基於底層共識的創新引領 Web 3.0 浪潮?

我不確定隱私對於 Defi 是否必要,或許有人認爲隱私不是一個必需品,而我們要做的是,讓用戶有一個選擇的權利。
—— Solana 首席執行官 Anatoly Yakovenko

Solana 如何構建去中心化「世界計算機」的宏願?

在 Web 2.0 時代,用戶數據的所有權歸平臺所有,這帶來的風險包括平臺數據泄漏、售賣用戶數據等問題。Web 3.0 時代的願景,是將權利還給用戶,用戶可以自己掌握數據,而壟斷數據的巨頭們將可能被顛覆。

Web 3.0 概念是由以太坊前 CTO 和波卡的創始人 Gavin Wood 於 2014 年 4 月的一篇文章中首度提出的。相比於傳統的互聯網,Web 3.0 旨在打造一個去中心化的新型互聯網方案,得益於其去中心化的內核,還會同時擁有隱私和抗審查等特性。

Gavin Wood 曾表示,隱私保護是 Web 3.0 的核心。在談到 Web 3.0 時代隱私的重要性時,Solana 首席執行官 Anatoly 在一次採訪中給出了另一個答案:「我不確定隱私對於 Defi 是否必要,或許有人認爲隱私不是一個必需品,而我們要做的是,讓用戶有一個選擇的權利。」

美國著名幣圈投資機構 Multicoin 聯合創始人 Kyle Samani 曾在 2018 年底撰文詳細解析 Web3.0 願景下堆棧的生態全景,描述了各種去中心化技術是如何一層層堆積起來組成一個完整的系統架構,其中 Solana 因爲其獨有的共識協議層的創新被歸類在 Web 3.0 的核心層(Core Stack)之下,給投資者巨大的期待,也引起了巨大的關注和討論。

經過一年的時間,隨着 Solana 生態不斷擴展,測試網如火如荼的進行,Kyle Samani 在 2019 年再次發佈《開啓 Web 3.0 解綁中心化向量》,文中提到相信 Web3.0 將成爲一種範式轉換,將在下一個十年解鎖數萬億美元的價值。經過了一年思考和沉澱後, 他指出實現 Web 3.0 願景的痛點在於:將數據的所有權和應用邏輯進行解綁。

解綁中心化數據庫,解決大規模數據的可用性問題

Web 2.0 時代的模型中,平臺將替用戶存儲和管理數據,由此產生了大規模存儲的機房、24 小時在線的服務器。而在 Web 3.0 願景下,數據不是往中心化存儲發展,沒有一箇中心化的平臺數據提供者。因此,數據所有權的範式需要改變,數據所有權的解綁也是 Web 3.0 的基礎痛點之一。

這一痛點與 Solana 的創新不謀而合,尤其是 Solana 通過 Replicator (複製器)等創新致力於大規模解決數據可用性問題。

我們在上一篇文章也曾介紹過 Solana 通過驗證人和複製器(Replicators)創新性地打造雙節點分工,生成輕量級證明,以優化數據儲存。

區塊鏈網絡的大規模數據亟待解決,目前區塊鏈網絡以 1 GB 每秒的速度,每年將爲賬本生成 4 PB 的數據。按照這樣的速度,區塊鏈數據的存儲將很快成爲主要的中心化向量,繁瑣的中心化數據庫的方向可能將成爲實現 Web 3.0 去中心化願景的絆腳石之一。

驗證人節點:負責驗證網絡數據,但 PoH 歷史證明和 Tower PBFT 幫助其提高驗證速度。
複製器節點:從驗證人節點中獲取計算權重,以極小的硬件要求進行操作。

複製器節點(Replicators)對硬件的要求不高,我們日常所有的筆記本電腦就可以執行。但是複製器節點在網絡中的作用卻很重要,能夠優化分佈式數據存儲系統,旨在解決處理數兆字節級 (pb) 數據的數據可用性問題。

Solana 的複製器節點不需要參與共識並存儲整個數據歷史,而是利用多個複製器節點分別儲存數據歷史的小片段,以生成輕量級證明並執行糾刪碼功能,從而將整個狀態歷史被分割成許多部分。這種證明可以複製賬本的各個部分,而且允許驗證人能夠跨 GPU 批量驗證

Solana 使用的複製證明 (PoRep)理念主要借鑑自 Filecoin,並利用 PoH 共識提供的時序來源優化複製證明(PoRep)的創建方式。Solana 利用兩種類型的節點分工,生成輕量級證明,解綁繁瑣的中心化數據存儲,並改變數據所有權的範式。

解綁應用和架構的耦合,實現邏輯集中+架構去中心化

以太坊創始人 Vitalik 曾詳細解釋區塊鏈的「去中心化」的概念。在他看來,當人們在討論去中心化時,實際上是在討論三個相互獨立的維度,只是在某些情況下,三者也存在相互依賴關係:

  • 架構層面的去中心化:系統由幾臺物理計算機組成?系統最多可以承受幾臺計算機同時崩潰?
  • 控制權層面的去中心化:有多少個體或者組織擁有系統的實際控制權?
  • 邏輯層面的去中心化:系統呈現和維護的接口和數據結構看起來更像一個整體,還是非整體?

Web2.0 通過壟斷來應對上述的所有問題,它們依賴於邏輯上的中心化存儲。這種模式的問題在於,Web2.0 系統耦合了所有形式的中心化:它們不僅在邏輯上是中心化的,而且在政治上和架構上也是中心化的。

Multicoin 聯合創始人 Kyle Samani 在最新的文章中給出了他的解決方案:爲政治上和架構上去中心化的系統提供單一邏輯上的中心化接口,並總結道,從 Web2.0 向 Web3.0 過渡最大挑戰,是從具有三個中心化向量(邏輯、架構和政治上)的耦合系統,向邏輯上中心化但架構和政治上去中心化的系統轉變。

我們在前文提到,構建在 Solana 區塊鏈之上的開發人員無需考慮如何擴展底層的邏輯。Solana 通過擴容在 Layer 1 本身抽象出底層和經濟系統複雜性的意義,也就顯而易見了。因爲順着這一層邏輯思考,Solana 本身所代表的高性能 Layer 1 網絡 + 解決數據可用性問題的 Repliator (複製器)創新,其實就是向着 Web3.0 解決方案(邏輯中心化 + 架構去中心化)方向所作出的努力。