Author: Nickaqiao & Faust, Geekweb3
Since ERC-20 assets became popular in the blockchain circle in 2017, Web3 has entered an era of low threshold for asset issuance. Various project parties have issued custom tokens or NFTs arbitrarily through methods such as ID0 and IC0. Most of them have problems of strong control or information opacity, and RugPull phenomena occur frequently. Various sickles seem to regard IC0 and ID0 as an excellent way to reap profits.
Today, conventional ID0 and IC0 have fully exposed their fairness flaws, and people have always hoped for a fairer and more reliable asset issuance protocol to solve many problems during the TGE of new projects. Although some creative projects have unilaterally proposed their own "fair economic models", they are often not universally promoted. In the end, most of these economic models have become "specific cases" rather than "a set of abstract protocols."
So, what kind of model is a fairer and more reliable way to distribute assets? What kind of solution can be used as a set of universal protocols? Cellula, which will be introduced in this article, provides a new perspective to solve the above problems. They implemented an asset distribution layer that simulates POW and used virtual proof of work (vPOW) to "mining" the asset distribution process to simulate BTC and achieve a fairer asset distribution paradigm.
Although the project is regarded by many as Gamefi, since the in-game rewards it distributes can be set as any type of token, Cellula can theoretically be used as an asset distribution platform with a POW effect, bringing broader prospects and imagination space for Web3 asset issuance. It is not an exaggeration to even call it "a social experiment in tribute to BTC mining."
POW and vPOW: Lottery draws with unpredictable outcomes
In fact, whether it is authentic POW or POS, or the vPOW we are going to talk about today, the essence is to set up a set of algorithms with unpredictable/difficult-to-predict output results, and use the output results to conduct "lottery draws". BTC miners must construct blocks that meet the restrictions locally and submit them to all nodes in the network for consensus before they can get the block reward. As for the restrictions, the Hash of the constructed block must meet special requirements, such as a prefix of 6 zeros.
Since the block hash generation result is unpredictable/difficult to predict, in order to construct a qualified block, the input parameters of the given algorithm can only be continuously changed. This process requires brute force and has high requirements on the miners' hardware equipment.
In short, BTC mining uses the unpredictability of the SHA-256 hash algorithm to implement a "lottery" system in which miners from the entire network participate online. This design ensures permissionless participation at the expense of electricity.
In addition, POW is a fairer way of distributing assets. It is much more difficult for the project party to control the mainstream POW public chain than the POS public chain. In many POS public chains or IC0, ID0 schemes, there are many cases of project parties having strong control.
(Under FTX’s manipulation, Solana skyrocketed by nearly 500 times in 2020-2021 alone, which is extremely unfriendly to latecomer validator operators)
For example, the price of Solana coin soared nearly 1,000 times from 2019 to 2021 under the manipulation of FTX and SBF, and many Solana validator node operators were early investors. The cost of obtaining chips was close to 0, which seriously disrupted the fairness of asset distribution. Although the project owner also has room for control in POW, the degree is often much lighter than in POS.
The problem is that the POW model is often applied to the underlying public chain rather than the asset issuance layer of DAPP. Can we simulate the effect of POW with a solution that can be implemented on the chain? If so, we can implement a set of asset distribution protocols that are fairer and more reliable than strong control solutions such as IC0 and ID0. With some game scenarios, we can make some interesting Gamefi (of course, the actual use is not limited to games, but can also provide a fair asset distribution solution for other projects).
So the key is, if we want to simulate the effect of POW at the asset issuance layer on the chain, how can we do it? In the Gamefi project Cellula introduced in this article, the famous "Conway Game of Life" algorithm is introduced to allocate computing power to the virtual digital entity on the chain (called "BitLife"). To put it simply, it is like letting a group of people breed cell clusters in their own petri dishes. As time goes on, whoever has more surviving cells in the petri dish will get higher mining computing power after conversion, and will be more likely to get mining rewards.
In short, Cellula replaces the hash calculation of traditional POW with another calculation method with unpredictable/hard-to-predict results, replacing the "Work" form in "Proof of Work". According to Cellula's idea, the key is how to obtain a culture dish (BitLife) with more surviving cells, and the deduction of the state change of BitLife requires computing resources. In essence, the hash algorithm executed by BTC mining is changed into a specific algorithm for deducing Conway's Game of Life, which is called vPOW (Virtual POW).
Let us now conduct a more in-depth analysis of the mechanism design of vPOW. I have to say that many of the details here are very interesting. It can be said that one of the things Cellula is doing is to simulate the BTC mining machine industry chain model through the on-chain NFT transaction chain.
The core of vPOW: Conway's Game of Life and BitLife
Before explaining the mechanism design of Cellula, let us first look at the most important core of vPOW - "Conway's Game of Life", which can be traced back to the concept of "cellular automaton" proposed by von Neumann in 1950. Later, mathematician John Conway formally proposed the "Conway's Game of Life" in 1970, using algorithms to simulate the evolution of life in nature.
Suppose we have a petri dish, which is divided into a bunch of small squares according to two-dimensional coordinates. Then we perform an "initial setting" on the petri dish, allowing some living cells to occupy some of the squares. After that, the life and death states of these cells will evolve over time, gradually presenting a complex cell cluster (you can imagine how mold reproduces). This is essentially a two-dimensional grid game with very simple rules:
Each cell has two states: alive/dead. Just like the minesweeper game, each cell interacts with the cells on the eight squares around it (as shown in the figure, black means alive and white means dead).
Assuming that a cell survives, but there are less than 2 surviving cells (0 or 1) in the surrounding 8 grids, the cell enters the dead state;
If a cell survives and there are 2 or 3 surviving cells around it, the cell will remain alive;
A cell is in a survival state. When there are more than 3 survival cells around it, the cell enters a death state (simulating a scenario where there are too many lives competing for resources).
When the current cell is in a dead state but there are 3 surviving cells around it, the cell will enter a survival state (simulating cell proliferation)
So it's very simple. Given the initial pattern of cell states in a two-dimensional culture dish, the cell states will continue to evolve and iterate over time according to the above rules, producing ever-changing results. You can even use Conway's Game of Life to simulate the effect of a computer.
For example, the life/death of each cell in the culture dish corresponds to the binary 0/1. You can regard the initial state of the cell as the "input parameter". The life or death of each cell (0 or 1) represents the input data. After that, the cell state will begin to evolve according to the initial pattern. Each round of state change is equivalent to a step in the calculation process. The state obtained after a period of time can be regarded as "output".
As long as the appropriate initial pattern is arranged, Conway's Game of Life can output a specific result after several generations of evolution. Since the initial pattern is ever-changing, its characteristics can be used to simulate the effect of lottery draws. We can set restrictions, each player randomly selects a batch of initial patterns, and after 100 generations of evolution, the petri dish owner whose output meets the xx characteristics is eligible to receive rewards, which is closer to the idea of BTC mining:
“The system first defines which types of output results meet the requirements, and participants input random initial values into a given algorithm to try to get output results that meet the requirements.” Since there are so many initial input parameters to try (almost a huge amount), you have to work hard to get lucky and win, which is exactly the logic of proof of work: miners must put in a certain amount of work to get rewards.
After understanding the basic ideas of Cellula and Conway's Game of Life, let's look at its specific details. Cellula divides the "petri dish" mentioned above into 9*9=81 squares, and the cells on each square have two states: life/death (corresponding to binary 0 and 1). In this way, according to the permutations and combinations, there are 2^81 initial states of the cells in the petri dish, which is equal to 1 trillion squared (basically an astronomical figure).
Then, what the player has to do is to select the initial mode (input parameters) of the petri dish. BitLife acts as the entity of the petri dish (actually an NFT), containing 81 squares, with a cell placed on each square (it may be in two states of life/death, and an empty square is equivalent to a dead cell). Then, every 3*3=9 adjacent squares in BitLife constitute a BitCell, and each BitLife is composed of 2~9 BitCells (if the Bitlife you construct has less than 9 Bitcells, some places will be vacant, and all are dead cells by default).
According to the permutations and combinations, BitCell (3*3 squares) has 2^9 initial modes. What players have to do is to randomly select multiple BitCells of different modes and combine them to construct a BitLife. To put it simply, it is to randomly find an initial mode for your own petri dish. As mentioned earlier, there are a total of 2^81 different initial modes, which is an astronomical number. Therefore, there is a lot of room for choice for participants, which is a bit like the scenario of using SHA-256 in BTC mining.
The state of BitLife cells will change as the block height increases. Cellula allocates computing power according to the state of BitLife at different block heights. Given a block height, the more surviving cells a BitLife contains, the higher the computing power it has, which is equivalent to creating a virtual mining machine.
Here is a specific example. Cellula participants need to exhaustively enumerate the 2^81 initial modes of BitLife off-chain, predict the state of each mode after evolution, and then see if it meets the requirements of the reward system. Assuming that the current block height is 800, and the system requires that when the block height is 1000, the BitLife with the most surviving cells can get the most rewards, then the participants' goals will be very clear:
At block height 800, I want to obtain a certain mode of BitLife that has more surviving cells than other BitLife at block height 1000.
This is actually the core gameplay of Cellula. Your goal is to construct/buy the BitLife that is most likely to get mining rewards from others. This model is equivalent to allowing ordinary retail investors/high-level retail investors to develop their own mining machines, and then you can sell your own mining machines to others, and you can buy other people's mining machines to mine. If you want to build your own mining machine, you have to deduce the state evolution of BitLife in different modes off-chain, which will consume computing resources; if you want to buy someone else's mining machine, it is actually buying BitLife with different initial modes. You have to judge the future state changes of these BitLife by yourself, so you still have to calculate it yourself off-chain. This is actually a very interesting point in the entire Cellula game design.
After understanding the core mechanism of the game, let's look at other details: In fact, the living cells in BitLife can overflow beyond the initial 9*9 grid, and the number of living cells can be much larger than 9*9, with no boundary restrictions. As shown in the figure, if the number of active cells in a BitLife continues to increase, the mining power allocated to it will also increase. If the initial mode of BitLife is not properly selected, the number of living cells will decrease, and the computing power will also decrease.
Then, the system will distribute a certain amount of mining rewards (called energy points in the game) every 5 minutes, based on each BitLife's share of computing power in the network.
In Cellula, the process of players synthesizing BitLife is a process of "making" a new mining machine. As we mentioned earlier, the entity of BitLife is an NFT. After BitLife is minted on the chain, it needs to be "charged" to start mining. The validity period of a single charge is 1 day, 3 days and 7 days. A small fee needs to be paid, and it needs to be recharged after the expiration.
Here, in order to encourage users to charge BitLife more, Cellula has set up a "charging lottery" function. Every time you initiate a charging operation, you may be selected and get some extra rewards (that is, this reward is independent of the mining reward). We will briefly introduce this design in the Analysoor algorithm section later.
According to Cellula's official rules, the minting of BitLife containing 3*3 Bitcells (that is, containing 81 small squares) has been stopped. Players have minted more than 1.5 million of this type of BitLife in total. In the future, new users can buy BitLife in the secondary market and charge for mining. According to the official explanation, limited minting is to maintain the stability of the game ecosystem and prevent scientists from minting BitLife NFTs indefinitely, which will cause the value of mining machines to shrink.
In the future, Cellula will introduce a role similar to that of a mining machine manufacturer. This role is based on a licensing system and requires staking tokens, publicizing sales channels, and having a certain community size and influence. These manufacturers will be responsible for minting and selling BitLife containing 4x4 BitCells, that is, 16*9=144 small squares. The amount of BitLife that a manufacturer can mint will be limited by the amount of tokens it stakes.
Here we roughly explain the core concepts involved in vPOW. The essence of vPOW is a computing model based on given rules. Participants can participate in the competition by optimizing strategies and issue and distribute assets in a gamified way. Cellula simulates the operation of the BTC mining machine market and replaces the computing task form in the proof of work. Since the distribution of mining power can be adjusted dynamically, any mode of BitLife may not be the global optimal. The BitLife with the most surviving cells today may be surpassed by other BitLife tomorrow, which will lead to complex emergence phenomena and dynamic strategies.
Analysoor lottery algorithm and VRGDAs index pricing curve
In the previous section, we mainly explained the core mechanisms of Conway's Game of Life and Cellula. Now let's examine other designs included in the game. As mentioned above, Cellula has a charging lottery, which uses a random number output algorithm called Analysoor. It uses the block hash as the input parameter of the random number generator, extracts the winner among the chargers in each block, and introduces a lottery system.
For example, in Analysoor's design, the current BNB Chain block hash is a long string of 6mjv..., which contains 4 numbers: 6, 2, 1, 6. According to the order of these numbers in the string, the first number is 6 and the last number is 6, which is an even number, and will be counted from the beginning to the end. The extracted numbers are counted from 0, so the transaction order corresponding to the number 6 is 7, and the 7th charging player in the current block is regarded as the winner. Of course, the specific design can be more flexible, this is just an example. The above random lottery algorithm can effectively motivate players to charge more and mobilize the activity of the in-game ecosystem.
In addition, there is a problem in the entire transaction model of Cellula: once a certain model of BitLife is minted by a big guy, the BitCell combination scheme used will be made public, and others can also "follow suit" and mint BitLife according to the same combination scheme. In the end, it is easy to cause a lot of people to follow suit, which seriously affects the randomness of the game results. For this reason, Cellula introduced the Variable Rate Progressive Dutch Auction (VRGDAs), which is a pricing algorithm developed by Paradigm, which will dynamically adjust the price - when the casting volume exceeds expectations, the price will be raised, and when the casting volume is less than expected, the price will be lowered.
Assume that the initial expectation is to mint 10 Class A NFTs per day, with a starting price of 1 CKB. On the 5th day, it was expected that people would mint a total of 50 Class A NFTs, but because many people followed suit, the minting volume reached 70, which was equivalent to the original goal to be achieved on the 7th day. In order to limit the speed, the minting price must be quickly increased through an exponential pricing curve, and the unit price must rise to 4 CKB to suppress minting behavior.
If by the 15th day, only 120 coins have been minted (the original plan was to mint a total of 150 coins at this time), and the expected sales volume has not been achieved, the price will be lowered to stimulate minting.
In the above scenario, when a certain type of BitLife is minted in large quantities in a short period of time, the minting price of this type of NFT will increase exponentially. This drastic price increase can effectively prevent scientists.
Summary: Cellula from the perspective of player game
After talking about all the core designs of Cellula, let's look at this mind-blowing game mechanism from the perspective of players. First of all, there are many participants in vPOW, and each participant has a different strategy. Taking the primary issuance market as an example, a "scientist" can write code and combine different BitCells to find a BitLife with higher computing power to obtain higher mining income. At the same time, there will be some MEV players who monitor the casting events on the chain. When they find that a NB scientist has cast a certain type of BitLife, they will also follow suit and cast a large number of them.
However, due to the existence of VRGDAs exponential pricing algorithm, the casting price of a single type of BitLife can grow exponentially, which can effectively prevent scientists (anti-witches). Of course, BitLife/mining machines will also be priced. If the computing power of a certain type of mining machine is high, its casting/production price will also be very high. The price circulating in the secondary market will refer to the production price and then be transmitted to the entire supply chain.
Analogous to the issuance process of BTC mining machines, scientists discovered that a certain type of BitLife has high computing power, just like a mining machine company developed a new chip, and MEV players followed suit, just like the first-level dealers completed the pricing of mining machines, and the subsequent secondary market transactions were similar to retail investors purchasing equipment from dealers.
The difference is that compared with the research and development of mining machines in the real world, scientists can discover new BitLife much faster, and anyone can participate in the state deduction of BitLife, which is equivalent to reducing the research and development power of mining machines to a large extent. "Everyone has the opportunity to become a scientist", which is more friendly to most people and is impossible to appear in the actual mining machine production chain.
As for the project owner, the adoption of a POW-style asset distribution scheme weakens his power, so scientists, project owners, and ordinary players cannot unilaterally control the market. In the mining machine casting and issuance process, a three-party game is generated, and no one party can completely monopolize the market, which can form a dynamic balance.
Overall, compared to the BTC mining industry chain, Cellula's solution is a more interesting social experiment.