解讀Cellula:致敬POW挖礦的遊戲化資產發行協議

作者:Nickaqiao & Faust,極客web3

自2017年ERC-20資產風靡區塊鏈圈以來,Web3就進入了資產發行的低門檻時代,各路項目方憑藉ID0、IC0等方式肆意發行自訂代幣或NFT,且大多存在強控盤或資訊不透明問題,RugPull現象頻繁,各路鐮刀儼然把IC0、ID0當作割韭菜的絕佳途徑。

時至今日,常規的ID0和IC0已經充分暴露出了其在公平性上的缺陷,人們一直都希望有較為公平可靠的資產發行協議,解決新項目TGE時的諸多問題。雖然一些創意十足的項目單方面提出了自己的“公平的經濟模型”,但往往沒有進行通用化推廣,最後這類經濟模型大多淪為“具體案例”而不是“一套抽像出來的協議”。

那麼,什麼樣的模式是更公平可靠的資產發放方式呢?什麼樣的方案能作為一套通用協議?本文將要展開介紹的Cellula為解決上述問題提供了全新視角,他們實現了一個模擬POW的資產分發層,利用虛擬工作量證明(vPOW)將資產分發過程“挖礦化”,以模擬BTC實現更公平的資產分配範式。

雖然該專案被許多人視為Gamefi,但由於其分發的遊戲內獎勵可以設定為任意類型的Token,Cellula理論上可以作為一個有POW效應的資產分發平台,為Web3資產發行帶來了更廣闊的前景與想像空間,甚至於稱為「一場致敬BTC挖礦的社會實驗」也不為過。

POW和vPOW:結果不可預測的彩票抽獎

其實無論是正宗的POW還是POS,或是今天要講的vPOW,本質都是設定一套輸出結果不可預測/難預測的演算法,透過輸出結果來進行「彩票抽獎」。 BTC礦工們要在本地建構出滿足限制條件的區塊,提交給網路中的全節點通過共識,才能拿到出塊獎勵。至於限制條件,是要讓建構出來的區塊的Hash滿足特殊要求,例如前綴是6個0。

由於區塊Hash的產生結果不可預測/難預測,要構造出符合條件的區塊,只能不斷的變更給定演算法的輸入參數,這一過程需要暴力窮舉,對礦工的硬體設備有很高要求。

簡而言之,BTC挖礦透過SHA-256哈希演算法的不可預測性/難預測性,實現了一套全網礦工在線參與的「彩票抽獎」系統,這種設計以電能為代價,確保了參與形式上的Permissionless。

此外,POW是一種更公平的資產分配方式,主流的POW公鏈中項目方控盤的難度比POS公鏈大很多,而在許多POS公鍊或IC0、ID0方案裡,項目方強控盤的案例比比皆是。

(Solana在FTX操縱下,僅在2020~2021年就暴漲了小500倍,這對後入場的Validator運行者而言極不友好)

例如,Solana幣價在FTX和SBF操縱下,曾在2019~2021年暴漲近1000倍,而許多Solana驗證節點運行者是其早期投資人,它們獲得籌碼的成本近0,這嚴重打破了資產分發上的公平性。雖然POW當中項目方也有控盤的空間,但程度往往比在POS中輕得多。

問題在於,POW的模式往往應用於底層公鏈而非DAPP的資產發行層,我們能否以一套鏈上可實現的方案,模擬出POW的效果?如果能,就可以實現一套比IC0、ID0等強控盤方案更公平可靠的資產分發協議,搭配一些遊戲場景,可以做出一些有意思的Gamefi(當然實際用途不僅限於遊戲,還可以為其他項目提供一套公平的資產分發方案)。

所以關鍵是,如果我們要在鏈上資產發行層模擬出POW的效果,該怎麼做呢?在本文介紹的Gamefi計畫Cellula中,透過引入著名的「康威生命遊戲」演算法,為鏈上虛擬的數位實體(稱為「BitLife」)分配算力。說穿了像是讓一群人在自己的培養皿中繁殖細胞集群,隨著時間推進,誰的培養皿中存活細胞越多,折算後得到的挖礦算力越高,越可能獲得挖礦獎勵。

簡而言之,Cellula把傳統POW的雜湊計算,換成了另一種結果不可預測/難以預測的計算方式,取代了「Proof of Work」中的「Work」形式。在Cellula的思維下,關鍵在於如何獲得存活細胞數更多的培養皿(BitLife),而推演BitLife的狀態變化需要耗費計算資源,本質是把BTC挖礦執行的哈希演算法變為推演康威生命遊戲的特定演算法,這稱為vPOW(Virtual POW)。

以下讓我們對vPOW的機制設計展開更深入的解析,不得不說,這裡的許多細節非常有趣,可以說Cellula在做的事情之一,是透過鏈上NFT交易鏈條來模擬BTC的礦機產業鏈模型。

vPOW的核心:康威生命遊戲與BitLife

在對Cellula的機制設計展開解讀之前,讓我們先來看看vPOW最重要的核心——“康威生命遊戲”,它最早可追溯到馮諾依曼於1950年提出的“細胞自動機”概念,而後數學家約翰·康威在1970年正式提出“康威生命遊戲”,用演算法模擬自然生命的演化規律。

假設我們有一個培養皿,將其按照二維坐標劃分出一堆小方格,然後我們對培養皿進行“初始設置”,讓一些活細胞佔據部分方格,此後這些細胞的生死狀態將隨時間演化,逐漸呈現形態複雜的細胞群聚(大家可以想像黴菌是怎麼繁殖的)。這本質是一個二維格子遊戲,規則非常簡單:

  • 每個細胞有兩種狀態:存活/死亡,就像掃雷遊戲一樣,每個細胞和自己周圍八個方格上的細胞會產生互動(如圖,黑色為存活,白色為死亡);

  • 假設某細胞存活,但周圍8格內存活細胞小於2個(0或1),則該細胞進入死亡狀態;

  • 某細胞存活,且周圍有2個或3個存活細胞時,該細胞仍保持存活;

  • 當細胞為存活狀態,周圍有超過3個存活細胞時,此細胞進入死亡狀態(模擬生命數量過多而爭搶資源的場景);

  • 當前細胞為死亡狀態,但周圍有3個存活細胞時,此細胞轉入存活狀態(模擬細胞增殖)

所以很簡單,在二維培養皿中給定細胞狀態的初始模式,然後按照上述規則,細胞狀態會隨時間推移,不斷地演化迭代,產生千變萬化的結果。你甚至能用康威生命遊戲模擬出電腦的效果。

比如說,培養皿中每個細胞的生/死,對應著二進制的0/1,你可以把細胞初始狀態視為“輸入參數”,每個細胞的生死(0或1)代表輸入數據,之後細胞狀態會依照初始模式開始演變,每一輪狀態變化就相當於計算過程中的一步操作,經過一段時間後得到的狀態,可以看作「輸出」。

只要佈置適當的初始模式,康威生命遊戲能在經過若干代演變後,輸出特定結果。由於初始模式千變萬化,可以利用其特性模擬出彩券抽獎的效果。我們可以設定限制條件,每個玩家隨機選擇一批初始模式,經過100代演化後,輸出結果滿足xx特徵的培養皿主人有資格獲得獎勵,這樣就和BTC挖礦的思路比較接近了:

「系統先限定哪一類輸出結果符合要求,參與者向給定演算法輸入隨機的初始值,嘗試得到符合要求的輸出結果」。由於待嘗試的初始輸入參數非常多(幾乎是天量),你必須要付出很大努力才能撞大運中獎,這正是工作量證明的邏輯:礦工必須要付出一定工作量才能獲得獎勵。

在了解Cellula和康威生命遊戲的基本思想後,我們再看他具體的細節設計。 Cellula把前面說的「培養皿」分成9*9=81個方格,每個方格上的細胞有生/死兩種狀態(對應二進位的0和1),這樣一來,依照排列組合,培養皿中的細胞初始狀態有2^81種,這個數字等於1兆的平方(基本上是天文數字)。

然後,玩家要做的是對培養皿的初始模式(輸入參數)進行選擇。 BitLife充當了培養皿的實體(實際上是個NFT),包含81個方格,每個方格上放置一個細胞(可能有生/死兩種狀態,空置的方格等價於死細胞)。然後,BitLife中每3*3=9個相鄰方格構成一個BitCell,每個BitLife由2~9個BitCell拼接而成(如果你構造的Bitlife不足9個Bitcell,有些地方就被空置,默認都是死細胞)。

依照排列組合,BitCell(3*3格)有2^9種初始模式,玩家要做的就是隨機挑選不同模式的多個BitCell組合起來,建構出一個BitLife。簡單來解釋,就是為自己的培養皿隨便找一個初始模式,然後前面講過,不同的初始模式總計有2^81種,是個天文數字。所以留給參與者的選擇空間非常大,這就跟BTC挖礦裡用SHA-256的場景有點像。

BitLife的細胞狀態會隨著區塊高度的增加而改變。 Cellula依照不同區塊高度下BitLife的狀態來分配算力。給定一個區塊高度,包含的存活細胞越多的BitLife擁有的算力越高,這就相當於創造了一種虛擬礦機。

這裡舉個具體的例子,Cellula參與者要在鏈下窮舉BitLife的2^81種初始模式,預測每種模式演化後的狀態,然後看能否符合獎勵系統的要求。假設現在的區塊高度為800,而係統提出要求:區塊高度為1000時,存活細胞數最多的BitLife能獲得最多的獎勵,那麼參與者的目標會很明確:

在區塊高度為800時,我要取得某個模式的BitLife,該模式的BitLife在區塊高度為1000時,能比其他BitLife有更多存活細胞。

這其實就是Cellula的核心玩法,你的目標就是自己構造/從別人手上買到最有可能獲得挖礦獎勵的BitLife,這種模式就相當於允許普通散戶/高級散戶自己研發礦機,然後你可以把自己做的礦機賣給別人,可以買別人的礦機來挖礦。如果你要自己造礦機,那就要在鏈下自行推演出不同模式的BitLife的狀態演化,這會耗費計算資源;如果你要買別人的礦機,其實就是買不同初始模式的Bitlife,你要自行判斷這些BitLife未來的狀態變化,所以你還是要在鏈下自行計算。這其實是整個Cellula遊戲設計中非常有趣的一點。

在了解遊戲的核心機制後,我們再來看其他細節:其實BitLife中的活細胞可以溢出到初始的9*9格子外,存活的細胞數可以遠大於9*9個,沒有邊界限制。如圖所示,如果某個BitLife包含的活躍細胞數量不斷增多,其分配到的挖礦算力也會越來越高,而如果BitLife的初始模式選擇不當,活細胞數越來越少,算力也會越來越低。

然後,系統會每隔5分鐘分發一定的挖礦獎勵(遊戲稱為能量點),根據每個BitLife在網路中的算力份額來分配。

在Cellula中,玩家合成BitLife的過程,就是一個「製造」新礦機的過程。我們前面曾提到,BitLife的實體是一個NFT,BitLife在鏈上被mint出來後,要進行「充電」操作才能啟動挖礦,單次充電有效期為1天、3天和7天,需要支付一筆小額手續費,到期後需繼續充電。

這裡要說下,為了鼓勵用戶多去對BitLife進行充電,Cellula設定了一個「充電抽獎」功能,你每次發起充電操作時都可能被選中,獲得一些額外獎勵(就是說這個獎勵和挖礦獎勵獨立開)。這塊的設計我們會在後面Analysoor演算法的部分簡單介紹下。

依照Cellula官方的規則,目前包含3*3個Bitcell(也就是包含81個小方格)的BitLife鑄造已經停止,玩家們一共鑄造了150多萬個此類BitLife,未來新用戶可以在二級市場購買BitLife並進行充電挖礦。按照官方的解釋,限量鑄造是為了維持遊戲生態的穩定,防止有科學家無限的鑄造BitLife NFT導致礦機價值縮水。

而且在未來,Cellula將引入類似於礦機製造商的角色,這個角色基於許可製,要質押代幣、公示銷售管道、具有一定社區規模和影響力等,這些製造商將負責鑄造和銷售包含4×4個BitCell的BitLife,也就是包含16*9=144個小方格。製造商可以鑄造的BitLife量,將受到其質押代幣量的限制。

在此我們大致上把vPOW涉及的核心概念通俗解釋了一遍。 vPOW的本質是基於給定規則的計算模型,參與者可以透過最佳化策略來參與競爭,透過遊戲化的方式進行資產發行與分配。 Cellula模擬了BTC礦機市場的運作形式,取代了工作量證明中的計算任務形式,由於挖礦算力的分配方式可以動態調整,任何模式的BitLife都未必是全局最優的,今天細胞存活數最多的BitLife,明天就可能被其他BitLife超越,這會導致複雜的湧現現象和動態的策略。

Analysoor抽獎演算法與VRGDAs指數定價曲線

在前面我們主要針對康威生命遊戲及Cellula的核心機制進行了展開式的解讀,下面我們再來考察下游戲中包含的其他設計。上面我們提到Cellula有個充電抽獎環節,這裡用到了名為Analysoor的隨機數輸出演算法,它把區塊哈希當作隨機數產生器的輸入參數,抽出每個區塊裡參與充電者中的贏家,引進了一種彩券制度。

例如在Analysoor的設計中,目前BNB Chain的區塊哈希為6mjv….的一長串字串,裡麵包含4個數字:6、2、1、6。依照這幾個數字在字串中的排序,第一個數字是6,最後一個數字是6,為偶數,將從前往後計數。提取出來的數字是從0開始計數的,於是數字6對應的交易排序是7,就從當前區塊裡把第7個充電玩家視為中獎者。當然具體的設計可以更靈活,這裡只是舉例。上述隨機性的抽獎演算法可以有效激勵玩家多充電,調動遊戲內生態的活躍度。

此外,在Cellula的整個交易模型中,有一個問題:某種模式的BitLife一旦被某個大佬Mint出來,其採用的BitCell組合方案會被公開,其他人也可以“跟風”,按照相同的組合方案去mint BitLife,最後很容易引發一堆人跟風的現象,嚴重影響遊戲結果的隨機性。為此,Cellula引入了可變速率漸進荷蘭拍賣(VRGDAs),這是由Paradigm開發的定價演算法,會動態調整價格——當鑄造量超預期時抬價,鑄造量不如預期時降價。

假設初始預期是每天鑄造10個A類NFT,起始價格為1個CKB。本來到了第5天,預期人們​​共計鑄造50個A類NFT,但因為很多人跟風,鑄造量達到70個,這相當於原計劃到第7天實現的目標。為了限速,要透過指數定價曲線快速提高鑄造價格,單價漲到4個CKB來抑制鑄造行為。

如果到第15天,只鑄造了120個(原計劃此時鑄造共150個),沒有達到預期銷量,這時會下調價格,刺激鑄造量。

在上述場景中,當某類BitLife在短時間內被大量鑄造時,該類NFT的鑄造價格會指數級增長,這種劇烈的價格上漲可以有效的防住科學家。

總結:從玩家博弈的視角看待Cellula

在講完了Cellula的全部核心設計後,我們不妨從玩家的賽局視角來看這腦洞大開的遊戲機制。首先,在vPOW中有很多參與者,每個參與者的策略都不同,以一級發行市場為例,一個”科學家“可以寫代碼,組合不同的BitCell去找到算力更高的BitLife,獲取更高的挖礦收益,同時會存在一些MEV玩家,他們監聽鏈條上的鑄造事件,當發現某個NB的科學家鑄造了某類型的BitLife時,他們也會跟風大量鑄造。

但由於VRGDAs指數型定價演算法的存在,單一類型的BitLife鑄造價格可以指數級增長,這樣可以有效的防住科學家(反女巫),當然也會對BitLife/礦機進行定價,如果某類礦機的算力高,它的鑄造/生產價格也會很高,後面流通在二級市場的價格會參考生產價,進而傳導到整個供應鏈當中。

類比BTC礦機的發行過程,科學家發現某類型BitLife的算力高,就好像礦機公司研發出新的晶片,MEV玩家跟風鑄造,就好像一級經銷商完成礦機的定價,而後的二級市場交易就類似散戶向經銷商購買設備。

不同的是相比現實世界的礦機研發,科學家發現新的BitLife的速度會快很多,而且任何人都可以參與到BitLife的狀態推演中,很大程度上相當於降低了礦機的研發權力, “人人都有機會成為科學家”,這對大多數人而言是更友好的,也是現實中礦機生產鏈中不可能出現的。

而對於專案方本身而言,採用POW式的資產分發方案本身就削弱了他的權力,所以,無論是科學家或專案方,亦或是普通玩家,都無法單方面控制市場。在礦機鑄造環節以及發行環節,就產生了這三方的博弈,沒有一方能夠完全壟斷市場,這可以形成一種動態的平衡。

整體而言,相較於BTC礦機產業鏈,Cellula的方案是一種更有趣的社會實驗。

Total
0
Shares
Related Posts