作者:Pignard
審閱:0xmiddle
來源:內容公會- 投研
什麼是第一原理
第一原理(First principle thinking)指的是,回歸事物最基本的條件,將其拆分成各要素進行解構分析,從而找到實現目標最優路徑的方法。該原理源自於古希臘哲學家亞里斯多德,因伊隆・馬斯克的推崇而被大眾所了解。該原理也與東方哲學中的」道「有相通之處。
2014 年,伊隆・馬斯克在南加州大學商學院的畢業演講上,說到了他的第一原理決策方式:
「也許你聽我說過,要從物理學的角度思考問題,這是第一原理。即不要進行類比推理。你把事情細分到你可以想像的最基本元素,然後你從那裡開始推理,這是確定某件事是否有意義的好方法。思考方法。 」
馬斯克以真空膠囊高鐵為例,如果用比較思維或經驗思維設計新型火車產品,多數人的想法是在現有的功能上做提升,讓動力更強勁,流體力學更好。但如果用第一原理分析產品需求,就要回到運輸工具的本質目的:將較多的貨物從A 點運送到B 點,這才是最初製造火車等運輸工具的目的,並非一定要用牽引力才能實現升級。在第一原理的支撐下,馬斯克提出採用磁浮加低真空的模式,打造真空膠囊高鐵。
區塊鏈中的第一原理
那麼區塊鏈的第一原理是什麼呢?
蕭風博士在2024 香港Web3 嘉年華的閉幕典禮上演講裡表示:區塊鏈的第一原理是新的記帳方法。
「2009 年出來的區塊鏈,作為分散式帳本(DLT),它記錄的是數位價值和網路價值,並且不再是在私人帳本上記賬,而是在公開透明的全球公共帳本上,大家在一塊記賬,所有的利害關係人在一個帳本上記帳。的。 」
作者同意肖風博士的觀點,並基於這個觀點進一步闡述區塊鏈的本質。
「區塊鏈」三個字拆開來看就是區塊+ 鏈,既然區塊鏈的第一原理是一種記帳方式,那麼區塊和鏈真的是必要的嗎?
在回答這個問題之前,我們先來看比特幣作為分散式帳本,為什麼需要區塊和鏈。
在比特幣中,區塊是一個包含一組交易資訊的數字記錄,可以理解為是賬本中的一頁賬,用哈希函數可以算出一個哈希值,這個哈希值的特點是只要區塊的內容稍加變化,哈希值就變的不一樣。每個區塊都包含前一個區塊的哈希值,可以理解為第N+1 個區塊的第一行要寫入第N 個區塊算出的哈希,從而形成一個不可篡改的鍊式結構。
在比特幣中,同步帳本的機制即PoW 共識機制。當比特幣網路中發生交易時,這些交易會被放入記憶體池(mempool)中。然後,礦工從記憶體池中選擇一組交易,嘗試組成一個新的區塊。要做到這一點,礦工需要找出隨機數中的某個特定數值,並將這個特定數值與區塊數據結合起來,產生一個滿足網路難度目標的哈希值,這個過程被稱為「挖礦”,誰先計算出符合條件的哈希值,誰就獲得了記帳權,也就是挖礦成功。難度目標是一個動態值,每2016 個區塊(大約每兩週)調整一次,讓比特幣的平均出塊時間維持在10 分鐘左右。
區塊和鏈是比特幣的基礎結構,PoW 是比特幣的共識機制,兩者結合實現了比特幣的去中心化記帳功能。但從區塊鏈的本質來說,只要能實現去中心化記賬,記帳可以是非區塊的(例如單筆交易共識),帳本也可以是非鍊式結構(例如DAG)。因此區塊和鏈並非必要,只是區塊鏈這三個字深入人心,成為了以比特幣、以太坊、Solana 為代表的去中心化帳本的代稱罷了。
比特幣畢竟已經是2009 年的產物了,隨著區塊鏈研究的不斷發展,雖然大部分區塊鏈還是遵循傳統區塊+ 鏈的結構,但也出現了一些以第一原理設計的區塊鏈,他們從最根本的去中心化記帳問題出發,有著獨特的資料結構和共識,本文以Sui 和Arweave AO 為例。
Sui:水之道
Sui 是基於第一原理重新設計和建構而成的Layer1,主要團隊來自Facebook(後來改名Meta)已解散的Diem 和Novi 計畫。 Sui 的命名源自於日文的水,其品牌形像中也能看到水的影響。
Sui 使用Sui Move 來編寫其智慧合約,採用了一種基於物件的資料模型,所有交易都以物件作為輸入,並產生新的或修改過的物件作為輸出,允許獨立的物件並行處理交易。
在Sui Move 中,每個智能合約都是一個模組,由函數和結構定義組成。結構在函數中實例化,可以透過函數呼叫傳遞給其他模組。執行時期儲存的結構實例作為對象,Sui 中存在三種不同類型的對象,分別是擁有者對象,共享對象和不可更改對象。
Sui 沒有區塊,對交易進行單獨驗證,並且一個交易是否經過Sui 的排序和共識機制,取決於交易中的物件是共享的還是非共享的。
如果不涉及共享物件的交易,稱為簡單交易,Sui 採用拜占庭一致廣播(Byzantine Consistent Broadcast)的輕量級演算法,參考了FastPay 的設計想法。由客戶端廣播交易給Sui 的所有驗證者,並收集驗證者的基於權益加權的投票,產生一個證書,再將證書廣播回給驗證者,收到這個證書的驗證者就可以直接執行這個交易。
如果涉及共享物件的交易,稱為複雜交易,Sui 採用的是Narwhal & Bullshark 共識機制。 Narwhal 是一個mempool 模組,負責保證交易的可用性。 Narwhal 是基於輪次進行運轉的,每輪分為兩個步驟,分別是交易的分發(同步交易給其他節點)和交易的驗證(收集其他節點對交易的投票),多輪以後,交易會形成一個有向無環圖(DAG)。 Bullshark 是一個共識模組,負責對Narwhal 中DAG 的交易進行排序。
Sui 利用DAG 進行交易傳播和共識,降低了交易延遲並減少了通訊過程中的網路開銷。同時,為了維護歷史資訊的完整性和順序,Sui 在一個單獨的過程中將交易排序為檢查點,檢查點以線性方式相互鏈接,為存儲和訪問歷史數據提供了類似於傳統區塊鏈的結構。
但實際上Sui 的資料結構與傳統區塊鏈完全不同,Sui 分組到檢查點的交易已經最終確定,而傳統區塊鏈是將尚未最終確定的交易分組到區塊中。
Arweave AO:空之道
水無常形,但畢竟有形。就像Sui 也保留了傳統區塊鏈中的共識機制,並最終將交易資料組織成了傳統區塊鏈的區塊+ 鏈結構。 AO 則徹底顛覆了傳統區塊鏈的範式,無區塊無鏈無共識,相較於水,AO 在像徵意義上更接近天空(日文為Sora)。
AO 是一個基於Arweave 的分散式、去中心化、面向Actor(Actor Oriented)的運算系統。其基於的第一原理並不是建構一個去中心化帳本,而是建構一個去中心化的計算系統。大概類似應用程式和作業系統的關係。
計算系統可以分割成儲存、運算和通訊三個問題,在Web2 中都有非常成熟的解決方案,困難的是去中心化。一個想法是分別建構一個去中心化儲存網絡,一個去中心化運算網絡,以及一個去中心化通訊網絡,這其實正是2014 年以太坊聯合創始人Gavin Wood 提出的計算,儲存和通訊三位一體的去中心化技術架構的思路,分別是以太坊(智慧合約)負責去中心化運算的部分,Swarm 負責去中心化儲存的部分,Whisper 負責去中心化通訊的部分。
AO 也由三個單元組成:
- 通信單元(Messenger Unit):負責訊息通信,將訊息傳遞給計算單元並協調以計算輸出結果;
- 調度單元(Scheduler Unit):負責調度和訊息排序,並將訊息上傳至Arweave;
- 計算單元(Compute Unit):負責處理計算,並將計算結果上傳至Arweave。
一個AO 上的進程(Process)由一組單元構成,每個單元都可以作為可水平擴展的子網,同時執行大量交易,從而實現高效能運算,但每個單元並不是去中心化網路。實際上在整個AO 的架構中,真正去中心化的只有作為底層的儲存網路Arweave。
AO 上的進程透過將其全像資料上傳到Arweave 上,使其擁有了可驗證性的屬性——因為任何人都可以透過全像資料恢復AO 上的這個進程。這其實是一種儲存共識範式(SCP),即只要儲存是不可變的,上面的交易就都是可追溯的,那麼無論在何處計算應用程序,都將得到相同的結果。
AO 沒有共識機制,但透過SCP,將運算層與儲存層分離,使儲存層永久去中心化,而運算層保持傳統運算層的模式。因此在AO 上的運算拓展性沒有任何類型限制,不僅可以實現以EVM、WASM 或Move 虛擬機為核心的區塊鏈帳本服務,甚至可以把任何現有的Web2 服務都放在AO 上重新建構為去中心化版本。
總結
第一原理是從物理學的角度去思考事物的本質,再從本質出發,一層層向上設計。雖然Sui 和Arweave AO 都是基於第一原理設計出來的區塊鏈,但由於他們的本質不一樣,於是設計出了完全不同的架構。
Sui 的本質是去中心化帳本服務,對標的是像Solana 這樣的高效能Layer1,因此Sui 圍繞著「更快的帳本服務」設計了物件導向的資料模型,雙共識機制和基於狀態存取實現的交易並行執行,提高了可擴展性,同時降低了延遲和費用。讓開發者能夠快速且低成本地開發基於Sui Move 智能合約的應用。
Arweave AO 的本質是去中心化運算系統,或者說是去中心化雲端服務,是運行帳本服務的基礎設施,因此AO 圍繞著「可驗證的分散式運算系統」提出了SCP,即在鏈下進行計算,將儲存放在鏈上,實現大規模並行電腦的互聯和協作。使用者體驗與傳統雲端服務幾乎一致,但背後是去中心化的運算系統。