# 虛擬工作量證明:一種公平的資產分發新範式自2017年ERC-20代幣風靡以來,Web3進入了低門檻的資產發行時代。各種項目通過IDO、ICO等方式大量發行代幣或NFT,但往往存在強控盤或信息不透明的問題,造成頻繁的跑路現象。時至今日,傳統的IDO和ICO模式已經充分暴露出公平性方面的缺陷。業界一直希望能有更公平可靠的資產發行協議,來解決新項目首次代幣發行(TGE)時的諸多問題。雖然一些創新項目提出了自己的"公平經濟模型",但大多未能推廣爲通用協議,最終淪爲個例而非抽象的標準化方案。那麼,什麼樣的模式才是更公平可靠的資產分發方式?什麼樣的方案能成爲一套通用協議?本文將介紹的Cellula項目爲解決上述問題提供了全新視角。他們實現了一個模擬工作量證明(POW)的資產分發層,利用虛擬POW(vPOW)將資產分發過程"挖礦化",以模擬比特幣實現更公平的資產分配範式。雖然Cellula被許多人視爲遊戲金融項目,但由於其分發的遊戲內獎勵可以設置爲任意類型的代幣,理論上它可以作爲一個具有POW效應的通用資產分發平台,爲Web3資產發行帶來更廣闊的前景和想象空間。甚至可以稱其爲"一場致敬比特幣挖礦的社會實驗"。## POW和vPOW:結果不可預測的彩票抽獎無論是正統的POW還是POS,或是本文要講的vPOW,本質都是設置一套輸出結果不可預測或難以預測的算法,通過輸出結果來進行"彩票抽獎"。比特幣礦工要在本地構造出滿足限制條件的區塊,提交給網路中的全節點通過共識,才能獲得出塊獎勵。限制條件是要讓構造出的區塊哈希滿足特殊要求,比如前綴是6個0。由於區塊哈希的生成結果不可預測或難以預測,要構造出符合條件的區塊,只能不斷變更給定算法的輸入參數,這一過程需要暴力窮舉,對礦工的硬件設備有很高要求。簡而言之,比特幣挖礦通過SHA-256哈希算法的不可預測性,實現了一套全網礦工在線參與的"彩票抽獎"系統,這種設計以電能爲代價,確保了參與形式上的無許可性。此外,POW是一種更公平的資產分配方式,主流POW公鏈中項目方控盤的難度比POS公鏈大很多。而在很多POS公鏈或ICO、IDO方案裏,項目方強控盤的案例比比皆是。比如,Solana幣價在FTX和SBF操縱下,曾在2019~2021年暴漲近1000倍,而許多Solana驗證節點運行者是其早期投資人,他們獲得籌碼的成本接近於零,這嚴重破壞了資產分發的公平性。雖然POW中項目方也有控盤空間,但程度往往要比POS輕得多。問題在於,POW模式往往被應用於底層公鏈而非應用層的資產發行。我們能否以一套鏈上可實現的方案,模擬出POW的效果?如果可以,就能實現一套比ICO、IDO等強控盤方案更公平可靠的資產分發協議,搭配一些遊戲場景,可以做出有意思的遊戲金融項目(當然實際用途不僅限於遊戲,還可以爲其他項目提供公平的資產分發方案)。關鍵是,如何在鏈上資產發行層模擬出POW的效果?在Cellula項目中,通過引入著名的"康威生命遊戲"算法,爲鏈上虛擬的數字實體(稱爲"BitLife")分配算力。簡單來說,就像讓一羣人在自己的培養皿中繁育細胞集羣,隨着時間推進,誰的培養皿中存活細胞越多,折算後得到的挖礦算力越高,越可能獲得挖礦獎勵。簡而言之,Cellula把傳統POW的哈希計算,換成了另一種結果不可預測或難以預測的計算方式,替換了"Proof of Work"中的"Work"形式。在Cellula的思路下,關鍵在於如何獲得存活細胞數更多的培養皿(BitLife),而推演BitLife的狀態變化需要耗費計算資源,本質是把比特幣挖礦執行的哈希算法變爲推演康威生命遊戲的特定算法,這被稱爲vPOW(Virtual POW)。## vPOW的核心:康威生命遊戲與BitLife在對Cellula的機制設計展開解讀前,先來看看vPOW最重要的核心——"康威生命遊戲"。它最早可追溯到馮諾依曼於1950年提出的"細胞自動機"概念,而後數學家約翰·康威在1970年正式提出"康威生命遊戲",用算法模擬自然界生命的演化規律。假設我們有一個培養皿,將其按照二維坐標劃分出一堆小方格,然後對培養皿進行"初始設置",讓一些活細胞佔據部分方格,此後這些細胞的生死狀態將隨時間演化,逐漸呈現出形態復雜的細胞集羣(可以想像黴菌是怎麼繁殖的)。這本質是一個二維格子遊戲,規則非常簡單:- 每個細胞有兩種狀態:存活/死亡,就像掃雷遊戲一樣,每個細胞和自己周圍八個方格上的細胞會產生互動;- 假設某細胞存活,但周圍8格內存活細胞小於2個(0或1),則該細胞進入死亡狀態; - 某細胞存活,且周圍有2個或3個存活細胞時,該細胞仍保持存活;- 細胞爲存活狀態,周圍有超過3個存活細胞時,該細胞進入死亡狀態(模擬生命數量過多而爭搶資源的場景);- 當前細胞爲死亡狀態,但周圍有3個存活細胞時,該細胞轉入存活狀態(模擬細胞增殖)所以很簡單,在二維培養皿中給定細胞狀態的初始模式,然後按照上述規則,細胞狀態會隨時間推移,不斷地演化迭代,產生千變萬化的結果。甚至能用康威生命遊戲模擬出計算機的效果。比如說,培養皿中每個細胞的生/死,對應着二進制的0/1,你可以把細胞初始狀態視爲"輸入參數",每個細胞的生死(0或1)代表輸入數據,之後細胞狀態會按照初始模式開始演變,每一輪狀態變化就相當於計算過程中的一步操作,經過一段時間後得到的狀態,可以看作"輸出"。只要布置適當的初始模式,康威生命遊戲能在經過若幹代演變後,輸出特定結果。由於初始模式千變萬化,可以利用其特性模擬出彩票抽獎的效果。我們可以設置限制條件,每個玩家隨機選擇一批初始模式,經過100代演化後,輸出結果滿足特定特徵的培養皿主人有資格獲取獎勵,這樣就和比特幣挖礦的思路比較接近了:"系統先限定哪類輸出結果符合要求,參與者向給定算法輸入隨機的初始值,嘗試得到符合要求的輸出結果"。由於待嘗試的初始輸入參數非常多(幾乎是天量),你必須要付出很大努力才能撞大運中獎,這正是工作量證明的邏輯:礦工必須要付出一定工作量才能獲取獎勵。在理解了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種,是個天文數字。所以留給參與者的選擇空間非常大,這就和比特幣挖礦裏用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的過程,就是一個"
虛擬POW:Cellula項目探索公平資產分發新範式
虛擬工作量證明:一種公平的資產分發新範式
自2017年ERC-20代幣風靡以來,Web3進入了低門檻的資產發行時代。各種項目通過IDO、ICO等方式大量發行代幣或NFT,但往往存在強控盤或信息不透明的問題,造成頻繁的跑路現象。
時至今日,傳統的IDO和ICO模式已經充分暴露出公平性方面的缺陷。業界一直希望能有更公平可靠的資產發行協議,來解決新項目首次代幣發行(TGE)時的諸多問題。雖然一些創新項目提出了自己的"公平經濟模型",但大多未能推廣爲通用協議,最終淪爲個例而非抽象的標準化方案。
那麼,什麼樣的模式才是更公平可靠的資產分發方式?什麼樣的方案能成爲一套通用協議?本文將介紹的Cellula項目爲解決上述問題提供了全新視角。他們實現了一個模擬工作量證明(POW)的資產分發層,利用虛擬POW(vPOW)將資產分發過程"挖礦化",以模擬比特幣實現更公平的資產分配範式。
雖然Cellula被許多人視爲遊戲金融項目,但由於其分發的遊戲內獎勵可以設置爲任意類型的代幣,理論上它可以作爲一個具有POW效應的通用資產分發平台,爲Web3資產發行帶來更廣闊的前景和想象空間。甚至可以稱其爲"一場致敬比特幣挖礦的社會實驗"。
POW和vPOW:結果不可預測的彩票抽獎
無論是正統的POW還是POS,或是本文要講的vPOW,本質都是設置一套輸出結果不可預測或難以預測的算法,通過輸出結果來進行"彩票抽獎"。比特幣礦工要在本地構造出滿足限制條件的區塊,提交給網路中的全節點通過共識,才能獲得出塊獎勵。限制條件是要讓構造出的區塊哈希滿足特殊要求,比如前綴是6個0。
由於區塊哈希的生成結果不可預測或難以預測,要構造出符合條件的區塊,只能不斷變更給定算法的輸入參數,這一過程需要暴力窮舉,對礦工的硬件設備有很高要求。
簡而言之,比特幣挖礦通過SHA-256哈希算法的不可預測性,實現了一套全網礦工在線參與的"彩票抽獎"系統,這種設計以電能爲代價,確保了參與形式上的無許可性。
此外,POW是一種更公平的資產分配方式,主流POW公鏈中項目方控盤的難度比POS公鏈大很多。而在很多POS公鏈或ICO、IDO方案裏,項目方強控盤的案例比比皆是。
比如,Solana幣價在FTX和SBF操縱下,曾在2019~2021年暴漲近1000倍,而許多Solana驗證節點運行者是其早期投資人,他們獲得籌碼的成本接近於零,這嚴重破壞了資產分發的公平性。雖然POW中項目方也有控盤空間,但程度往往要比POS輕得多。
問題在於,POW模式往往被應用於底層公鏈而非應用層的資產發行。我們能否以一套鏈上可實現的方案,模擬出POW的效果?如果可以,就能實現一套比ICO、IDO等強控盤方案更公平可靠的資產分發協議,搭配一些遊戲場景,可以做出有意思的遊戲金融項目(當然實際用途不僅限於遊戲,還可以爲其他項目提供公平的資產分發方案)。
關鍵是,如何在鏈上資產發行層模擬出POW的效果?在Cellula項目中,通過引入著名的"康威生命遊戲"算法,爲鏈上虛擬的數字實體(稱爲"BitLife")分配算力。簡單來說,就像讓一羣人在自己的培養皿中繁育細胞集羣,隨着時間推進,誰的培養皿中存活細胞越多,折算後得到的挖礦算力越高,越可能獲得挖礦獎勵。
簡而言之,Cellula把傳統POW的哈希計算,換成了另一種結果不可預測或難以預測的計算方式,替換了"Proof of Work"中的"Work"形式。在Cellula的思路下,關鍵在於如何獲得存活細胞數更多的培養皿(BitLife),而推演BitLife的狀態變化需要耗費計算資源,本質是把比特幣挖礦執行的哈希算法變爲推演康威生命遊戲的特定算法,這被稱爲vPOW(Virtual POW)。
vPOW的核心:康威生命遊戲與BitLife
在對Cellula的機制設計展開解讀前,先來看看vPOW最重要的核心——"康威生命遊戲"。它最早可追溯到馮諾依曼於1950年提出的"細胞自動機"概念,而後數學家約翰·康威在1970年正式提出"康威生命遊戲",用算法模擬自然界生命的演化規律。
假設我們有一個培養皿,將其按照二維坐標劃分出一堆小方格,然後對培養皿進行"初始設置",讓一些活細胞佔據部分方格,此後這些細胞的生死狀態將隨時間演化,逐漸呈現出形態復雜的細胞集羣(可以想像黴菌是怎麼繁殖的)。這本質是一個二維格子遊戲,規則非常簡單:
所以很簡單,在二維培養皿中給定細胞狀態的初始模式,然後按照上述規則,細胞狀態會隨時間推移,不斷地演化迭代,產生千變萬化的結果。甚至能用康威生命遊戲模擬出計算機的效果。
比如說,培養皿中每個細胞的生/死,對應着二進制的0/1,你可以把細胞初始狀態視爲"輸入參數",每個細胞的生死(0或1)代表輸入數據,之後細胞狀態會按照初始模式開始演變,每一輪狀態變化就相當於計算過程中的一步操作,經過一段時間後得到的狀態,可以看作"輸出"。
只要布置適當的初始模式,康威生命遊戲能在經過若幹代演變後,輸出特定結果。由於初始模式千變萬化,可以利用其特性模擬出彩票抽獎的效果。我們可以設置限制條件,每個玩家隨機選擇一批初始模式,經過100代演化後,輸出結果滿足特定特徵的培養皿主人有資格獲取獎勵,這樣就和比特幣挖礦的思路比較接近了:
"系統先限定哪類輸出結果符合要求,參與者向給定算法輸入隨機的初始值,嘗試得到符合要求的輸出結果"。由於待嘗試的初始輸入參數非常多(幾乎是天量),你必須要付出很大努力才能撞大運中獎,這正是工作量證明的邏輯:礦工必須要付出一定工作量才能獲取獎勵。
在理解了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種,是個天文數字。所以留給參與者的選擇空間非常大,這就和比特幣挖礦裏用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中的活細胞可以溢出到初始的99格子外,存活的細胞數可以遠大於99個,沒有邊界限制。如果某個BitLife包含的活躍細胞數不斷增多,其分配到的挖礦算力也會越來越高,而如果BitLife的初始模式選擇不當,活細胞數越來越少,算力也會越來越低。
然後,系統會每隔5分鍾分發一定的挖礦獎勵(遊戲裏稱爲能量點),根據每個BitLife在網路中的算力份額來分配。
在Cellula中,玩家合成BitLife的過程,就是一個"