ERC404让NFT辉煌再现

中级5/7/2024, 12:14:52 PM
2024年春节期间,一个名为ERC404的实验协议及其第一个项目潘多拉(Pandora)迅速引起轰动。

什么是NFT-FT二元性?

货币通常是指区块链的原生代币或与 ERC20 协议类似的可互换代币,如 BTC、ETH、USDT 等。

图像则是指符合 ERC721 协议的非互换代币(NFT),如 CryptoPunks、Bored Apes、mfers 等。国内数字收藏平台(如 Whale Explorer)发布的 3D 模型资产也被视为图像。

代币和 NFT 各有其局限性,例如,代币具有良好的流动性,但本身缺乏投机价值,而 NFT 具有稀缺性和独特性,但通常流动性较差,通常要么是蓝筹项目,要么集中于地板价格。

某NFT项目流动性深度图

这NFT-FT二元性指以某种方式,将代币和 NFT 混合在一起的标准。

以以太坊为例,支持 NFT-FT 二元性的项目应该既可互换又不可互换。它既能享受代币带来的高流动性,又能实现稀缺性和唯一性,具有投机价值。

但这种东西真的存在吗?NFT 的价格与它的稀有性息息相关;如何才能让它成为可替代品?

ERC404 打开了潘多拉魔盒

2024年春节期间,一个名为ERC404的实验协议及其第一个项目潘多拉(Pandora)迅速引起轰动。

ERC404 开创了一种混合图像货币的方法,可以简单地描述为:

  • 购买 1 个 Pandora 代币(Token)自动授予 1 个 Pandora NFT
  • 如果余额少于1个Pandora 代币,您的NFT将自动销毁
  • 购买 1 个 Pandora NFT 会自动将 1 个代币添加到您的钱包中,相反,出售会自动减少 1 个代币

下面用一张图来说明目前ERC404的混合逻辑:

ERC404游戏规则

以下是目前潘多拉魔盒的5种类型,每种都有不同的稀有度。根据合同执行方式,我们可以计算出概率:

实施 ERC404

ERC404 代码的第一个版本写得很差劲,或者说得好听一点,它不理想。不过,它解决了主要问题—如何在一个合约中同时实现 ERC20 和 ERC721 接口。

三种协议比较

我们筛选出两个接口定义中不相关的部分,并比较哪些接口重叠或冲突:

interface IERC20 {
 // Query the balance based on an address
 function balanceOf(address account) external view returns (uint256);
 // Transfer to a certain address
 function transfer(address recipient, uint256 amount) external returns (bool);
 // Transfer to a certain address on behalf of a third party (based on authorization)
 function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
 // Authorize token allowance
 function approve(address spender, uint256 amount) external returns (bool);
}
interface IERC721 is IERC165 {
 // Query the NFT quantity based on an address
 function balanceOf(address owner) external view returns (uint256 balance);
 // Transfer within the NFT standard is included in transferFrom

 // Transfer an NFT to a certain address on behalf of a third party (based on authorization)
 function transferFrom(address from, address to, uint256 tokenId) external;
 // Authorize NFT
 function approve(address to, uint256 tokenId) external;
}

可以看出,四个冲突的接口都与转账相关。在 ERC20 中,语义上最后一个参数是 amount,这是代币的限额,而在ERC721中,参数的语义是 tokenId,代表NFT的数量。

在ERC404的合约实现中,该参数的语义改为 amountOrId。辨别是否是的方法amount 或一个 tokenId 非常简单:基于值的大小。

如同 1 比特币 =10^9 聰,在ERC404的世界里,我们说1个Token实际上对应的值是10^18,而 NFT 的 tokenId 一般是从1开始依次递增的整数。因此,虽然 amount 和 tokenId 都是整数,但实际数量级却大不相同。

例如,Pandora 合约记录了当前已铸造了多少 NFT(目前 68180)。如果值 amountOrId 小于或等于这个,它被认为是tokenId; 否则,它被认为是 amount

这个逻辑有用吗?有。它合理吗?

此外,当转账 >= 1 Token 时,NFT 的逻辑不是转账,而是原账户销毁,新账户铸币。这种方法的优点是流动性匹配,实现简单(考虑转账少于1个代币的场景),但会导致gas消耗过大。

以这个交易为例,转让 4 个代币导致销毁 4 个 NFT,并铸造 4 个新的 NFT:

该交易消耗了 64 美元的 GAS

新的叙事和机遇

ERC404的玩法引入了几条隐形规则:

  1. 代币在 DEX 上的价格与 NFT 在市场上的价格相差不大。
  2. 铸造 NFT 时只有一种情况:收集 1 个代币。换句话说,用稀有度较低的 NFT 换取稀有度较高的 NFT 的唯一方法是通过持续的代币交易。
  3. 潘多拉代币的总供应量为 10,000 枚,这意味着 NFT 的最大数量为 10,000 枚,而这一数量将随着持有者数量的增加而减少(持有者数量越多,代币不足 1 枚的情况就越常见)。

如果我掌握了持续铸造 “红色潘多拉魔盒 “的魔法,我是否可以在交易所买入代币,然后在 NFT 市场高价卖出,进行无限套利?

我们来看看潘多拉的价格;这些数据为套利提供了理论基础:

以 4.7 ETH 购买代币

过去一周,NFT 的底价已超过 5 ETH

上述数据没有按照 NFT 的稀有程度进行筛选;在此条件下,扣除损耗后的利润约为 0.2 ETH。根据上述隐含规则,如果我们总能铸造出像红色潘多拉魔盒这样高稀有度的 NFT,岂不是会有更大的利润空间?

我们来看看 Pandora 合约,看看KOL们常说的“随机生成”到底是如何实现的:

pragma solidity ^0.8.0;

contract Pandora is ERC404 {
 function tokenURI(uint256 id) public view override returns (string memory) {

 // Hash the id once, taking the first digit as the random number
   uint8 seed = uint8(bytes1(keccak256(abi.encodePacked(id))));
   string memory color;

   // Determine the rarity based on the range of values for a uint8 [0, 255]
   if (seed <= 100) {
       color = "Green";
   } else if (seed <= 160) {
       color = "Blue";
   } else if (seed <= 210) {
       color = "Purple";
   } else if (seed <= 240) {
       color = "Orange";
   } else if (seed <= 255) {
       color = "Red";
   }
 }
}

通过阅读合约,我们可以看到潘多拉魔盒的稀有度是伪随机的,类似于我们之前的 CryptoFish 项目,其中 tokenId 正在逐渐增加,因此下一个铸造的 NFT 的稀有性是完全可以预测的。

我们可以用一段JavaScript代码进行纯粹的本地猜测,经过验证,这个逻辑是完全正确的:

const ethers = require('ethers');

const calcSeed = (id) =>
 parseInt(ethers.solidityPackedKeccak256(['uint256'], [id]).substr(2, 2), 16);

const getColorBySeed = (seed) => {
 let color;
 if (seed <= 100) {
   color = 'Green';
 } else if (seed <= 160) {
   color = 'Blue';
 } else if (seed <= 210) {
   color = 'Purple';
 } else if (seed <= 240) {
   color = 'Orange';
 } else if (seed <= 255) {
   color = 'Red';
 }
 return color;
};

console.log(calcSeed(1)); // 177
console.log(getColorBySeed(calcSeed(1))); // Purple

目前Pandora铸造增量值为 68180,这意味着我们可以预测以下 100 个将达到红色稀有度的 NFT ID:68186/68201/68213/68227/68228/68257/68259/68262

如果我们忽略当前潘多拉项目流动性的下降,这可能是一种非常受欢迎的金融行为。

结论

ERC404 和 Pandora 并不是第一个探索 NFT 流动性协议的公司。之前已经有过关于 NFT 分片化的讨论,包括 ERC1155 作为 NFT 的创新方法。

但为什么这次 ERC404 的情绪如此高涨呢?我相信是因为这个好名字

不幸的是,第一版ERC404合约执行得并不顺利,因此官方正在积极推动V2版本,并且社区也有第三方实现DN404。有些人甚至创建了一个名为 ERC911 的新协议,该协议的命名充满了各种功能。

流动性在新年期间达到顶峰,此后出现大幅下降。

潘多拉V1的故事可能很快就会结束;目前的版本有无数的缺陷足以让它垮掉,流动性和持有者也大幅下降。不过,目前越来越多的项目团队正在尝试ERC404模型,已有25个项目团队在CoinMarketCap上市。

相信未来会有更多NFT流动性问题的解决方案,ERC404可能真正带来下一个NFT之夏。

声明:

  1. 本文转载自[medium],所有版权归原作者所有[Zan]。若对本次转载有异议,请联系Gate Learn团队,他们会及时处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。

ERC404让NFT辉煌再现

中级5/7/2024, 12:14:52 PM
2024年春节期间,一个名为ERC404的实验协议及其第一个项目潘多拉(Pandora)迅速引起轰动。

什么是NFT-FT二元性?

货币通常是指区块链的原生代币或与 ERC20 协议类似的可互换代币,如 BTC、ETH、USDT 等。

图像则是指符合 ERC721 协议的非互换代币(NFT),如 CryptoPunks、Bored Apes、mfers 等。国内数字收藏平台(如 Whale Explorer)发布的 3D 模型资产也被视为图像。

代币和 NFT 各有其局限性,例如,代币具有良好的流动性,但本身缺乏投机价值,而 NFT 具有稀缺性和独特性,但通常流动性较差,通常要么是蓝筹项目,要么集中于地板价格。

某NFT项目流动性深度图

这NFT-FT二元性指以某种方式,将代币和 NFT 混合在一起的标准。

以以太坊为例,支持 NFT-FT 二元性的项目应该既可互换又不可互换。它既能享受代币带来的高流动性,又能实现稀缺性和唯一性,具有投机价值。

但这种东西真的存在吗?NFT 的价格与它的稀有性息息相关;如何才能让它成为可替代品?

ERC404 打开了潘多拉魔盒

2024年春节期间,一个名为ERC404的实验协议及其第一个项目潘多拉(Pandora)迅速引起轰动。

ERC404 开创了一种混合图像货币的方法,可以简单地描述为:

  • 购买 1 个 Pandora 代币(Token)自动授予 1 个 Pandora NFT
  • 如果余额少于1个Pandora 代币,您的NFT将自动销毁
  • 购买 1 个 Pandora NFT 会自动将 1 个代币添加到您的钱包中,相反,出售会自动减少 1 个代币

下面用一张图来说明目前ERC404的混合逻辑:

ERC404游戏规则

以下是目前潘多拉魔盒的5种类型,每种都有不同的稀有度。根据合同执行方式,我们可以计算出概率:

实施 ERC404

ERC404 代码的第一个版本写得很差劲,或者说得好听一点,它不理想。不过,它解决了主要问题—如何在一个合约中同时实现 ERC20 和 ERC721 接口。

三种协议比较

我们筛选出两个接口定义中不相关的部分,并比较哪些接口重叠或冲突:

interface IERC20 {
 // Query the balance based on an address
 function balanceOf(address account) external view returns (uint256);
 // Transfer to a certain address
 function transfer(address recipient, uint256 amount) external returns (bool);
 // Transfer to a certain address on behalf of a third party (based on authorization)
 function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
 // Authorize token allowance
 function approve(address spender, uint256 amount) external returns (bool);
}
interface IERC721 is IERC165 {
 // Query the NFT quantity based on an address
 function balanceOf(address owner) external view returns (uint256 balance);
 // Transfer within the NFT standard is included in transferFrom

 // Transfer an NFT to a certain address on behalf of a third party (based on authorization)
 function transferFrom(address from, address to, uint256 tokenId) external;
 // Authorize NFT
 function approve(address to, uint256 tokenId) external;
}

可以看出,四个冲突的接口都与转账相关。在 ERC20 中,语义上最后一个参数是 amount,这是代币的限额,而在ERC721中,参数的语义是 tokenId,代表NFT的数量。

在ERC404的合约实现中,该参数的语义改为 amountOrId。辨别是否是的方法amount 或一个 tokenId 非常简单:基于值的大小。

如同 1 比特币 =10^9 聰,在ERC404的世界里,我们说1个Token实际上对应的值是10^18,而 NFT 的 tokenId 一般是从1开始依次递增的整数。因此,虽然 amount 和 tokenId 都是整数,但实际数量级却大不相同。

例如,Pandora 合约记录了当前已铸造了多少 NFT(目前 68180)。如果值 amountOrId 小于或等于这个,它被认为是tokenId; 否则,它被认为是 amount

这个逻辑有用吗?有。它合理吗?

此外,当转账 >= 1 Token 时,NFT 的逻辑不是转账,而是原账户销毁,新账户铸币。这种方法的优点是流动性匹配,实现简单(考虑转账少于1个代币的场景),但会导致gas消耗过大。

以这个交易为例,转让 4 个代币导致销毁 4 个 NFT,并铸造 4 个新的 NFT:

该交易消耗了 64 美元的 GAS

新的叙事和机遇

ERC404的玩法引入了几条隐形规则:

  1. 代币在 DEX 上的价格与 NFT 在市场上的价格相差不大。
  2. 铸造 NFT 时只有一种情况:收集 1 个代币。换句话说,用稀有度较低的 NFT 换取稀有度较高的 NFT 的唯一方法是通过持续的代币交易。
  3. 潘多拉代币的总供应量为 10,000 枚,这意味着 NFT 的最大数量为 10,000 枚,而这一数量将随着持有者数量的增加而减少(持有者数量越多,代币不足 1 枚的情况就越常见)。

如果我掌握了持续铸造 “红色潘多拉魔盒 “的魔法,我是否可以在交易所买入代币,然后在 NFT 市场高价卖出,进行无限套利?

我们来看看潘多拉的价格;这些数据为套利提供了理论基础:

以 4.7 ETH 购买代币

过去一周,NFT 的底价已超过 5 ETH

上述数据没有按照 NFT 的稀有程度进行筛选;在此条件下,扣除损耗后的利润约为 0.2 ETH。根据上述隐含规则,如果我们总能铸造出像红色潘多拉魔盒这样高稀有度的 NFT,岂不是会有更大的利润空间?

我们来看看 Pandora 合约,看看KOL们常说的“随机生成”到底是如何实现的:

pragma solidity ^0.8.0;

contract Pandora is ERC404 {
 function tokenURI(uint256 id) public view override returns (string memory) {

 // Hash the id once, taking the first digit as the random number
   uint8 seed = uint8(bytes1(keccak256(abi.encodePacked(id))));
   string memory color;

   // Determine the rarity based on the range of values for a uint8 [0, 255]
   if (seed <= 100) {
       color = "Green";
   } else if (seed <= 160) {
       color = "Blue";
   } else if (seed <= 210) {
       color = "Purple";
   } else if (seed <= 240) {
       color = "Orange";
   } else if (seed <= 255) {
       color = "Red";
   }
 }
}

通过阅读合约,我们可以看到潘多拉魔盒的稀有度是伪随机的,类似于我们之前的 CryptoFish 项目,其中 tokenId 正在逐渐增加,因此下一个铸造的 NFT 的稀有性是完全可以预测的。

我们可以用一段JavaScript代码进行纯粹的本地猜测,经过验证,这个逻辑是完全正确的:

const ethers = require('ethers');

const calcSeed = (id) =>
 parseInt(ethers.solidityPackedKeccak256(['uint256'], [id]).substr(2, 2), 16);

const getColorBySeed = (seed) => {
 let color;
 if (seed <= 100) {
   color = 'Green';
 } else if (seed <= 160) {
   color = 'Blue';
 } else if (seed <= 210) {
   color = 'Purple';
 } else if (seed <= 240) {
   color = 'Orange';
 } else if (seed <= 255) {
   color = 'Red';
 }
 return color;
};

console.log(calcSeed(1)); // 177
console.log(getColorBySeed(calcSeed(1))); // Purple

目前Pandora铸造增量值为 68180,这意味着我们可以预测以下 100 个将达到红色稀有度的 NFT ID:68186/68201/68213/68227/68228/68257/68259/68262

如果我们忽略当前潘多拉项目流动性的下降,这可能是一种非常受欢迎的金融行为。

结论

ERC404 和 Pandora 并不是第一个探索 NFT 流动性协议的公司。之前已经有过关于 NFT 分片化的讨论,包括 ERC1155 作为 NFT 的创新方法。

但为什么这次 ERC404 的情绪如此高涨呢?我相信是因为这个好名字

不幸的是,第一版ERC404合约执行得并不顺利,因此官方正在积极推动V2版本,并且社区也有第三方实现DN404。有些人甚至创建了一个名为 ERC911 的新协议,该协议的命名充满了各种功能。

流动性在新年期间达到顶峰,此后出现大幅下降。

潘多拉V1的故事可能很快就会结束;目前的版本有无数的缺陷足以让它垮掉,流动性和持有者也大幅下降。不过,目前越来越多的项目团队正在尝试ERC404模型,已有25个项目团队在CoinMarketCap上市。

相信未来会有更多NFT流动性问题的解决方案,ERC404可能真正带来下一个NFT之夏。

声明:

  1. 本文转载自[medium],所有版权归原作者所有[Zan]。若对本次转载有异议,请联系Gate Learn团队,他们会及时处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. Gate Learn 团队将文章翻译成其他语言。除非另有说明,否则禁止复制、分发或抄袭翻译文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!