从静态转向动态:NFT 如何改变数字所有权?
原文:Dynamic NFTs and Potential
翻译及校对:「Starknet 中文社区」
概要
- 动态 NFT 作为交互式代币,能根据事件更改链上数据。
- 现如今 NFT 面临着静态数据或中心化风险的难题。
- Starknet 支持动态、去中心化 NFT,同时降低计算和存储成本。
- 动态 NFT 助力游戏、音乐、艺术领域的创新型应用。
- 动态 NFT 标志着 NFT 领域的蓬勃发展,提供更高的灵活性和适应性。
如果你在这几年中持续关注 Web3 的话,应该听说过 Bored Ape Yacht Club,一款售出价值超数百个 ETH 的 NFT 藏品。(BAYC 拍卖成交价高达 340 万美元。)
Bored Ape Yacht Club #8817
当你听到「NFT」一词时,脑海中是否浮现出了像素风格的 JPEG 图像。但是,非同质化代币 (Non-Fungible Token, NFT) 的概念远比 JPEG 图像更丰富多样,潜力也要更加强大。
在本篇博客文章中,我们将一起探索动态 NFT 的概念,它可以根据链上(甚至现实世界)事件改变链上数据。我们将例举部分现有案例、未来潜在用例,然后深入了解 Starknet 如何通过低廉的计算和存储成本实现这种新型 NFT。
什么是动态 NFT?
NFT 即「非同质化代币」,是一种数字资产,代表特定项目和信息的所有权。创作者可以以 NFT 的形式来代币化作品。例如,活动门票可以设计成 NFT,房地产等现实世界资产可以绑定 NFT 并成为可交易资产,甚至音乐和电影都可以 NFT 为代表。
但这些 NFT 仍处于「第一代」,更多有趣用例等待被探索,逐步发展构建出标准规范。
NFT 的未来用例之一就是动态 NFT,即可以改变代表物值的 NFT。例如,代表图像的 NFT 可以改变图像颜色和形状,甚至获取全新外观。音频 NFT 可以对链上事件做出反馈,对音频做出演变。
由于这类 NFT 的所有相关数据都存储在链上,因此这些更改都是公开透明的,且可以与特定权限或事件相关联。本文将详细讨论这类项目的运作细节,首先从技术角度探索 NFT,并思考为什么大部分现有 NFT 不能是动态的。
了解 NFT 现状
当我们讨论 NFT 时,通常情况是指在 2018 年正式创建的 ERC-721 标准。ERC-721 标准是 NFT 的基础接口,声明每个实现 ERC-721 智能合约必须支持的一些功能。(对于没有 Solidity 背景的用户而言,它是一种蓝图,用于定义如何与合约/类别交互,特指函数但不属于实现)。
由 ERC-721 实现的函数集
每当一个 NFT 易手时,就会调用transferFrom 函数,进而改变 NFT 在账本中的持有者。同样,我们可以调用 ownerOf 函数来检查特定代币持有者。
类似 OpenSea 的交易市场依靠 NFT 支持该标准,以便在网站上显示代币并在买卖双方之间转移 NFT。
接下来,让我们一起深入了解 BAYC NFT:Ape#8817。你访问 OpenSea 页面,可以看到编号 8817 的 Ape 图像内容。但你知道这幅图像存储在哪里吗?它可不在链上!将整个图像存储在以太坊主网上将花费不小的存储空间,并且考虑到以太坊上有数百万个 NFT,不可能将所有这些图像存储在链上。
相反,这些智能合约需要将与 NFT 相关的所有数据(即「元数据」)存储在互联网可访问的某个 URL 上。NFT 有两个主要选择,将元数据保存在链下但仍存于 IPFS 等去中心化的存储解决方案上(查看 Ape#8817 元数据示例),或者将数据保存在传统云存储等中心化的平台上。
可以通过在主网的智能合约查看任意 BAYC 代币元数据
第一种选择 IPFS,产生了基本约束:数据变为静态的。一旦数据存储在 IPFS 上就无法修改,对 IPFS 进行任何更改都是不可能的。
第二种解决方案允许修改 NFT 相关元数据,但会导致严重的中心化问题,与区块链的观念相悖。
因此,在可访问性与中心化之间不断增加的矛盾中,我们最终得到的是保持「不变」的 NFT,哪怕是在像游戏、SBT、创作者代币等需要动态变化的用例上。
同时具备动态和去中心化两种优势的 NFT 是必要的。这就是动态 NFT 将要发挥作用的地方。
Starknet 上低廉的计算和存储成本让动态 NFT 成为可能
Starknet 是 StarkWare 公司开发构建的有效性证明扩容方案(也被称为零知识扩容),采用 STARK 密码学系统大幅降低计算和存储成本。正是因为这些成本节省,Starknet 最终才能使动态且去中心化的动态 NFT 的概念成为可能。
让我们通过示例了解它的工作原理。
Carbonable 协议是一项碳中和的项目,业务包括资助再生项目到企业管理净零计划和报告。Carbonable 团队对于去中心化和公开透明的坚定承诺,促使他们开发了首批「动态」 NFT 的概念证明,如 NFT 元数据完全存储在链上。下面是 Carbonable 部署的 NFT 合约的示例代币。
作为实验,将这个「值」的主要部分转移到另一个地址,并自动地更新与代币相关的元数据。对比上下示例图,你会发现代币图像也发生了变化,文字颜色从金色转变成青铜色。请注意,这种改变是完全发生在链上的。这就是动态 NFT 的力量!
与 ERC-721 中使用特定代币的余额和 ID 来了解 NFT 的所有权不同,对于动态 NFT,主要信息是存储在代币中的值。
意味着每当用户请求存储在代币中的值时,该值就会发生变化。通过声明一个简单合约(或称为「元数据」合约)来实现,且合约能同时处理 NFT 元数据的动态和静态部分。简而言之,可以将「静态」部分看作短字符串,存储 NFT 部分属性。
另一方面,「动态」部分则不同的,因为需要返回一些信息(简单假设为返回字符串),它可以在元数据合约上运行一些代码。代码可以是动态的,因此它返回的值是可以随着不同链特定参数或合约本身状态而改变。并可能在外部交互时改变合约状态。
请注意,元数据合约只需要在 Starknet 上声明;甚至无需将其部署为合约。与以太坊不同,Starknet 区分了合约类别和合约实例。合约类别表示合约的代码(但没有状态),而合约实例则表示有自身状态的特定类别实例。当声明合约类别时,代码会被存储在链上,但无需状态维护。由于元数据合约不一定需要有一个状态,仅仅声明它就能够在 NFT 合约调用函数中运行代码。
Carbonable 团队部署的概念证明是完全去中心化的,因为图像的 SVG 存储包含部署在合约上的全部代码(参见此处的代码)。这让任何人都可以跟踪对 SVG 的更改。只要代币从一个用户转移到另一个用户,代币的值就会产生变化,展现出适应能力。
动态 NFT 的用例
上文中提到为测试目的而部署的例子只是为大量的可能性打开了大门,例如:
图像和动画。如上文案例所示,可修改图像可以存储在链上。与之类似,动画也可以存储在链上,并且可以通过用户交互进行修改。目前有几个团队正在研究这一方面,在加密游戏领域具备巨大的可能性。例如,在上文提到的 Carbonable 的概念证明项目中,文本颜色会随代币存储的值而产生变化。因此,如果一个用户有一个值大于 1000 的令牌,文本的颜色可以是金色,如果值在 100-1000 范围内,则是银色。
音乐和音频。当我们听音乐或音频文件时,通常都是 .mp3 或 .wav 格式。这种格式的音频文件会受到「限制」,因为无法通过快速的方式修改其中节拍或部分片段。音频格式(如 WAV 或 MP3)存储实际的声音数据,而 MIDI(音乐数字接口)文件包含合成器或其他设备生成声音的指令。
Rosis Lab 的联合创始人 Raphael Doukhan,在 Starknet 上将 MIDI 文件存储成 JSON 对象,并允许通过外部交互进行修改,实现生成性音乐的概念证明。音乐文件的某些部分是不变的(如音乐结构、旋律主题等),但其他部分是可以修改的(如 BPM、张力曲线、音调等)。这类概念证明是生成性音乐的经典案例,艺术家们的作品「不再是有限的对象,而是超越了创作者和创作」。例如,音频文件的节拍频率可以根据用户与文件交互而发生改变,从而让音乐在全新交互中获得更独特的属性。
游戏、幻想体育竞技以及收藏品。链上游戏可以利用动态 NFT 的力量,根据不同游戏玩法对环境、道具、角色进行游戏内的更改。
例如,构建在 Starknet 上的多人在线全链游戏 Realms,正在不断探索动态 NFT 用例,实现链上角色的皮肤(甚至音乐)可随游戏发生改变。
在幻想体育竞技领域,角色特征可根据球员在现实世界的表现(通过预言机检索)进行升级/降级。例如,由 Chainlink 支持的拉梅洛·鲍尔 NFT。每场比赛结束后,NBA 球员的赛场数据会通过预言机上链,而球迷们则可以收集球员们的「天赋」作为代币。拉梅洛 NFT 由四个不同类型属性组成:红色火星、蓝色海王星、银色月球以及金色太阳。它们与 NBA 球员的不同的统计数据息息相关。例如,红色火星与得分相关,银色月球与助攻相关。因此,每当拉梅洛得分或拿助攻时,也能提升对应 NFT 的价值。
拉梅洛·鲍尔 NFT 示例
这类想法可以融入到游戏中,让角色皮肤随着玩家等级提升而变得「更酷」,或者玩家成就在 NFT 上显示为奖牌和奖杯。
生成性艺术。艺术有多种形式,上文已经讨论了其中一些。然而艺术的概念却是宽泛的。OG:CR(Organic Growth: Crystal Reef)是一个动态 NFT 项目,连接了数字艺术和物理艺术。用户可以在链上收集水晶 NFT,且 NFT 将随着用户每笔转移而进化。用户的钱包历史记录(带有随机性)决定了水晶的变化。最终的想法是将数字水晶 NFT 转换成实体艺术作品,并可以在世界各地博物馆展出。
动态 NFT 是一种进化
尽管 NFT 仍处于发展初期,但依然衍生出大量应用。动态 NFT 的出现代表了这项技术的进一步发展。通过 Starknet 这样具有低成本计算的链,可以高效的存储大量信息,并保证它可持续修改。Starknet 正在见证这一重大发展,现在就是加入开发者行列,参与 Starknet 新应用场景建设的最佳时机。
结论
动态非同质化代币(NFT)是数字资产蜕变的先锋,对链上或现实世界的事件做出响应并不断发展。作为传统 NFT 的增强版本,打破了静态数据模式,引入了价值和形式的变革。Starknet 具有成本效益的计算和存储的力量将动态 NFT 的梦想变为现实,释放大量可能性,例如,可变更的图像、不断进化的音乐、可交互的游戏以及生成性艺术。随着我们对区块链和数字资产领域的不断探索,动态 NFT 表现出惊人的演变,同时标志着技术和创意领域的新时代来临。