Loot 是一种链上内容表达模式的新实验,以及程序化生成技术在艺术收藏品 NFT 以外的应用实例。
撰文:曹一新,就职于 HashKey Capital Research
审核:邹传伟,万向区块链首席经济学家
Loot 以迅雷不及掩耳之势横空出世,和比特币一样靠社区推动着行业革新,只不过这次的宣传周期只花了一周时间。本文着重分析 Loot 项目的特点,总结给我们带来的新思考。
Loot 是什么?
Loot 是由 Dom Hofmann 发起、靠社区推动的一个 NFT 项目。每一枚 Loot 代表一组具有随机稀缺特性的冒险装备,装备中包含的 8 个物件分别对应冒险者的武器、头甲、胸甲;腰部、手部、脚部护具;以及项链、戒指。
Loot 的总量设定为 8000 枚,其中编号 1 至 7777 的 Loot 可由任何人通过调用在以太坊上部署的智能合约认领铸造,并且发起人在 Twitter 上喊话后数小时内就被抢「铸」一空。剩余 222 枚只有合约部署者,也就是 Dom 本人才有权限认领,目前他已认领了编号为 7881 和 7836 的 Loot 并将其转手,故当前总流通量为 7779 枚。
从社区人员统计的 数据 看,自 2021 年 8 月 28 日上线后,只需花 Gas 费认领的 Loot 在第 7 天的地板价就达到了 10 个 ETH (折合约 3.8 万美元),随后保持在该水平附近。截至 2021 年 9 月 7 日,持有者地址总数 2528 个,为 NFT 市场贡献了约 2.1 亿美元的交易额,周交易额跃居第一,超越前期热门项目(如图 1 所示)。
图 1. NFT 产品 7 日交易额 Top5 (dappradar, 2021-9-7)
Loot 的不同之处
Loot 这匹黑马能够在短期获得大量关注和交易量,自然有其与众不同之处。已经有很多评论指出 Loot 是从 JPG 到 TXT 的一次呈现形式的创新。如果深入挖掘,会发现这其实是一种链上内容表达模式的新实验,以及程序化生成技术在艺术收藏品 NFT 以外的应用实例。而更进一步地,Dom 还在程序化生成技术中引入了社交随机性元素,并开辟出一条自下而上的发展新路径。
文本表达的信息内核上链
在 Loot 之前,大部分 NFT 声明所有权的对象是通过哈希算法锁定的一个 JPG 文件:发行方将 JPG 数据映射成一串哈希指纹用于完整性校验,将该哈希指纹、储存 JPG 文件的路径与内容描述、发行信息、创作者签名等信息构成元数据;元数据也不一定直接保存在区块链上,而是将储存元数据的路径再次以哈希摘要的形式上传至区块链(如图 1 所示)。
图 2. 常规 NFT 元数据获取过程(Image Courtesy of: The broken promises of NFT Art)
这种处理方式可能引发两个问题:
- 元数据与所有权声明分离可能导致数据可用性和数据完整性问题;如果把原始图像全都上链,又会占用本就稀缺的公共资源,后期维护成本也很高。
- 以图片形式呈现的元数据后期无法修改,这对艺术收藏品 NFT 而言是理想情况,而对想要通过可组合性、互操作性提供更多体验的 NFT 来说是一个潜在问题,比如 IP 的进化、游戏道具的升级。目前在 Axie Infinity 等游戏中通过「孵化」生成一个新的 NFT 来达到这一目的。
Loot 为解决上述问题提供了新思路——将 UI 层从信息内核剥离,只保留必要的文本内容。资深游戏玩家对此可能更有体会:一款经典好玩的游戏可以在只有简单文本的情况仍能引发共情。所以 Loot 所有权声明的是一串不可篡改的文字,而文字,是最能代表人类共识的产物。简单的 8 行描述装备的文字,就能引发人们无限憧憬。Loot 社区里已有不少人开始为它们描绘图像、编撰故事……这种只将内容表达所需核心要素记录在区块链上的模式是一种数字世界表达方式的新实验,可以同时减少稀有公共资源的浪费和避免元数据分离,对有更新迭代预期的 NFT 的更为适用。
程序化生成应用的拓展
而更加值得注意的是,这串文字的存储和呈现方式并没有事先以一个文件作为载体存储于某个地方,而是一串能用来生成 SVG (可缩放矢量图形)文件(图 3-4)的源代码(图 3-1),该代码用 BASE64 编码后与附加说明内容打包(图 3-2),并再次以 BASE64 编码形式记录在区块链上(图 3-3)。事后任何人可从链上获取原始编码信息、解码、并以决定性的路径生成矢量图。
图 3. Loot (#1)的 SVG 源代码上链及生成预览图过程
上述操作其实就是程序化生成(procedural generation)的一种实例。程序化生成在关于艺术品 NFT 的元数据永久性问题讨论中 早被提及 ,Crypto Punks 的项目方 Larva Labs 也率先开发了此类产品 Autoglyphs。在万向区块链研报总第 143 期《NFT 出圈后的生态展望》中我们也提到过这个方向。而几个月过后,曾经不知名的链上生成类艺术品 NFT 培育平台 Art Blocks 已然实现周交易量排名第 5 (如图 1)。
作为对比背景,先简单介绍一下生成类艺术品 NFT。
Art Blocks 是一个邀请制艺术家培育平台,为艺术家提供了程序化生成算法的创作平台。培育出的作品集对应的生成算法脚本(例如 p5js)将作为一个 project 储存于以太坊智能合约。收藏家可根据作品风格挑选 project,购买的 NFT 将根据内置随机种子产生一组随机变量,该变量控制生成算法生成一幅符合该风格的作品,不限于 静态图像 、 3D 模型 或 可交互的体验 (鼠标互动)。
这种具有多样艺术风格导向的生成类 NFT 与 Autoglyphs 的区别除了运营模式之外,还在于程序化生成技术过程的细节差异。如图 4 所示,生成类 NFT 的技术流程主要包括:
- 元数据的存储(非必需)
- 生成算法的存储
- 生成算法的执行
- 成品的渲染
- 成品的存储(非必需)
图 4. 链上生成类 NFT 技术维度对比(Image Courtesy of: On-Chain Artwork NFTs)
Autoglyphs 的项目方直接将生成算法用 solidity 语言内置为智能合约的一个名为 draw 的方法,调用该方法可生成总量限定为 512 幅、由黑色符号构成的随机图案。并且该图案生成过程在链上执行,渲染过程仅依赖 UTF-8 编码,不依赖其它元数据。
而 Art Blocks 在链上存储了多个不同的生成算法脚本,每个 project 相关的信息也作为元数据存在区块链。但脚本的执行和渲染过程依赖浏览器内置相关语言编译功能及 API、在浏览器中完成。也就是说如果没有支持该脚本运行的浏览器,这些作品的呈现效果就无法保障。
回过头来再看 Loot,可以认为它也是在程序化生成技术逐渐开始发力的契机下,将其引入游戏、社交类 NFT 的一个新案例:由智能合约预设的随机算法生成用简单文本描述冒险者装备的 SVG 脚本,该脚本通过外部编译器可确定性生成矢量图。但矢量图不是重点,重点在于 Loot 持有者在 Loot 社区拥有了用 8 个维度描述的去中心化角色,而这一角色的表达并不依赖于任何区块链外部系统。
引入社交随机性
事实上,既是开发者、创业家,也是艺术家的 Dom 是程序化生成艺术的爱好者,用关键词搜索可以发现去年 2 月份他就在 Instagram 分享用该技术生成的玫瑰图(如图 5)。
图 5. Dom Hofmann 用程序化生成的玫瑰图之一
虽然程序化生成技术在 Loot 项目的应用较为简单,但 Dom 为其引入了一个新的元素——社交随机性,这体现在他对 Synthetic Loot 的设计以及他创立的早期项目 Blitmap 中。
Blitmap 是一种结合创作者社区共创理念的链上生成类 NFT。首先,包括 Dom 在内的 17 位创作者首先创作了 100 幅 32x32 的像素图,这些图像的 SVG 源代码保存在智能合约内,可被公开获取生成矢量图。接着社区成员可任选两个原始 NFT,调用智能合约内置方法将其中一张的构图与另一张的色调重组铸造出新的变种 NFT (如图 6 所示),总量限定为 1600 枚。
图 6. Blitmap:社区成员可参与变种 NFT 的重组生成过程
上述过程仿佛借鉴了 NFT 游戏中的「孵化」特性,为社区成员提供基于各自艺术品味的创作权,将这部分随机性引入这 1600 张 NFT 作品的生成过程。
而 Synthetic Loot 则是一种更新的尝试,是面向所有以太坊用户的社交实验。Synthetic Loot 并不是指把几个 Loot NFT 合成一个新的 Loot NFT,而是在 Loot 生成算法的基础上引入了基于以太坊地址的随机性,将任意以太坊地址映射到一组描述冒险者装备的文本,Synthetic Loot 合约内部的算法可以执行、验证这个映射关系,与 Loot 的区别如表 1 所示。
表 1. Loot 与 Synthetic Loot 对比
那么 Synthetic Loot 的应用场景是什么呢?
在 Loot 推出之后,有人诟病该项目的发行过程可能并不公平,理由包括:
- 认领门槛高,需要掌握合约调用技能或使用相关工具,二级市场价格被炒的太高;
- 认领过程存在女巫攻击可能,即同一个人使用大量不同地址认领,导致 Loot 集中在少数者手中;
- 根据 TokenId 生成的随机属性可能容易被推测等。
于是担心 Loot 最终可能演变成像 CryptoPunks 一样的富人圈社交游戏,而并不能形成一个很大社交规模。市场上立即出现很多 Loot 仿盘迎合投机者的需求。
发行过程是否必须公平本身就是一个话题,但为了实现更多人参与的社交实验,Dom 提出了 Synthetic Loot 的设想,并倡议社区的开发者可以基于 Synthetic Loot 或者任何基于此的其它版本(例如调低稀缺度的 Synthetic Lesser Loot)构建场景,吸引以太坊用户参与。
该方法实际上提供了一种为任意以太坊地址赋予由多维度描述的去中心化角色的冷启动手段,也引入了随机的社交体验:不同的地址在不同场景下可能会被赋予不同的定义和特性,用户可以根据自己的喜好选择经常交互的场景,而在这些场景中,随机地结识其它地址背后的用户——这不再是一场提前设计好的游戏。
这种思路也被 Dom 应用到对开发 Loot 扩展包 NFT 的指导中。他认为现在很多以 Loot 扩展包为名义供 Loot 持有者认领铸造的 NFT 项目并不是很理想,原因是这需要 Loot 持有者在每次更新扩展包时都花钱铸造 NFT,可能会有大量不需要的 NFT 充斥二级市场,并对以太坊资源造成浪费。所以他提议与其将扩展包视为必须通过铸造获取的东西,不如将其以合成形式自动分配给生态成员。
例如开发者想为 Loot 成员提供一个宠物扩展包,他可以部署一个将任意 Loot 或 Synthetic Loot 编号(此时,这个编号不再是单纯的数字,而和以太坊地址一样与用户关联)映射到一组关于宠物特性的描述,并提供公开查询验证接口。开发者可将这个合约提交给社区治理下的注册合约,该注册合约负责维护一系列可选扩展包合约地址,供社区成员查看和选择。甚至可以建立一个前端页面,方便 Loot 成员查看自己所有的关联特性,并根据自己的喜好选择是否认可某种特性。当然,在某些场景下,Loot 成员可能有交易扩展包的需求,此时他可以选择认领铸造扩展包 NFT 并拿到二级市场交易。
这样设计的问题在于如何激励开发者,因为在认领铸造扩展包 NFT 模式下开发者可以赚快钱,而在合成模式下开发者收入来源未知。这就是实验存在的意义,社区能否自组织地形成一些新的激励模式来让 Loot 项目更可持续地发展?
自下而上的发展路径
Loot 项目的启动模式也是与众不同的。发起人不预设发展路径,希望由社区在去中心化的模式下推动,主要表现在几个方面:
- 没有可视化,社区按不同的理解提供了图形化工具;
- 没有稀缺性说明,社区自行挖掘并提供开源稀缺性评估工具;
- 发行过程定性为免费认领而非一级认购;
- 放弃版税,自由交易,允许社区以任何想要的方式使用 Loot,而不受发起人的影响;
- 没有预设游戏机制,社区开始写故事、组社群,并通过自发的投票推出了治理代币 AGLD;
@tandavas 发 Twitter 称这是一次自下而上的范式转移。确实,还没有哪个 NFT 项目像 Loot 一样具有如此大的自由度和社区自治潜力,这当然与发起人个人的社交影响力也有一定关系。
图 7. Twitter 截图:称 Loot 实现了 NFT 领域自下而上的范式转移
思考与总结
Loot 在多个方面打破了对 NFT 的刻板印象,引发我们深度思考。
区块链是数字时空历史的见证者,它见证了 Beeple 用哈希值指向了一个昂贵的 JPG 文件,见证了 Autoglyphs 用随机的符号作的画,见证了 Loot 用词语造的 IP,它可能还需要一套更好的基础语言来表达见证的内容,或许是人类可读的文字,或许只是一些机器可读的符号。但不管用什么语言来书写历史,拥有共识的信息内核足以让人类虚构信仰,产生共情,而虚构的、奇幻的、需要探索未知的事物往往比真实更具吸引力。
程序化生成技术就是将内容抽离出机器可读的信息,让机器做到内容复现、甚至内容创造。程序化生成的优势在于内容生成过程的去中心化,如果这个过程中进一步引入社交随机性,就能够在去中心化的场景下产生丰富的随机交互可能性,从而有可能实现不预设场景和机制、围绕 IP 自发涌现全新社交体验的目标,逐步发展起元宇宙。
如果往这个路径去发展,仍有一大堆问题尚待解答。构建 IP 的核心要素(或者说基矢)应该是什么?可交易的 IP 意味着什么?如何激励开发者为 IP 体验提供更多的内容?同时又不会让生态只有炒作和资源浪费?能否依赖程序化生成技术将更多形式的内容素材压缩到区块链上?总而言之,这不失为一个让人有探索欲的发展方向。