為什麼說區塊鏈模組化是必然的?它對我們有什麼啟示?

買賣虛擬貨幣

此前panews在文章《 layer2之後該怎麼擴容,深度解讀celestia的資料可用性模組 》中簡單介紹過什麼是模組化,但這次希望在此基礎上,談談為什麼區塊鏈需要被模組化。

首先來複習一下模組化是什麼。在這個概念中,一條公鏈可以被分解成安全層,資料可用層和執行層。安全層通常是承載共識的,也就是負責讓最終交易結果上鍊。資料可用層則可以被簡單理解成幫助執行層“自證清白”,防止執行層作惡的。我們常掛在嘴邊的rollup,或者layer2就是執行層,它是一個模組,同時也是區塊鏈模組化的產物,負責執行交易。

這三項功能原本被放到一整條公鏈中,直到鏈上的節點越來越多,區塊越來越大,交易越來越忙不過來,最後的結果就是,不但gas費爆炸了,出塊速度還很慢。於是就有我們常說的區塊鏈“不可能三角”理論,即如果用加大區塊大小來提高資料流通量,就得拉高節點的門檻,淘汰掉算力不達標的節點同時,也降低公鏈的去中心化程度。如果想要保住去中心化,只有增加更多更強大的節點,可節點一多,交易速度又慢了,只得繼續增加區塊大小,就又回到了最開始的問題。這個故事有很多種講法,核心是隻能靠犧牲一部分來成全另一部分,就像solana,價格低,速度快,但是中心化程度高,它賭的是摩爾定律,賭算力和頻寬的成本增長追不上鍊上交易給它帶來的收入增長。

到這裡,模組化的必然性就已經出現了,現在我們甚至不必再討論擴容的方法將會有哪些,layer2已經從一種可能性坍縮成了現實,將公鏈解耦的模組化就是答案。我們可以把上述三項功能中,其中至少一項單獨外包出去的公鏈稱為模組化公鏈,比如以太坊,它把執行層外包給了layer2。也比如polkadot和near,它們有分片驗證的外包設計。而avalanche則像一個偽模組化公鏈,它看到了模組化的好處,於是做了一個單片鏈的組合,也讓公鏈的基本功能在自家門內做了解耦,缺憾是目前還沒有做好共享安全性。cardano則處在一個臨時狀態,儘管沒把已經解耦的功能外包出來,但從路徑圖上看也只是時間問題了。這些都是公鏈在模組化上所做的嘗試,而模組化的最終願景可能是celestia與evmos合作的那樣——一個rollup套娃,具體在開頭所提文章中有展開闡述。所以,長遠來看,模組化是公鏈擴容的必經之路,即便是“反對模組化”的near其實反對的也只是“別人來做我的模組”,因為它要“我自己做我的模組”。

目前不僅執行層在模組化之後的成就有目共睹(arbitrum和optimism的體驗明顯好過solana或是fantom這類的layer1公鏈,因為前者只需要一個算力足夠強的節點來做sequencer就夠了,而後者哪怕是犧牲了去中心化來提升節點效能,也需要至少21個節點來做sequencer),資料可用性也因此需要和執行層解耦。只有這樣,當layer2出問題時,使用者才能藉助資料可用性來提出“挑戰”(針對op)或是強行把自己的資產從layer2上拉回layer1(針對zk)。這樣的一個資料可用層,放在layer2上(或是layer2提供的鏈下第三方驗證機構),你會不放心。放在layer1上,你會心疼錢。分片並且放在一個單獨的鏈上,隨用隨取,可能是目前最好的答案。這就是模組化開始快速發展的背景,長期趨勢仍在醞釀,短期痛點已然出現。


模組化背後的——遞迴思維

考慮到這個話題對大多數人是無意義的,就像我們吃雞蛋,卻不必知道沒心情下蛋的母雞該怎麼哄。所以我希望能和大家講講模組化背後的抽象思維,也許再聽完後,你會發現這種思維其實無處不在,並且在理解後,能幫我們解決不那麼抽象的問題,就像樂事薯片的“雙曲拋物面”如此堅固,背後的道理卻和蛋殼結構相同。

“模組化”的概念在web2.0已經被實踐了很多年了,甚至可以說,從打有計算機開始,我們就在想辦法把一類問題,做成一個模組。坦白講計算機的本質是機械運動,就像算盤,我要去撥動算珠,算盤才能執行運算,我每撥動一下,算盤運算一次,所以這個時候真正在 執行計算的是我,不是算盤 。我今天遇到了一個算數問題,我撥了100次才把這個問題解決,但我沒有把這個問題的答案記下來。如果第二天,我遇到了同樣問題,我還是需要撥100下算盤。相信各位讀者都有投資的經驗,不難看出,我這兩天一共撥了200次算盤,解決了兩次問題,這是我用時間換來的基礎收益。可如果我在第一次計算這個問題的時候把答案記下來了,那無論我遇到這個問題幾次,我都只需要撥最開始那100次算珠。 資源的複用,才能帶來超額收益 。在這個例子裡,被複用的是“時間”。“把答案記下來”就是我得到的最基礎的模組。在此之後,我還可以把更多計算公式也做成一個個模組,這樣當計算機收到我的提問後,會找到對應的模組執行,最終把執行的結果反饋給我。此時在 執行計算的是計算機,不是我 。這個過程,就叫遞迴,所有的rollup本質也是一種遞迴,它們透過不斷的呼叫自身,來滿足資料可用層的驗證要求,這種資源的複用,是我們在大多數時候覺得計算機比人類效率更高的主要原因。

人類對這個世界的認識是由近及遠、從少到多,一點點擴充套件來的,這就是人類固有的認識和思維方式,根植於我們的基因中。這樣的認識和思維方式讓我們很容易理解具體的事務,但是限制了我們的想象力和大局觀。當需要思維觸達那些遠離我們生活經驗的地方時,我們就會出現理解障礙。

和人不同,計算機在一開始就被設計用來處理規模大得多的問題,因此計算機有條件採用與常人完全不同的方式來解決問題。如果一個人能夠站在計算機的角度想問題,就可以被算作擁有“計算思維”,這就如同我們說某個人具有科學思維或者工程思維一樣。如果一個人在做事情的時候,採用的是計算機解決問題的方法,這個人就具有計算機的方法論。在計算機的思維中,最重要的是一種自頂向下,先全域性後區域性的逆向思維,它被稱為遞迴(recursive)。與之相對的,是人類採用的自底向上,從小到大的正向思維,它被稱為遞推(iterative)。

在擴容的問題上,假如我們用現在的常規思維去想,交易變多了,那我需要給礦工更多的費用,而且我收到的交易費一定要高於我給礦工的費用,否則就會虧損,但我現在沒這麼多錢,所以我只能提高交易費,可這樣一來交易量會縮小,於是我只好增加吞吐量,同時讓節點數量減少,在安全性上做妥協。這種情況下,如果不減少節點數量,又不提高交易費,就只好發行更多的代幣,用來支付礦工,這樣做的結果就是這條公鏈的通脹越來越嚴重。比如solana,至今為止,它一共執行了562億次交易,按照其官網公佈的,每筆交易手續費為0.00025美金,其收取的手續費總額為1400萬美金左右。如果我們去stakingrewards上看一下,可以查到它目前的staked value在455億美金左右,按照較低一檔的apy 5.88%計算,solana最近三十天內要分給質押者約2.2億美金。也就是說自其主網上線至今收到的所有交易費,僅相當於最近一個月支出的6.2%。以至於solana需要15.4萬tps的吞吐量才有可能做到收支平衡,儘管我們知道它賭的就是摩爾定律能把頻寬和算力成本拉下來,但這種規模的虧損,怕是禁不起一場熊市。這就是遞推的思維,我遇山開山,遇水架橋,直到走進一個“死衚衕”裡。

以太坊沒有采用這種通脹模型,其結果就是交易費用爆炸,但它在一天裡收取的交易費用,甚至比solana和polygon一年的交易收入加起來都多。如果我們逆向去想這件事,礦工收取使用者手續費,僅僅是因為礦工執行了交易麼?交易人人都能執行,之所讓礦工幫忙上鍊,無非是因為使用者希望自己的交易能得到去中心化的安全保障。那讓一條鏈把安全和交易全做了,豈不是自找不痛快?solana收取交易的費用,付給礦工的是安全的錢,那它肯定虧本啊;使用者交給eth交易的任務,eth收的卻是安全的錢,那使用者顯然也不痛快。所以為什麼要把安全和交易混為一談呢?假如把資料可用性和分片從公鏈上分擔出來,那節點越多,資料吞吐量就越大,而且節點門檻可以做到和手機一樣,憑著這種可以無限增大的效能和與layer1上礦工收入完全無關成本,我可以讓這條鏈上的rollup少說增加一個數量級。眾多的rollup,收取的也僅僅是交易的費用,提供的也是交易的服務。rollup的數量上來了,能交給layer1和資料可用層的費用就也增加了,前者的礦工這下任務輕了,把資料壓縮上鍊就行了,後者也有錢買更多節點了,於是這下又增加了rollup的空間。重複執行這項“遞迴”,公鏈將得益於全域性思考的模組設計,走上一個正迴圈。


模組化的深化,web3加強組合性

我甚至認為模組化在佔領區塊鏈底層後依然不會停下腳步。web3.0才剛剛開始形成概念,我們就已經看到有個gamefi專案metasport,用eth做資產層,starkware做p2e激勵層,用internet computer做遊戲玩法和邏輯層,ipfs做儲存冗餘層。模組化不應該被如此簡單地定義在底層技術上。虛擬世界與現實之間的主要不同,在於虛擬世界更加穩定,不會因為一場突如其來的疫情,就讓各國之間的供應鏈斷裂,生產者被迫囤積大量庫存,或乾脆自己做自己的供應商。虛擬世界最大的風險不過是熊牛轉換,在現實世介面前不值一提,所以我們也希望看到越來越多的應用開發者,在自己保留部分基礎能力的同時,將實際任務外包給其它生態成員。畢竟虛擬世界的干擾因素少,所以我們有能力實現理論上的效率最大化。唯一需要考慮的就是安全問題,這個問題的難度等價於現在的跨鏈問題,但說到底也沒什麼大不了的,既然是技術問題,就總有解決的時候。

我想說的效率,其實還有另外一層。就是在區塊鏈世界逐漸被大眾所熟悉的今天,會有更多的優秀人才和資本被吸引進來。在web3.0概念中,供應商們很難像web2.0那樣把使用者留存在自己的生態裡。如果是這樣,這些“增量”會選擇以一種什麼樣的方式進入到區塊鏈世界中?我能想到的方式有兩種,一是做賣鏟子的人,他們將是模組的供應方,在現有的基礎設施中找到可以被改進的點,唯有這樣才能不依賴“流量”,同時利用模組化打造出自己的長板,與所在生態拼接成一個“木桶”。還有一種方式是將自己在鏈下的流量導流到鏈上,流量的入口仍然在鏈下,他們將作為模組化的需求方,需要的是開箱即用的體驗,以及快速的應用搭建速度。

而模組化的區塊鏈世界無疑能進一步拉低創新的門檻,我們甚至可以期待一個效率遠超web2.0的區塊鏈世界。 只有當低水平的重複工作被模組化工具所終結,真正的創新才能開始 ,對區塊鏈來說是這樣,對我們每個人來說也一樣。遠的不提,大家有沒有發現幾乎所有dex的前端頁面全都長得像一個樣子,幾乎每個solidity初學者做的第一個完整專案都是把uniswap的程式碼複製一遍。對於開發者而言,這些常被拿來“學習”的內容,本身就是一個個封裝好的“模組”,很多人就是在“學習”的過程中,站在前人的肩膀上,發現他們之前沒有解決好的漏洞,做出一點點改進,然後成為其他人可以站上的肩膀。

現在開始,世界各地,從瑞士到馬耳他到塞席爾到新加坡到舊金山,會有更多一無所有的年輕開發者每天晚上捫心自問:

和尚摸得,為什麼我摸不得?別人可以簡簡單單的在前人的程式碼上改進出新的專案,為什麼我不可以?既然模組化已經提供了足夠的基礎元件,我為什麼要花時間自己再重新寫一遍?當更多開發者發出這樣的問題後,區塊鏈上的創新將會指數增長。


總結

模組化是擴容的答案:現有的公鏈要麼已經開始模組化的嘗試,要麼仍處在幣價漲幅難以支付礦工費用的虧損中。安全保護和計算執行是兩種服務,理應分開收費。而這些仍在掙扎的公鏈,越早一天接入layer2,其原始價值能被保留的越多,否則只能在無盡的通脹中被稀釋殆盡。當然,將自己直接轉化為某條公鏈的layer2也是個可取的思路,我們不需要太多的公鏈用獨立的安全層承載屬於自己的共識,過度分散的共識對效率沒有幫助,而自由的市場,終究會毀滅“更高效率”面前的所有阻礙。

商業競爭促成模組化:只有資源的複用能帶來超額收益,誠然公鏈可以開發自己的模組化來解決自己的擴容問題,但在同等勞動付出下,完全獨立的模組化專案會服務更多的使用者,商業法則會淘汰那些得不到超額收益的競爭者。而模組化無論對需求方還是供給方而言,都是效率最高的方式。

安全問題很嚴峻,但不要被嚇倒:web2.0解決安全性的方式能給我們帶來一定啟示,元件化在一開始帶來的問題,比它解決的問題還要多。很多人一看到某些專案因為採用了多個供應商提供的模組\元件,結果被駭客找到機會,給使用者帶來了損失,就認為這個方向本身不對。實際上這可能僅僅是因為時間太短,我們還看不出效果。在區塊鏈世界中,模組化的概念仍在早期,實踐的步伐要慢,但既然已經邁出了第一步,在想要改變這個方向之前,要更慢。同理對於那些堅持單片設計的公鏈,大家也要多一些耐心。

任何方向的改變在一開始都會有很大的下行的不確定性。比如我們常常講免稅可以刺激經濟發展,從長遠來講能夠獲得更高的稅收,但是幅度太大的免稅會使得政府一下子入不敷出,然後不得不推高債務,成為經濟發展的負擔。牢記萬事皆有滯後性,夏至來臨的時候,往往還不到一年中最熱的時候,把一克冰融化成水的能量,卻能把這一克水從1度加熱到80度。web2.0的元件化花了很多年才初見成效。安全問題雖然是web3.0模組化的桎梏,但我相信它終有一天會被打破。


文章來源:panews

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;