解读Cellula:致敬POW挖矿的游戏化资产发行协议
撰文:Nickaqiao、Faust,极客web3
自2017 年ERC20 资产风靡区块链圈以来,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 挖矿透过SHA256 哈希演算法的不可预测性/ 难预测性,实现了一套全网矿工在线参与的彩票抽奖系统,这种设计以电能为代价,确保了参与形式上的Permissionless。
此外,POW 是一种更公平的资产分配方式,主流的POW 公链中项目方控盘的难度比POS 公链大很多,而在很多POS 公链或IC0、ID0 方案里,项目方强控盘的案例比比皆是。
例如,Solana 币价在FTX 和SBF 操纵下,曾在20192021 年暴涨近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 挖矿执行的哈希演算法变为推演康威生命游戏的特定演算法,这称为vPOWVirtual POW。
以下让我们对vPOW 的机制设计展开更深入的解析,不得不说,这里的许多细节非常有趣,可以说Cellula 在做的事情之一,是透过链上NFT 交易链条来模拟BTC 的矿机产业链模型。
vPOW 的核心:康威生命游戏与BitLife在对Cellula 的机制设计展开解读前,让我们先来看看vPOW 最重要的核心康威生命游戏,它最早可追溯到冯诺依曼于1950 年提出的细胞自动机概念,而后数学家约翰康威在1970 年正式提出康威生命游戏,用演算法模拟自然生命的演化规律。
假设我们有一个培养皿,将其按照二维座标划分出一堆小方格,然后我们对培养皿进行初始设定,让一些活细胞占据部分方格,此后这些细胞的生死状态将随时间演化,逐渐呈现形态复杂的细胞群聚大家可以想像霉菌是怎么繁殖的。这本质是一个二维格子游戏,规则非常简单:
所以很简单,在二维培养皿中给定细胞状态的初始模式,然后按照上述规则,细胞状态会随时间推移,不断地演化迭代,产生千变万化的结果。你甚至能用康威生命游戏模拟出电脑的效果。
比如说,培养皿中每个细胞的生/ 死,对应着二进制的0/1,你可以把细胞初始状态视为“输入参数”,每个细胞的生死0 或1代表输入数据,之后细胞状态会依照初始模式开始演变,每一轮状态变化就相当于计算过程中的一步操作,经过一段时间后得到的状态,可以看作输出。
只要布置适当的初始模式,康威生命游戏能在经过若干代演变后,输出特定结果。由于初始模式千变万化,可以利用其特性模拟出彩券抽奖的效果。我们可以设定限制条件,每个玩家随机选择一批初始模式,经过100 代演化后,输出结果满足xx 特征的培养皿主人有资格获取奖励,这样就和BTC 挖矿的思路比较接近了:
系统先限定哪一类输出结果符合要求,参与者向给定演算法输入随机的初始值,尝试得到符合要求的输出结果。由于待尝试的初始输入参数非常多几乎是天量,你必须要付出很大努力才能撞大运中奖,这正是工作量证明的逻辑:矿工必须要付出一定工作量才能获得奖励。
在了解Cellula 和康威生命游戏的基本思想后,我们再看他具体的细节设计。 Cellula 把前面说的培养皿分成99=81 个方格,每个方格上的细胞有生/ 死两种状态( 对应二进位的0 和1,这样一来,按照排列组合,培养皿中的细胞初始状态有281 种,这个数字等于1 兆的平方基本上是天文数字。
然后,玩家要做的是对培养皿的初始模式输入参数进行选择。 BitLife 充当了培养皿的实体实际上是个NFT,包含81 个方格,每个方格上放置一个细胞可能有生/ 死两种状态,空置的方格等价于死细胞。然后,BitLife 中每33=9 个相邻方格构成一个BitCell,每个BitLife 由29 个BitCell 拼接而成如果你构造的Bitlife 不足9 个Bitcell,有些地方就被空置,默认都是死细胞。
依照排列组合,BitCell33 方格有29 种初始模式,玩家要做的就是随机挑选不同模式的多个BitCell 组合起来,建构出一个BitLife。简单来解释,就是为自己的培养皿随便找一个初始模式,然后前面讲过,不同的初始模式总计有281 种,是个天文数字。所以留给参与者的选择空间非常大,这就跟BTC 挖矿里用SHA256 的场景有点像。
BitLife 的细胞状态会随着区块高度的增加而改变。 Cellula 依照不同区块高度下BitLife 的状态来分配算力。给定一个区块高度,包含的存活细胞越多的BitLife 拥有的算力越高,这就相当于创造了一种虚拟矿机。
这里举个具体的例子,Cellula 参与者要在链下穷举BitLife 的281 种初始模式,预测每种模式演化后的状态,然后看能否符合奖励系统的要求。假设现在的区块高度为800,而系统提出要求:区块高度为1000 时,存活细胞数最多的BitLife 能获得最多的奖励,那么参与者的目标会很明确:
在区块高度为800 时,我要取得某个模式的BitLife,模式的BitLife 在区块高度为1000 时,能比其他BitLife 有更多存活细胞。
这其实就是Cellula 的核心玩法,你的目标就是自己构造/ 从别人手上买到最有可能获得挖矿奖励的BitLife,这种模式就相当于允许普通散户/ 高级散户自己研发矿机,然后你可以把自己做的矿机卖给别人,可以买别人的矿机来挖矿。如果你要自己造矿机,那就要在链下自行推演出不同模式的BitLife 的状态演化,这会耗费计算资源;如果你要买别人的矿机,其实就是买不同初始模式的Bitlife,你要自行判断这些BitLife 未来的状态变化,所以你还是要在链下自行计算。这其实是整个Cellula 游戏设计中非常有趣的一点。
在了解游戏的核心机制后,我们再来看其他细节:其实BitLife 中的活细胞可以溢出到初始的99 格子外,存活的细胞数可以远大于99 个,没有边界限制。如图所示,如果某个BitLife 包含的活跃细胞数量不断增多,其分配到的挖矿算力也会越来越高,而如果BitLife 的初始模式选择不当,活细胞数越来越少,算力也会越来越低。
然后,系统会每隔5 分钟分发一定的挖矿奖励游戏称为能量点,根据每个BitLife 在网路中的算力份额来分配。
在Cellula 中,玩家合成BitLife 的过程,就是一个制造新矿机的过程。我们前面曾提到,BitLife 的实体是一个NFT,BitLife 在链上被mint 出来后,要进行充电操作才能启动挖矿,单次充电有效期为1 天、3 天和7 天,需要支付一笔小额手续费,到期后需继续充电。
这里要说下,为了鼓励用户多去对BitLife 进行充电,Cellula 设定了一个充电抽奖功能,你每次发起充电操作时都可能被选中,获得一些额外奖励就是说这个奖励和挖矿奖励独立开。这块的设计我们会在后面Analysoor 演算法的部分简单介绍下。
按照Cellula 官方的规则,目前包含33 个Bitcell也就是包含81 个小方格的BitLife 铸造已经停止,玩家们一共铸造了150 多万个此类BitLife,未来新用户可以在二级市场购买BitLife 并进行充电挖矿。按照官方的解释,限量铸造是为了维持游戏生态的稳定,防止科学家无限的铸造BitLife NFT 导致矿机价值缩水。
而且在未来,Cellula 将引入类似于矿机制造商的角色,这个角色基于许可制,要质押代币、公示销售管道、具有一定社区规模和影响力等,这些制造商将负责铸造和销售包含4x4个BitCell 的BitLife,也就是包含169=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 的方案是更有趣的社会实验。