從狀態機的角度觀察比特幣二層,Web3大規模應用的架構是什么樣子?
原文作者:付少慶,SatoshiLab ,Bihelix ,萬物島 BTC 工作室
閱讀注釋:
(1)本文稍顯晦澀,因為涉及了一些系統的底層原理,並且作者本人在分布式系統方面的理論與實踐經驗有限。一般讀者可以直接閱讀結論,即 3.3 節 web3.0 大規模應用的架構。
(2)對於二層建設的分類,參考文章《一文梳理比特幣二層(Layer 2)建設的基礎知識體系》。根據參考文章中的系統結構分類,將比特幣 Layer 2 的二層分為三種:區塊鏈式結構, 分布式系統結構,中心化系統結構。
(3)從狀態機的角度觀察比特幣的二層建設會發現狀態機的原理在三種系統結構(區塊鏈系統、分布式系統、中心化系統)中都適用,只是實現的方式受限於系統的結構。
(4)三種觀察角度:分布式账本,狀態機,區塊+鏈結構
前言 多層次與多角度
多層次與多角度觀察事物屬於綜合分析方法論。它的優勢體現在幾個方面:全面性、深 度理解、綜合性、精准性、利於執行。綜合分析方法論的優勢使得它在復雜和多變的問題中 具有較強的應用價值,可以提供更全面、深入和准確的分析結果,為解決問題和推動發展提 供有力支持。
(1)多層次
多層次一般可以採用宏觀、中觀、微觀,也可以從時間的周期上,採用短期、中期、長期三個層次上觀察。在比特幣生態的發展中,我們從短期、中期、長期三個層面觀察,可以 獲得比特幣生態更全面、深入和准確的認識和理解。
這裏借用大山老師的總結:“ 比特幣生態分成短期、中期、長期的三個機會: 比特幣生態短期機會是 BRC-20 為代表的銘文賽道; 中期機會是比特幣 Layer 2 賽道和 Nostr 加閃電網絡賽道;長期機會是 RGB 協議和 BitVM 為代表的鏈下解決賽道。這其中包含的四個賽道,銘文賽道;Layer 2 賽道;Nostr 加閃電網絡賽道;鏈下賽道(以 RGB 和 BitVM 為代表)。”
本文在 3.4 節中將 Layer 中基於鏈的二層建設的前期階段也劃入到短期機會,原因在 3.4 節中介紹。
(2)多角度
同時對於比特幣生態,我們從多個角度觀察,可以帶來全面、客觀、深入、靈活和創新的優勢。這種多角度的觀察有助於我們更好地認識和理解事物,利於創新。
這種多角度,我們從業務角度——分布式账本(利於理解業務),抽象計算角度——狀態機(利於理解區塊鏈+分布式系統的實現),技術實現角度—— 區塊+鏈的結構(利於理解 生態中的區塊鏈部分)。
1. 三種觀察角度
在以太坊的文檔《Ethereum EVM illustrated》中,介紹了對於以太坊的區塊結構,有三種觀察角度( 分布式账本、狀態機、區塊鏈 )。這種觀察同樣適用於比特幣,而且更適合觀察比特幣的生態架構。在下面的介紹中,我們從這三種角度理解,會有不同的收獲。
從狀態機的角度理解,不僅容易理解區塊鏈上的狀態和狀態處理,我們會更容易理解在分布式系統中狀態,狀態通道,狀態轉換,同時結合分布式系統的結構,會容易理解路由的 問題,理解狀態轉換的有向無環圖要求。狀態機是基於圖論的底層抽象計算原理,基於這些 原理與具體的實現結構(區塊鏈、分布式、中心化),會理解需要解決的具體問題與解決方案的思路。
其次是業務的角度,我們會容易理解區塊鏈為什么可以處理信任數據,為什么區塊鏈上面的數據可以作為數字貨幣,這使得區塊鏈系統更像一個账本。會理解,為什么分布式系統 不是账本,需要與账本合作。同時會理解在與账本的合作中,分布式系統如何處理账本上的 數據與流轉。
從技術實現的角度,我們會理解 Blockchain 這種系統是區塊鏈結構,這種技術結構的優缺點也很容易歸納和總結。
對於比特幣生態的結構,從账本和狀態機的角度我們可以更好的理解每種結構的優缺點,以及如何使用三種可選擇的結構來構建比特幣的二層,甚至是如果構建 Web3.0 應用的整個架構。
在閱讀以太坊的文檔《Ethereum EVM illustrated》時,我有一種感受。三種不同的角度 觀察以太坊可以類比的事物,為我們解決以太坊提供了一些思考思路和處理經驗參考。例如, 當把以太坊看成基於狀態的自動機時,計算機領域關於狀態機的理論和算法通過改造就可以 用於以太坊。當把以太坊看成基於账本的數據庫時,數據庫裏面的一些理論就可以用於以太 坊——如數據庫裏面的分片思想。這種感觸在比特幣的生態中同樣適用,而且會混合在三種 大的系統結構中使用,靈活性會更強。
1.1. 業務角度—分布式账本
從账本的角度看,區塊鏈是一組組的交易,就像寫在账本上面的一頁頁的數據。
從账本的角度看,我們容易理解其業務能力,也就更容易理解其貨幣與金融的作用。這 也是在 Web3.0 應用的整體架構中,一定要有账本這種角色。
從账本的角度我們也容易理解鏈的二層建設,不同業務的账目可以記錄到不同的账本上, 這些子账本匯總到總账就可以。
從账本+分布式的角度,我們可以理解,給參與方一筆數字貨幣,具體怎么處理,怎么分账,參與方去自己協商處理,最後再記錄會账本就可以。
1.2. 抽象計算角度—狀態機
在這裏我們重點介紹一下狀態機,因為這種角度可以很好的理解區塊鏈系統與分布式系統。並且可以理解數據(或狀態)在區塊鏈系統中處理過程與在分布式系統中處理的差異。
從狀態的角度看,區塊鏈是一個基於交易的狀態機。一個交易是觸發條件,使得一個原始狀態σt ,在交易的作用下,轉變到下一個狀態σt+ 1 。
一組交易打包到一個區塊鏈中,是一個數據包,使得與這組數據相關聯的狀態都發生變 化。
於是從這個角度看,區塊鏈是一個狀態鏈(在分布式系統中,是一個個狀態通道)。從狀態的角度,區塊鏈系統可以看做是一個基於狀態的自動機。
從狀態的角度,我們觀察區塊鏈+分布式系統,會更容易理解狀態在兩個系統中的傳遞與變化規則,兩個系統其實都是基於狀態的自動機。
當把區塊鏈看成基於狀態的自動機時,計算機領域圖論中關於狀態機的理論和算法就可以作用於區塊鏈。同樣,如果實現的技術結構不是區塊鏈結構,而是一種分布式結構,我們也可以用狀態機的理論。像有限無環圖 DAG(避免產生雙花),狀態通道,一次性密封都是 在分布式系統中處理狀態需要使用的技術。
1.3. 技術實現角度—區塊+鏈的結構
從技術實現的角度看,比特幣和以太坊等系統是一個區塊鏈。由數據區塊和裏面的哈希指針將分散的數據聯系到一起。
這僅僅是為了運轉區塊鏈這樣的系統,保持的一種技術實現結構。區塊鏈上面的數據和計算都是採用全局的方式,只有這種結構能夠完成账本的功能。在與外部系統連接時,需要 考慮這種結構的實現細節和適用性。
這種塊+鏈的技術實現結構,我們很容易理解其特點,也可以計算性能指標。例如,比特幣網絡的區塊是 1 M(支持隔離見證後理論最大是 4 M) ,其支持的交易數量就完全可以計算出來。
計算公式為:(區塊大小/交易的平均尺寸)/ 區塊平均時間間隔。一般情況下,比特幣每個區塊大約可以容納 2000-3000 筆交易,即 3-7 TPS。
1.4. 區塊鏈的基礎特性與三種 Layer 2 建設結構的特點
參考比特幣二層建設的三種分類:區塊鏈式結構,分布式系統結構,中心化系統結構。 對比比特幣一層和二層建設的一些基礎特性,可以清楚的看到他們之間的差異。如下表所示。 稍後對照 3.2 節中的應用需求,便於我們從這些基礎系統結構中選取一個合適的架構構建組合。
通過上表,我們能夠大致總結出區塊鏈結構、分布式系統結構、中心化結構的特點。
(1)區塊鏈結構
區塊鏈結構的最大好處是解決信任相關問題,可以記錄數據的變化過程(狀態轉換), 於是數據和計算規則都變成了可信數據與可信計算。這些可信數據,一種是基礎的原始數據 (表現為貨幣),一種是處理數據的指令集(表現為代碼與智能合約)。
區塊鏈結構最大的問題是性能差,這有兩個原因,一是區塊鏈結構在於不能去除部分計算的場景,都是以全量計算的方式處理所有請求。如,部分計算與全局計算,局部數據與全 局數據,臨時數據與永久數據。二是區塊鏈結構有明顯的性能上限。如果是通過鏈的方式進 行二層擴展,支持的事務數量也很有限。簡單計算如下:
區塊鏈系統的上限是單個區塊容量能容納的最大交易數,多級區塊鏈的上限是每一層區塊容量交易數量的乘積。例如,一層比特幣每秒 7 TPS ,一個二層鏈的處理能力是 100 TPS , 那么這兩種結構組合在一起就是 700 TPS。
為了擴大包含區塊鏈結構的性能,需要多層建設,並且需要與異構的系統結合使用。對於必須在區塊鏈系統完成的工作,只需要記錄需要全局保存和計算的數據,其他的非全局數 據都可以分配到其他層來處理,盡可能使得處理的數據與代碼只與相關方有聯系。
通過上表,只有區塊鏈結構才能實現去信任账本功能,所以一個系統中要想實現去信任账本功能,必須要包含區塊鏈系統。但大規模應用對性能的要求,使得區塊鏈系統一定需要 結合其他系統才能滿足需求。
(2)分布式系統
在上表中,我們可以看到分布式系統的明顯優點:去中心化、性能、可擴展性都是極好, 只有在功能實現上有比較復雜的特點。此外,分布式系統不具有去信任账本的能力。
於是如果能夠基於比特幣的一層账本功能,在二層建設中使用分布式系統,理論上可以在保持區塊鏈基礎特性的同時,還能實現無限的性能擴展。這方面的案例以比特幣+ 閃電網 絡為代表,這樣組合的性能就是比特幣的 7 TPS * ∞。
在分布式系統中實現圖靈完備的原因是:在區塊鏈系統中記錄和運行智能合約的代價是很高的,因為是全局數據與全局代碼。所以智能合約也適合分層理論,將智能合約的代碼存 儲與執行局限在參與者之間。這也是分布式系統中的客戶端驗證產生的場景,只需要相關者 之間的可信數據(狀態,一次性密封)參與計算,只在局部進行圖靈完備的計算。這就是常說的分布式系統中的全網共識與參與人共識 用分布式系統結構建設二層的最大困難是,技術實現上的復雜大比較大。像閃電網絡這 樣單純解決支付問題的網絡都發展緩慢,有較多不完美。如果在在分布式系統上實現圖靈完 備的計算,就更加有挑战。RGB 發展的緩慢和版本更新慢,就是一個參考案例。
解決復雜性的最大代價是容易出現安全問題與开發的門檻較高。在分布式系統上實現圖靈完備的智能合約功能,不僅底層平臺的开發周期長,开發難度大,並且經常會出現合約代 碼漏洞和持續的黑客攻擊。
(3)中心化系統
在上表中,我們可以看到中心化系統的好處是工程實現相對簡單,這是由於內部的邏輯控制簡單,計算簡單。同樣,中心化系統也不具有去信任账本的能力。中心化系統的優勢不 突出,如果是處理規模不大的數據,或者處理臨時數據與臨時計算會相對比較適合。
中心化系統的二層建設可以作為其他兩種方式的補充或過渡性方案。
(4)綜合分析
在價值時代,通過上面的內容,我們可以看到單靠一個系統很難到達滿足需求的效果。 這也是比特幣生態發展二層的一個實際需求。但這個三種系統怎樣組合需要很多的探索,我們先從理論上分析,面對不同的需求,會有不同的組合結構。
首先,從協議分層的設計思想看,比特幣網絡確實不需要圖靈完備,它是一個全球的信任機器,只需要保存這些需要全局信任的數據和數據變化的軌跡。根據這個最基本要求,比 特幣的指令集可以減少到最低。其他功能,則交給上層的擴展來完成。除了滿足本層功能需 求,還需要比特幣一層和上層網絡的連接技術進一步發展和完善,而且這種連接技術,在滿 足功能的前提下,對比特幣的數據空間佔用越少越好。
一般的小型應用,只需要在單一的區塊鏈上就可以完成。稍大一些的系統適合在區塊鏈 + 區塊鏈的二層建設上完成。但對於大規模的應用,優選的方案是使用區塊鏈系統+分布式系 統。從性能角度,分布式系統上限在理論上是無限的,那么這樣的組合就是比特幣的 7 TPS * ∞。工程實現中,還會受到一些具體因素的限制,通常這樣的系統的上限是受限於分布式系 統的路由能力,狀態變化的有向無環圖的處理能力等具體技術實現環節。後面在 Web3.0 的 典型應用架構中,還可以看到多種系統的組合圖示。
通過多種系統結構的組合,可以突破單一系統基礎理論的限制。例如,區塊鏈系統受限於 DSS 不可能三角形的限制,但如果使用區塊鏈系統+分布式系統,就可以解決去中心化 D、 安全性 S、可擴展性 S 的不可能三角形。其他組合,區塊鏈+ 中心化系統,也可以一定程度 上解決擴展性的問題。分布式系統+ 中心化系統,可以解決分布式系統中 CAP 三角形的限制。
在以往的技術發展歷史中,也存在一些組合使用的案例。例如,中心化的數據庫在能力受限時,採用主從結構,到分庫分表,到分布式數據庫,就是使用中心化系統與分布式系統 的案例。
這種組合也體現了一個哲學思想: 一個問題的解決方法不能在產生問題的層次上得到答案,但可以在更高的層次上解決這個問題。 這句話理解清楚不是特別容易,我想到《禪與摩托車維修藝術》有一個比喻特別好:我們不能揪着自己的頭發把自己提起來。這是告訴 我們不能依靠系統本身解決自身的問題,一定需要借助外部系統來解決。
2. 從狀態機的角度重新看比特幣二層的設 計與發展
狀態與狀態機,在三種二層建設中都存在,只是名稱上有些不同,使得多數人不關注這個觀察角度。
如果我們從狀態與狀態機的角度看,三種二層結構都是處理狀態的狀態機,只是原理稍有不同。這三種系統組合使用的時候,需要保證“狀態 ”概念在三個系統中一致,並且每個 系統的狀態機能夠處理狀態變化,但不能破壞狀態的一致性。
比特幣生態或 Web3.0 的應用架構,我們從狀態機的角度看,就是借助這幾種系統組合, 完成狀態變換的處理,從而完成業務邏輯的處理。
用狀態機的這種思想,我們再看比特幣的二層網絡建設,可以看到架構的每一層有適合其特點的分工。
2.1. 圖論中狀態與狀態機的基礎知識
在圖論中,狀態與狀態機的基礎知識包括以下內容:
狀態(State) :狀態是指圖論中的節點或頂點。在有向圖中,狀態可以表示為一個節點;在無向圖中,狀態可以表示為一個頂點。
狀態轉移(State Transition) :狀態轉移是指從一個狀態到另一個狀態的過程。在有向圖中,狀態轉移可以表示為一條有向邊;在無向圖中,狀態轉移可以表示為一條無向邊。
狀態機(State Machine) :狀態機是一個抽象的計算模型,用於描述一系列狀態和狀態之間的轉移規則。狀態機由狀態集合、初始狀態、轉移函數和終止狀態組成。
有向圖(Directed Graph) :有向圖是由頂點和有向邊組成的圖結構,其中有向邊從一個頂點指向另一個頂點,表示狀態之間的轉移關系。
無向圖(Undirected Graph) :無向圖是由頂點和無向邊組成的圖結構,其中無向邊連接兩個頂點,表示狀態之間的關聯關系。
拓撲排序(Topological Sorting) :拓撲排序是指對有向無環圖(DAG)的頂點進行线性排序,使得對任意兩個頂點 u 和 v ,如果存在邊 (u, v) ,則 u 在排序中出現在 v 之前。
有向無環圖(DAG) :有向無環圖是一個有向圖,其中不存在從某個頂點出發經過若幹條邊後能回到該頂點的環。
最短路徑(Shortest Path) :最短路徑是指在圖中找到連接兩個頂點的路徑中,邊的權重之和最小的路徑。
最小生成樹(Minimum Spanning Tree) :最小生成樹是指在連通圖中,找到一個包含所有頂點的樹,使得樹的邊的權重之和最小。
這些基礎知識是圖論中的核心概念,用於描述和分析狀態之間的關系和轉移規則。相關的知識和圖形在專業的書籍中可以深入學習。
雖然看起來這些知識有些抽象和枯燥,如果我們把這些知識轉換成經常遇到的一些區塊鏈概念就很容易理解。例如,一些場景要求是有向無環圖就是避免雙花的問題;一次性封裝 就是將區塊鏈中的狀態轉變成分布式系統中的狀態;路由算法是在分布式系統中尋找最短路 徑的計算;閃電網絡中支付成本最小的路由就是最小生成樹問題;客戶端驗證也可以看成一 種形式的狀態機。
2.2. 狀態機與分布式系統
在這裏我們用幾種分布式網絡來介紹:
(1)閃電網絡中
在閃電網絡中,能夠體現狀態、狀態機相關的知識點有:
閃電網絡是基於狀態通道技術的比特幣二層解決方案,閃電網絡中的支付通道是一種雙向的狀態通道,參與者可以在通道內進行多次交易,並通過更新通道狀態來實現快速、低成 本的支付。
閃電網絡中的交易(即狀態)是通過基於 Hash 時間鎖定合約(HTLC)來實現的,參與者可以通過這種合約來鎖定資金(實現狀態在比特幣與閃電網絡兩個系統中傳遞),並在通 道內進行安全的交易(簡單的狀態處理)。
閃電網絡中的路由:為了實現跨通道的支付,閃電網絡使用了一個名為路由的機制,參與者可以通過找到一條可信的路徑來進行支付。
閃電網絡中的中繼節點:中繼節點是指那些能夠轉發支付請求的節點,他們可以幫助實現跨通道的支付。
閃電網絡的雙向支付:閃電網絡允許參與者在支付通道中進行雙向支付,即不僅可以向對方支付,還可以接受對方的支付。
閃電網絡的支付隱私性:由於閃電網絡的交易是在通道內進行的,不需要將所有交易都寫入區塊鏈,因此可以提高支付的隱私性。
閃電網絡的限制(大都是狀態與狀態機實現技術的限制):閃電網絡還存在一些限制, 如通道的存活性、資金鎖定時間等,需要綜合考慮這些限制來設計合適的支付通道。
(2)在 RGB 中,與狀態,狀態機,狀態通道相關的知識點有:
RGB 基於 LNP 和 BP 協議。有關於 RGB 是二層還是三層的討論,如果是基於 BP 直接進行 RGB 的運算,則是直接擴展了比特幣的圖靈完備功能,屬於第二層,這種方式對性能的 擴展有限。如果是基於 LNP 進行 RGB 運算,則屬於第三層(因為 LNP 是比特幣的第二層), 這種方式既能擴展性能又能擴展圖靈完備的計算能力,只是技術實現上有一定的復雜度。通 常用組合的方式,既能擴展計算能力,又能擴展性能,還能降低實現的復雜度。
RGB 基於比特幣或閃電網絡中的狀態通道技術。RGB 中的狀態通道是指建立在 LNP 和 BP 之上的雙方或多方之間的通信通道,可以在通道內進行多次交易和狀態更新,減少了區 塊鏈上的交易數量和費用。
RGB 中的狀態通道使用了基於比特幣的多籤名腳本來鎖定資金,並使用了特殊的交易類型來更新通道的狀態。
RGB 中的狀態通道可以應用於各種場景,如支付渠道、去中心化交易所、資產發行等, 提高了交易效率和用戶體驗。
RGB 中的狀態通道通過更新通道狀態來實現支付和資產轉移,通道內的交易不需要被寫入區塊鏈,只有最終的狀態會被寫入區塊鏈。
RGB 中的狀態通道還可以實現更復雜的功能,如原子交換、支付路由等,通過智能合約和多籤名腳本來實現。
RGB 中的狀態通道可以與其他技術和協議結合使用,如閃電網絡、LNURL 等,提供更豐富的功能和更好的用戶體驗。
RGB 中的狀態通道的設計和實現需要考慮安全性、隱私性、擴展性等因素,以確保系統的可靠性和可用性。
(3)在 Nostr 中,與狀態,狀態機,和狀態通道相關的概念。
在 Nostr 中因為傳遞的是信息,還沒有體現狀態(可信數據,數字貨幣)和狀態機的概念。但相信 Nostr 這種分布式結構稍加改造,增加對狀態的處理,會形成像閃電網絡相似的 系統,這樣的系統既可以傳遞信息,又可以專遞價值。在 3.3 節 Web3.0 的應用架構圖中也 描述了這種基於信息的分布式系統逐漸向包含價值處理的分布式系統轉換的可能性。
當前 Nostr 的簡單介紹:Nostr 中有兩個主要組件,客戶端和中繼。每個用戶運行一個客戶端,通過中繼和其他人聯系。每個用戶都由公鑰來標識。用戶發布的每個帖子都有籤名。 每個客戶端都會驗證這些籤名。客戶端從他們選擇的中繼獲取數據並將數據發布到他們選擇 的中繼。中繼之間不相互通信,僅直接與用戶通信。
(4)在分布式系統中,與狀態機相關的知識點有:
狀態機模型:狀態機是一種數學模型,用於描述系統在不同狀態之間的轉換和行為。在分布式系統中,狀態機模型常用於描述系統的行為和狀態變化。
有限狀態機(FSM):有限狀態機是一種最基本的狀態機模型,它包含一組有限的狀態和一組狀態之間的轉換規則。在分布式系統中,有限狀態機可以描述系統的各種狀態和狀態 之間的轉換。
狀態轉換:狀態轉換是指系統從一個狀態轉移到另一個狀態的過程。在分布式系統中, 狀態轉換可能由各種事件或條件觸發,例如接收到消息、超時等。
狀態機的行為:狀態機在不同的狀態下可以定義不同的行為。在分布式系統中,狀態機的行為可以包括處理消息、執行操作、發送消息等。
狀態一致性:在分布式系統中,多個節點可能具有不同的狀態。狀態一致性是指在系統中保持各個節點的狀態相互協調和一致。
分布式狀態機(DSM):分布式狀態機是指將狀態機模型應用於分布式系統中的一種技術。它可以將系統的狀態和狀態轉換分布在多個節點上,並確保節點之間的狀態一致性。
原子狀態機(ASM):原子狀態機是指在狀態轉換過程中保持原子性的狀態機。在分布 式系統中,原子狀態機可以保證系統在狀態轉換過程中的一致性和可靠性。
一致性協議:一致性協議是一種用於保證分布式系統中狀態一致性的協議。常見的一致性協議有 Paxos、Raft、ZAB 等。
容錯性:分布式狀態機需要具備容錯性,即在節點故障或消息丟失的情況下,系統仍然能夠保持正確的狀態和行為。
可擴展性:分布式狀態機需要具備可擴展性,即能夠在系統規模擴大時仍然保持高效的狀態轉換和一致性。
2.3. 狀態機與區塊鏈系統
通過以太坊的文檔《Ethereum EVM illustrated》,每個區塊都是一組觸發狀態,整個以太坊系統都是一個狀態處理機。在 1.2 中,我們介紹了區塊鏈系統中的狀態機內容。在以太 坊的白皮書中也有很多狀態機的描述。
狀態機雖然有很強的處理能力,但上限是區塊鏈結構的這個天花板。
對於基於 UTXO 模型和基於账號模型(類 EVM)的區塊鏈互聯組合應用時,狀態與狀態機的實現方式有較大的不同。基於 UTXO 模型的區塊鏈比較容易與分布式系統結合,是因為 中兩種系統中的狀態都是基於 UTXO ,不存在轉換或僅需要簡單轉換,比較容易實現。基於 账號模型的鏈,因為其狀態與外面分布式系統之間的狀態需要進一步的封裝與轉換,實現有 復雜度,這也是以太坊上雷電網絡發展不順利的部分原因。
2.4. 狀態機與中心化系統
使用區塊鏈+ 中心化系統的案例有類似 Ordinals ,中心化交易所 CEX。
這樣的系統相對簡單,有些根本不存在狀態傳遞,類似 Ordinals ,僅僅使用中心化索引完成統計工作。
像中心化交易所,其中的狀態傳遞,完全依賴中心化系統設定的規則,裏面的狀態機也是中心化系統程序構成的狀態處理機,沒有復雜的概念。
在未來 Web3.0 的應用中,應該會出現較多使用區塊鏈+ 中心化系統的案例。
3. Web3 應用的結構應該是什么樣子
通過文章前面的內容,我們知道了通過三種比特幣二層架構的組合可以完成更復雜的結構設計,從而得到需要的特性需求。而且從業務角度,如果應用的底層邏輯可以分解成狀態與狀態機,便可以使用三種系統的組合來完成上層的整個業務邏輯。
那么這些常見的組合會有哪些?哪些因素會決定組合的結構?我們從常見的應用分類和應用需求來推測滿足 Web3.0 的大規模應用的結構。
3.1. 常見應用的分類
我們以第 48 次《中國互聯網絡發展狀況統計報告》中的應用統計為參考, 以下簡稱統計報告。因為 Web2.0 已經發展成熟,不影響應用分類與用戶規模的結果分析,我們使用的 應用參考數據是 2020 年與 2021 年的舊數據。需要注意的一點是,這僅僅是中國互聯網的統 計數據,在 Web3.0 階段,很多應用都是在全球範圍,用戶的規模和性能要求更高。
在統計報告中,可以看到 Web2.0 中的應用已經非常豐富,並且擁有巨大的用戶群體。 這些應用包括:即時通訊、網絡視頻、短視頻、網絡支付、網絡購物、搜索引擎、網絡新聞、 網絡音樂、網絡直播、網絡遊戲、網上外賣、網絡文學、網約車、在线辦公、在线旅行預定、 在线教育、在线醫療、… … ,幾乎覆蓋了人們生活的全部領域。除了這些消費互聯網的內容, 在產業互聯網中也有很多的應用。
如果 Web2.0 全部應用都遷移到 Web3.0 ,絕大多數對性能的要求是很高的。以 Visa 支付為例,高峯期的性能需求為: 65000 TPS,這樣的性能指標只有分布式系統才能支持,例如, 當前閃電網絡每秒 4000 萬筆的性能,而且閃電網絡的性能在理論上還沒有上限。
此外,我們以常見的遊戲為例,當前區塊鏈上最高 TPS 的全鏈遊戲可實現峯值在幾千 TPS 左右,與數十萬級 TPS 的傳統 Web2 3A 遊戲存在巨大差距。如果要將所有的遊戲遷移到 Web3.0 ,需要的基礎設施性能會是一個很大的挑战。
何況遊戲在常見的應用分類中只是一種應用,其他的應用還有更多的性能與特定需求。
3.2. Web3.0 應用的需求
了解應用的需求,使用收入結構這個指標會更直接。我們參考《Token Terminal, curated by FutureMoney Research 2022 Q2》報告,這個報告雖然稍早,但像支付和其他應用都在初 級階段,不影響主要的分析結果。所以作者在這個地方偷懶了,使用了我寫作 Web3.0 圖書 時候的數據,如果有 2023 年 Q4 的數據會更准確一些。
(1)通過收入報告的需求分析
報告裏面的收入分類比較好的代表了當前 Web3.0 的核心產品構成。如圖所示。
1) Layer 1 (區塊鏈中的基礎主鏈)的收入 48% , 佔比接近總收入的一半,其商業模式可以理解為“ 出售區塊空間 ”;
2) NFT 交易平臺收入佔比為 22% ,其商業模式可以理解為版稅抽傭或營銷活動變現;
3) DeFi 中的 Dex 收入佔比為 15% ,其商業模式是交易手續費和流動性做市收入;
4) DeFi 中的 Staking 類收入佔比為 8% ,其商業模式是資產管理的提成或利差;
5) Gamefi 佔比是 5% ,其商業模式是版稅抽傭,轉账手續費,銷售 NFT 等;
6) DeFi 中的 Lending 收入佔比約為 1% ,其商業模式是利差;
7) Tooling 的收入佔比約為 1% ,其商業模式是服務費,未來還會包含流量變現費用;
其他和 Web3.0 相關的產業,不是 Web3.0 的應用,不算 Web3.0 的核心產業,不記入。 例如:Web3.0 的媒體、研究組織、培訓組織等。
從收入結構可以看到當前 BTC 生態的應用需求基本上都可以靠區塊鏈和它的二層系統來解決,還不需要復雜的系統架構。但 Gamefi 和 SocialFi 發展比較快,我們使用參考文獻中 的遊戲例子,可以看到大型的遊戲已經對系統結構有了更高的明確需求。
從收入結構可以看到當前 BTC 生態的應用需求,值得把在以太坊等生態的產品都重做一遍。稍加改造以太坊生態上基於鏈的二層建設技術,在比特幣上建立新二層,能夠比較好的 完成這些初級需求,只是在去中心化程度、安全性、隱私性、抗審查性做了一定的妥協。在 《一文梳理比特幣二層(Layer 2)建設的基礎知識體系》那些新的基於 EVM 類型的二層建 設都是這種情況的案例。
(2)對高性能需求的應用使用遊戲案例的分析
在文章《不可能變為可能:讓全鏈遊戲开發在閃電網絡上的成為現實》,對功能與性能都提出了較大的需求。Web3.0 應用的真正架構也逐漸浮出水面。
文章中的問題描述:全鏈遊戲在保證安全性、隱私性和去中心化的基礎上,可擴展性始終沒有找到最優解決方案。例如最熱門的全鏈遊戲引擎 Mud 和 Dojo ,致力於幫助全鏈遊 戲實現更高的 TPS ,但玩家每次操作仍需要 2 秒以上的緩衝。事實上,當前區塊鏈上最高 TPS 的全鏈遊戲可實現峯值在幾千 TPS 左右,與數十萬級 TPS 的傳統 Web2 3A 遊戲存在巨 大差距。在追求不損失區塊鏈優勢的前提下,全鏈遊戲以克服的可擴展性。
後面技術討論的解決方案中,使用閃電網絡和 RGB 擴展性能,同時也提出了臨時鏈和專用鏈的概念。
Ephemeral chain(臨時鏈)
臨時區塊鏈可以定義為不會永遠存在的區塊鏈,一旦區塊鏈的目的實現(例如記錄交易),或者一旦其狀態永久存儲在其他地方,它們就會被銷毀。臨時鏈存儲的終止狀態只是有關臨 時鏈相關終止事實的數據,因此將所有內容壓縮了相當大的數量級。臨時鏈主要受區塊鏈上 交易延遲和吞吐量限制。
臨時鏈 VS 狀態通道
就臨時鏈而言,由於公共鏈上有狀態,我們最終將擁有大量用戶。需要插入公鏈的狀態會通過剪枝/壓縮/差異提取來減小大小,然後定期而不是不定期地保存在公鏈上。RGB 狀態 通道的設置有可能繞過臨時鏈的性能約束,實現和臨時鏈相同的功能。
App-specific blockchains(特定應用程序區塊鏈)
特定於應用程序的區塊鏈是為運行單個去中心化應用程序(dapp)而創建的區塊鏈。 开發人員不是在現有區塊鏈上構建,而是使用自定義虛擬機 (VM) 從頭开始構建新的區塊鏈, 該虛擬機執行用戶與應用程序交互的交易。开發人員還可以定制區塊鏈網絡堆棧的不同元素 — —共識、網絡和執行— —以滿足特定的設計要求。提升智能合約執行速度,解決計算資源 限制可以幫助特定應用程序區塊鏈落地。允許开發人員為不同的用例定制基礎設施,使开發 變得更容易。同時允許 web3 开發人員構建強大的價值模型並擴展其 dapp 以滿足指數級 增長的需求,激發更多創新。
通過這個遊戲的案例,加上我們前面幾種架構的分析,我們可以大致判斷未來大規模應用的架構。
3.3. 滿足 Web3.0 大規模應用的架構應該是什么樣子
前面內容我們了解了 Web2.0 中的常見應用分類,這些應用都升級到 Web3.0 ,才是全面進入 Web3.0 時代的標志。什么的架構才能滿足上面的衆多應用呢?
(1)簡單的 Web2.0 與 Web3.0 的架構區別
這裏參考了區塊鏈女神 Preethi Kasireddy 寫的文章《 The Architecture of a Web 3.0 application》 內容。這裏對於 Web3.0 應用的結構描述是一種很簡單的,僅依賴於區塊鏈系 統就成完成的結構。但這種結構過於簡單,還沒有體現二層建設,在大規模應用中不能勝任。
對傳統中心化產品技術實現與 Web3.0 產品的技術實現案例,進行差異對比,會更容易理解技術實現上兩者的差異。結合 Gavin Wood 對 Web3.0 的技術棧愿景描述,我們可以看 到 Web3.0 的技術實現最大差異在後臺,用戶的體驗層差異比較小。
(2)Web3.0 時代大規模應用的系統架構
在沒有區塊鏈的時代,應用是建立在中心化系統和分布式系統之上的。例如,建立在中心化系統上的商城、IM、視頻等應用,建立在分布式系統上的迅雷下載。
有了區塊鏈系統後,我們進入 Web3.0 時代,這個時期的應用是建立在區塊鏈系統、分布式系統、中心化系統之上的一個復雜架構。其中區塊鏈系統與其二層擴展完成價值的傳遞 與處理,分布式系統和中心化系統完成信息的傳遞與處理。
如下圖所示,
具體內容描述如下:
(1) 比特幣主網與二層建設是所有價值的中心,大部分的價值都建立在這個網絡之上。 比特幣二層建設中,基於鏈的二層完成價值的性能擴展與處理,處理的都是全量账本數據。 比特幣二層建設中,基於分布式系統的二層建設完成性能的擴展,處理的都是局部相關數據,使用相關者共識,但最終計算結果需要落地到區塊鏈系統。 比特幣二層建設中,基於中心化系統的二層建設,直接為上層應用提供服務。
(2)類 RGB 系統還會需要一些臨時鏈或中間鏈,完成账本的結算功能,如圖中的藍线所示。在參考文獻 1 中的遊戲案例就有這種場景的描述。還沒有大規模出現是因為類 RGB 系統建設復雜,還沒有到成熟期。
(3)除了比特幣生態,還有其他區塊鏈系統的生態,完成不同業務場景的需求。如我們在二層基礎架構的文章中所描述,基於鏈的二層會存在衆多項目,對於非比特幣生 態的鏈也同樣適用。其他區塊鏈系統和二層同樣可以進入閃電網絡與 RGB,隨着技術成 熟度上升這種情況就會逐漸出現。
(4)在 Web3.0 生態中,中心化系統也會有一席之地,只是不再像 Web2.0 中的比例那樣大。中心化系統有不少的優勢。
(5)在實際應用中,上圖內部的連线會加復雜,有些不需要使用二層,而直接對一層網絡操作,如 RGB 在使用 BP 協議時。其他區塊鏈也可能會使用分布式系統,如以太坊 上的雷電網絡,雖然不成熟,如果有需求場景,通過改造一些基礎特性也會有使用場景。 上圖是對 Web3.0 應用架構的一個簡化描述。
3.4. 可行的建設路徑
從收入結構可以看到當前 BTC 生態的應用需求,從常用應用的分類,我們可以看到未來完全進入 Web3.0 的需求。這會是一條漫長的道路。所以對於這種建設周期比較長的事物, 都需要分階段來處理。
這裏的三個階段和大山老師所說的短期、中期、長期非常相似。只是把基於鏈的二層建設的簡單階段也歸納到了第一階段建設中。
(1)第一階段是基於銘文和基於鏈的二層建設的前期
基於銘文和基於鏈的二層建設,因為相對容易,當前出現了衆多的應用。不管是 brc 20 , src 20 ,arc 20 ,銘文等應用,還是那些基於鏈的二層建設項目方,都很豐富。
這一階段建設相對簡單,多數是金融應用,並且有改造與模仿以太坊二層的經驗加持,很更容易更快。雖然相對簡單,但這個過程必不可少,而且很重要,他們幫忙繁榮了生態,引來了流量和資金,測試了跨鏈連接技術,測試了穩定幣,測試了各種可能性。 這一階段主要是完成功能可行性的各種驗證。
(2)第二階段是基於鏈的二層建設的中後期與基於分布式系統的二層建設
在這個階段,基於鏈的二層建設也參與其中,是基於鏈的建設的高級階段,此外,第二階段重點是測試和完善多種分布式的二層建設。閃電網絡會更加成熟,RGB 功能和穩定性得到較大的改善,應用場景都會更豐富。類 RGB 的競爭者也會逐漸出現與成熟,如 BitVM 。同時像 Nostr 這樣的分布式系統也會融入價值功能。 這一階段主要是完成功能和性能可行性的各種驗證。
(3)基於比特幣生態的大規模建設
最後一個階段是成熟階段,這個階段 Web3.0 开始大量建設,並逐漸成熟。在 3.1 中描述的常見應用都开始進入 Web3.0 時代。
也許這個階段要較長時間才能到來,也許遇到一個拐點事件,能夠推動大批的 Web2.0 應用者進入,時間也許會不那么長久。
不管如何,真正的 Web3.0 時代來臨的時候,一定會有很大的不同,功能與產值比當前 的 PC 互聯網+移動互聯網的總體還要大,還要輝煌。也許就像 AI 領域 Sora 的出現,非常驚豔,讓人震驚,只是過程沒有那么突然。
參考文獻說明
(1)參考了大山老師對於比特幣生態短期、中期、長期的相關文章與課程內容。
(2)《不可能變為可能:讓全鏈遊戲开發在閃電網絡上的成為現實》 https://m.jinse.cn/news/blockchain/3667669.html (受這篇文章的啓發與驗證作用更大)
(3)三種觀察角度主要參考《Ethereum EVM illustrated》,Takenobu T. , 2018.3
(4)應用分類相關內容,主要參考作者 2022 年寫作的《Web3.0 :構建元宇宙的數字未來》。
(5)參考了大學數字邏輯中的圖論知識。
(6)參考了一些分布式系統的文章內容。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
星球日報
文章數量
7619粉絲數
0