长推:ERC404玄铁重剑,大巧不工

图就是币,币就是图!ERC404斩去一切为NFT提供流动性服务的缝缝补补的现存服务,这可能真带来NFT的春天!

注:本文来自@wutaner 推特,MarsBit整理如下:

1. 在以太坊上有两个最重要的标准:ERC-20 和 ERC-721。ERC20 用来发币,如 $SHIB,$PEPE,$APE 等都是采用 ERC20 标准发的币;ERC721(包括改良的 ERC721A 等)用来发NFT,如 BAYC,Azuki 等都是采用该标准发布的 NFT。

2. NFT存在不可分割、流动性不足的问题,为此催生了很多NFT碎片化、质押等促进流动性的服务,如 Blur,flooring,BendDao 等,但这些修修补补没有从协议层面解决问题,反而增加了复杂度,降低了安全性。

3. 而采用 ERC20 发的币就不存在这些问题,它天然是可分的,并且衍生出了defi等很多玩法。是否可以在NFT的协议层面引入ERC20的特性呢?在一起偶然的由 ChatGPT 生成的错误代码事故中,将两种协议混合到了一起,这启发了 ERC404 团队,由 @0xacme 写出了 ERC404 的初代协议标准,发布了第一个基于ERC404的项目Pandora。

4. 我第一时间分析了 ERC404 的合约代码,发现 X 上很多人对该协议存在误解,把它简单说成为图币互换,还声称在 btc 上和 sol 早已有类似创意,如 BRC420,花生协议等。在此我不给大家讲代码,尽量以文科生能听懂的语言介绍一下 ERC404:

(1) 假如我用 ERC404 标准发布了一套总量为 10000个的 CryptoPunks 项目,你free mint了两个,你去Opensea查看,发现钱包里这两个NFT是CryptoPunk #3099 和 CryptoPunk #3100,一个是地板,另一个是稀有的外星人punk!你又去Uniswap查看,你钱包里有2个 $CryptoPunk 币。注意,这里并没有图币互换,你也不是有2个NFT+2个币,这里图就是币,币就是图

(2) 你觉得CryptoPunk #3099 这个地板不好看,想卖掉,你有两个选择:第一种选择是去Opensea挂单卖掉这个NFT,这和普通的NFT买卖一样。第二种选择是去Uniswap卖掉你的1个 $CryptoPunk币,这里要注意,你卖币之前,一定要先将外星人punk这个NFT转移到别的钱包,因为你当作币卖的时候,协议并不知道你要卖哪个NFT对应的币,它会先卖你最后一个NFT对应的币。

(3)或者你长期看好这个项目,只想卖一点$CryptoPunk 币,其他的都留着,你可以在Uniswap只卖0.2 个 $CryptoPunk 币(或者0.000001个,最多可以分成18位小数。再次强调,卖币之前先将外星人punk转移到其他钱包,只留地板),剩下0.8个币。但这时候你去OpenSea查看,你钱包里的地板 NFT 已经没有了,因为你的 $CryptoPunk 币总量少于1,你的NFT已经烧掉了。

(4)过了两天,$CryptoPunk 币一直涨,你感觉自己卖飞了,fomo想再买点,你又去 Uniswap 买了0.3个$CryptoPunk,这时候你这个钱包有 0.8+0.3 共 1.1 个$CryptoPunk,你去 Opensea 查看,发现钱包里又有了个 CryptoPunk NFT,但这个不再是原来的地板CryptoPunk #3099,而是协议重新随机为你Mint的一个新的NFT,CryptoPunk #4062,一个Hoodie,走狗屎运了!于是你赶快去Opensea高价卖掉了这个NFT。这时候你这个钱包没有NFT了,只剩下0.1个$CryptoPunk币。

(5)从全局的角度看,这个项目一共有 10000 个 $CryptoPunk 币,理想情况下最多会有 10000 个CryptoPunk NFT(所有钱包都是整数个币)。

5. 当然,以上是理想的 ERC404 实现的效果,目前初代协议还存在一些问题,比如:

(1)每次转移代币生成新的NFT都是在原来的最高id号上增加数字,这样就会出现 CryptoPunk #3099 烧掉后再也回不来了,反而出现 CryptoPunks #10001,#10002…,不再是固定的 10k 图片,这和 10k NFT 不可变性(最珍贵的属性)冲突。可以在协议合约增加 unmintedid mapping,每次生成的id从该mapping来随机选择以解决这个问题。

(2)当转移币的数量超过1的情况下,它是很愚蠢的烧掉一个NFT,在接受钱包再mint一个新NFT,而不是把一个NFT转移过去+一部分零钱代币。(我说的不是通过NFT转移,而是发送转移代币)。

(3)gas贼高,合约代码很多地方可以优化。

6. ERC404项目方技术力量很薄弱,目前仅@0xacme一人在写代码。但今天开始有好的迹象,项目方已号召各方技术大牛来参与协议的改进,共同贡献开源力量。

目前ERC404还是玄铁重剑,虽大巧不工,但还存在诸多问题;改进后的ERC404将重铸成屠龙刀和倚天剑,砍掉高昂的gas费,斩去一切为NFT提供流动性服务的缝缝补补的现存服务,这可能真带来NFT的春天!

转载声明:本文 由CoinON抓取收录,观点仅代表作者本人,不代表CoinON资讯立场,CoinON不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。若以此作为投资依据,请自行承担全部责任。

声明:图文来源于网络,如有侵权请联系删除

风险提示:投资有风险,入市需谨慎。本资讯不作为投资理财建议。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2024年2月11日 上午2:25
下一篇 2024年2月11日 上午2:25

相关推荐

长推:ERC404玄铁重剑,大巧不工

星期日 2024-02-11 2:25:40

注:本文来自@wutaner 推特,MarsBit整理如下:

1. 在以太坊上有两个最重要的标准:ERC-20 和 ERC-721。ERC20 用来发币,如 $SHIB,$PEPE,$APE 等都是采用 ERC20 标准发的币;ERC721(包括改良的 ERC721A 等)用来发NFT,如 BAYC,Azuki 等都是采用该标准发布的 NFT。

2. NFT存在不可分割、流动性不足的问题,为此催生了很多NFT碎片化、质押等促进流动性的服务,如 Blur,flooring,BendDao 等,但这些修修补补没有从协议层面解决问题,反而增加了复杂度,降低了安全性。

3. 而采用 ERC20 发的币就不存在这些问题,它天然是可分的,并且衍生出了defi等很多玩法。是否可以在NFT的协议层面引入ERC20的特性呢?在一起偶然的由 ChatGPT 生成的错误代码事故中,将两种协议混合到了一起,这启发了 ERC404 团队,由 @0xacme 写出了 ERC404 的初代协议标准,发布了第一个基于ERC404的项目Pandora。

4. 我第一时间分析了 ERC404 的合约代码,发现 X 上很多人对该协议存在误解,把它简单说成为图币互换,还声称在 btc 上和 sol 早已有类似创意,如 BRC420,花生协议等。在此我不给大家讲代码,尽量以文科生能听懂的语言介绍一下 ERC404:

(1) 假如我用 ERC404 标准发布了一套总量为 10000个的 CryptoPunks 项目,你free mint了两个,你去Opensea查看,发现钱包里这两个NFT是CryptoPunk #3099 和 CryptoPunk #3100,一个是地板,另一个是稀有的外星人punk!你又去Uniswap查看,你钱包里有2个 $CryptoPunk 币。注意,这里并没有图币互换,你也不是有2个NFT+2个币,这里图就是币,币就是图

(2) 你觉得CryptoPunk #3099 这个地板不好看,想卖掉,你有两个选择:第一种选择是去Opensea挂单卖掉这个NFT,这和普通的NFT买卖一样。第二种选择是去Uniswap卖掉你的1个 $CryptoPunk币,这里要注意,你卖币之前,一定要先将外星人punk这个NFT转移到别的钱包,因为你当作币卖的时候,协议并不知道你要卖哪个NFT对应的币,它会先卖你最后一个NFT对应的币。

(3)或者你长期看好这个项目,只想卖一点$CryptoPunk 币,其他的都留着,你可以在Uniswap只卖0.2 个 $CryptoPunk 币(或者0.000001个,最多可以分成18位小数。再次强调,卖币之前先将外星人punk转移到其他钱包,只留地板),剩下0.8个币。但这时候你去OpenSea查看,你钱包里的地板 NFT 已经没有了,因为你的 $CryptoPunk 币总量少于1,你的NFT已经烧掉了。

(4)过了两天,$CryptoPunk 币一直涨,你感觉自己卖飞了,fomo想再买点,你又去 Uniswap 买了0.3个$CryptoPunk,这时候你这个钱包有 0.8+0.3 共 1.1 个$CryptoPunk,你去 Opensea 查看,发现钱包里又有了个 CryptoPunk NFT,但这个不再是原来的地板CryptoPunk #3099,而是协议重新随机为你Mint的一个新的NFT,CryptoPunk #4062,一个Hoodie,走狗屎运了!于是你赶快去Opensea高价卖掉了这个NFT。这时候你这个钱包没有NFT了,只剩下0.1个$CryptoPunk币。

(5)从全局的角度看,这个项目一共有 10000 个 $CryptoPunk 币,理想情况下最多会有 10000 个CryptoPunk NFT(所有钱包都是整数个币)。

5. 当然,以上是理想的 ERC404 实现的效果,目前初代协议还存在一些问题,比如:

(1)每次转移代币生成新的NFT都是在原来的最高id号上增加数字,这样就会出现 CryptoPunk #3099 烧掉后再也回不来了,反而出现 CryptoPunks #10001,#10002…,不再是固定的 10k 图片,这和 10k NFT 不可变性(最珍贵的属性)冲突。可以在协议合约增加 unmintedid mapping,每次生成的id从该mapping来随机选择以解决这个问题。

(2)当转移币的数量超过1的情况下,它是很愚蠢的烧掉一个NFT,在接受钱包再mint一个新NFT,而不是把一个NFT转移过去+一部分零钱代币。(我说的不是通过NFT转移,而是发送转移代币)。

(3)gas贼高,合约代码很多地方可以优化。

6. ERC404项目方技术力量很薄弱,目前仅@0xacme一人在写代码。但今天开始有好的迹象,项目方已号召各方技术大牛来参与协议的改进,共同贡献开源力量。

目前ERC404还是玄铁重剑,虽大巧不工,但还存在诸多问题;改进后的ERC404将重铸成屠龙刀和倚天剑,砍掉高昂的gas费,斩去一切为NFT提供流动性服务的缝缝补补的现存服务,这可能真带来NFT的春天!