
NFT精神史:罐头、青蛙和平凡人的15分钟英雄梦想
9527和7523在《唐伯虎点秋香》的世界里,9527 只是一个家奴。 但在某个赛博世界,9527 却等于34万美元。 下面这个头像,带着瓜皮帽抽着烟的家伙,就是全世界最火的 NFT 项目——Cryptopunks——里面,1w个头像中的 9527号。它的主人“0x949...b786”,在2022年1月23号刚刚更新了它的挂牌出售价,124ETH,折合34w美元。如果你肯掏这么多钱,下一秒这个头像就是你的,怎么样,很划算吧? 什么,你觉得很扯淡? 那是因为你不了解这个头像背后的稀有属性。 你看到他嘴里那根烟了咩?1w人里只有961个人有这个属性。你看到他的小帽帽了咩?只有419个人有这个属性。你看到他那一抹性感的小胡子了吗?仔细看,就是嘴上面灰色的那一条,只有288个人有这个属性哦~~哦,即使这样你也不心动么。。。 没关系,你不心动,有人心动。 就在2021年6月10日,全球知名的苏富比拍卖行就拍卖了它的“兄弟”,Cryptopunks 第7523号。看这个瓜皮帽,还是一样的配方吧,只不过下面的头变成了所谓的“外星人”,烟卷也没了,换成了拼多多上一块钱七个的口罩。 少废话,先说...
Polygon 新获4.5亿美元融资,如何打造扩容方案的全家桶?
Polygon 以 2.5 亿美元收购 Hermez 可能是迄今为止 第二大的区块链原生协议并购案 ,以太坊扩容方案 Polygon 也因此补全了目前难度最高、基于零知识证明 (ZK) 的扩容技术,朝他们设想中提供的「全栈」扩容解决方案又近了一步。 由于 Polygon 在以太坊扩容领域提供了多方面的解决方案,因此团队曾自比「以太坊扩容瑞士军刀」。其中就包括最核心的 Polygon PoS 链 ,两套成熟解决方案 Polygon SDK 和 Polygon Plasma ,以及不久前公开的试图搭建专用的数据可用层的 Polygon Avail 。 而 Hermez 的加入进一步使 Polygon 进一步补齐 Rollup 类的方案,而且是直接一步到位的 ZK Rollup 技术。 Hermez 团队之前是 去中心化身份系统 iden3 的开发团队,他们是在开发身份系统中逐渐萌生了探索 ZK Rollup 扩容方案的想法,此前还得到过 以太坊基金会 的支持。 随着这一合并的完成, StarkWare 和 zkSync 已经成为了为数不多的能够在提供全套扩容解决方案上挑战 Polyg...
self

NFT精神史:罐头、青蛙和平凡人的15分钟英雄梦想
9527和7523在《唐伯虎点秋香》的世界里,9527 只是一个家奴。 但在某个赛博世界,9527 却等于34万美元。 下面这个头像,带着瓜皮帽抽着烟的家伙,就是全世界最火的 NFT 项目——Cryptopunks——里面,1w个头像中的 9527号。它的主人“0x949...b786”,在2022年1月23号刚刚更新了它的挂牌出售价,124ETH,折合34w美元。如果你肯掏这么多钱,下一秒这个头像就是你的,怎么样,很划算吧? 什么,你觉得很扯淡? 那是因为你不了解这个头像背后的稀有属性。 你看到他嘴里那根烟了咩?1w人里只有961个人有这个属性。你看到他的小帽帽了咩?只有419个人有这个属性。你看到他那一抹性感的小胡子了吗?仔细看,就是嘴上面灰色的那一条,只有288个人有这个属性哦~~哦,即使这样你也不心动么。。。 没关系,你不心动,有人心动。 就在2021年6月10日,全球知名的苏富比拍卖行就拍卖了它的“兄弟”,Cryptopunks 第7523号。看这个瓜皮帽,还是一样的配方吧,只不过下面的头变成了所谓的“外星人”,烟卷也没了,换成了拼多多上一块钱七个的口罩。 少废话,先说...
Polygon 新获4.5亿美元融资,如何打造扩容方案的全家桶?
Polygon 以 2.5 亿美元收购 Hermez 可能是迄今为止 第二大的区块链原生协议并购案 ,以太坊扩容方案 Polygon 也因此补全了目前难度最高、基于零知识证明 (ZK) 的扩容技术,朝他们设想中提供的「全栈」扩容解决方案又近了一步。 由于 Polygon 在以太坊扩容领域提供了多方面的解决方案,因此团队曾自比「以太坊扩容瑞士军刀」。其中就包括最核心的 Polygon PoS 链 ,两套成熟解决方案 Polygon SDK 和 Polygon Plasma ,以及不久前公开的试图搭建专用的数据可用层的 Polygon Avail 。 而 Hermez 的加入进一步使 Polygon 进一步补齐 Rollup 类的方案,而且是直接一步到位的 ZK Rollup 技术。 Hermez 团队之前是 去中心化身份系统 iden3 的开发团队,他们是在开发身份系统中逐渐萌生了探索 ZK Rollup 扩容方案的想法,此前还得到过 以太坊基金会 的支持。 随着这一合并的完成, StarkWare 和 zkSync 已经成为了为数不多的能够在提供全套扩容解决方案上挑战 Polyg...
self
Share Dialog
Share Dialog
Subscribe to xinba
Subscribe to xinba
<100 subscribers
<100 subscribers
几天前我曾在群里与大家探讨目前NFT存在的问题,其中我提到目前购买者在NFT市场处于弱势方,在一级市场被项目方操盘玩弄于股掌之中,二级市场又依赖于项目方真正做事而不是卷款跑路,并推演了一个理想的模型:

当时推演出的模型是一级市场的mint过程要保证绝对公平,二级市场则需要让项目方确保拿到的钱真正的去兑现roadmap而不是卷款割韭菜,所以首先项目方不可以将mint后的钱直接进行提款,毕竟账上躺着价值数百上千万的资产,只需要动动手指头就可以提到个人账户,这种诱惑很难有人抗拒,其次项目方的提款需要用在正道上,即去实现roadmap里的承诺,要知道用户花钱买的不是项目方的jpg,而是这张jpg后的权益与故事,用户在买的那一瞬间是透支了项目方未来的时间。
我认为NFT市场应该是一个良币驱逐劣币的市场,若实现以上的模型,如果项目方不用,则用户会认为项目方心虚从而不买,继而倒逼项目方使用更健康的模型,最终形成正循环净化整个市场。
今天看群里有人提到新出来的一个ERC721R协议,有点上文中聊到的意思,故我们来分析分析它实现了什么,又是怎么实现的。

我们可以看到媒体报道说它允许铸造者进行退款,即以前你在淘宝买到假货只能认栽,现在你可以7天无理由退款。
我们打开ERC721R的官网https://erc721r.org/,可以看到其slogen是为NFT创造者带来巨大的责任感,所以它是制约了项目方的权利从而要求项目方认真做事,否则用户会把到了你兜里的钱取回来。
可以看到他们列出的4点优势也是重点在强调项目方跑路的问题,30天内项目方没有做事可以退款。

在QA中提到项目方在退款期间是无法将mint资金提出来的,其次他也为项目方进行了解释,即说哎呀你们如果是个正经项目方肯定也不会需要mint完就立马将钱提出来,所以放几天也没关系,言下之意就是你不用我的协议那就是心里有鬼,良币驱逐劣币。

理念都挺好的,接下来我们看看他们的代码具体是怎么实现上述过程的,我们进入他们的github主页https://github.com/exo-digital-labs/ERC721R
可以看到更详细的描述,说是在原有的721和1155协议上新增了退款功能。

对于工作原理的描述,用户交的钱先到了智能合约(721、1155也本身就是这样的),然后有个锁定期,这个期间项目方不能提款,但是用户可以退款。

这是它的示例代码,我来带大家一起拆解一下。

首先定义了锁定期refundPeriod并默认45天,当然项目方也可以自己改。
然后定义了构造函数,默认提款账号为合约部署者,

并调用了一个时间计算的函数,即获取当前合约部署的时间再加上锁定期就是最终项目方可以提款的日期。

这个函数是用来校验是否处于锁定期的,在下文用户退款的操作中会用到。
然后我们看一下核心的退款操作,用户输入自己要退款的对应token id,因为是数组格式可以退多个NFT,然后合约首先用刚才说到的校验函数来判定是否处于锁定期,若处于的话用户就可以从里面退款,然后用for循环遍历用户输入的token id,并逐个校验是否真的属于当前用户,若属于的话则调用transfer函数将用户的NFT还给项目方。然后再计算出应该退还给用户多少钱,即用户退的NFT数量乘以mint价格,然后再调用第三方合约的sendValue把钱打给用户。

这是正常的项目方提款函数,这里加了个校验是否达到了锁定时间,如果没达到就不能执行函数,

总结一下,721R对于721、1155等协议的主要改动在于2点:
提款函数多加了一层时间校验,没有到时间不能提款,从而限制项目方
新增了一个给用户退款的函数。
全程代码量不超过30行,其次也没有像721A在底层进行封装,只在最上层的mint合约代码中进行了修改,所以先定性:它不属于协议,或它达不到协议的层次。
其次因为都是在上层合约里改,所以治标不治本,且不说项目方会不会在里面把一些限制去掉,当然去了后代码一开源也会被大家识破,不过到了这里你们是否有发现一个漏洞?
还记得上文中提到的退款时,给用户退的钱是NFT数量乘以mint价格,但是mint价格是参数呀,只要是参数就可以改的,如果我mint时的价格是1eth,mint完项目方把价格改成0eth,那我退了个寂寞...而且这个过程在用户退款前是不会被发现的。
所以我们来跑一下代码试试看这样做可不可行。
我将价格设置为1eth,然后mint了5个。

此时我的余额为94.99(测试网初始100)

然后我将id为1的NFT进行退款。

执行完成后我的余额多了1eth。

那么此时假设我作为一个毫无良知道德败坏只想着割韭菜的项目方我肯定要想办法搞点破坏是吧,我把价格改成0,我让你们退。
然后我再退id为2的NFT试试看。

NFT是退回去了,但是余额没有变化.....

所以如果要解决这一点也非常依赖于项目方的自觉性,不要改价格,或者直接把价格写成常量压根不能改,大家也不要一听到有项目方使用了ERC721R就冲,还是要认真看一看代码,到底有没有给你们埋坑。
综上所述,ERC721R是当今NFT市场的一股清流,他指出了这个市场的弊端,真正站到了用户的角度去考虑,并提出了一种切实可行的解决方案,不过这套方案并不是那么的完美,依然有大量需要完善补充的地方,但这并不妨碍他成为这个市场敢于说真话的吹哨人(这么说会不会太过誉了)。
web3的世界现在还一片蛮荒,有大量的土地等待我们开垦,ERC721R开了一个好头,后面需要我们做的事情还很多。
几天前我曾在群里与大家探讨目前NFT存在的问题,其中我提到目前购买者在NFT市场处于弱势方,在一级市场被项目方操盘玩弄于股掌之中,二级市场又依赖于项目方真正做事而不是卷款跑路,并推演了一个理想的模型:

当时推演出的模型是一级市场的mint过程要保证绝对公平,二级市场则需要让项目方确保拿到的钱真正的去兑现roadmap而不是卷款割韭菜,所以首先项目方不可以将mint后的钱直接进行提款,毕竟账上躺着价值数百上千万的资产,只需要动动手指头就可以提到个人账户,这种诱惑很难有人抗拒,其次项目方的提款需要用在正道上,即去实现roadmap里的承诺,要知道用户花钱买的不是项目方的jpg,而是这张jpg后的权益与故事,用户在买的那一瞬间是透支了项目方未来的时间。
我认为NFT市场应该是一个良币驱逐劣币的市场,若实现以上的模型,如果项目方不用,则用户会认为项目方心虚从而不买,继而倒逼项目方使用更健康的模型,最终形成正循环净化整个市场。
今天看群里有人提到新出来的一个ERC721R协议,有点上文中聊到的意思,故我们来分析分析它实现了什么,又是怎么实现的。

我们可以看到媒体报道说它允许铸造者进行退款,即以前你在淘宝买到假货只能认栽,现在你可以7天无理由退款。
我们打开ERC721R的官网https://erc721r.org/,可以看到其slogen是为NFT创造者带来巨大的责任感,所以它是制约了项目方的权利从而要求项目方认真做事,否则用户会把到了你兜里的钱取回来。
可以看到他们列出的4点优势也是重点在强调项目方跑路的问题,30天内项目方没有做事可以退款。

在QA中提到项目方在退款期间是无法将mint资金提出来的,其次他也为项目方进行了解释,即说哎呀你们如果是个正经项目方肯定也不会需要mint完就立马将钱提出来,所以放几天也没关系,言下之意就是你不用我的协议那就是心里有鬼,良币驱逐劣币。

理念都挺好的,接下来我们看看他们的代码具体是怎么实现上述过程的,我们进入他们的github主页https://github.com/exo-digital-labs/ERC721R
可以看到更详细的描述,说是在原有的721和1155协议上新增了退款功能。

对于工作原理的描述,用户交的钱先到了智能合约(721、1155也本身就是这样的),然后有个锁定期,这个期间项目方不能提款,但是用户可以退款。

这是它的示例代码,我来带大家一起拆解一下。

首先定义了锁定期refundPeriod并默认45天,当然项目方也可以自己改。
然后定义了构造函数,默认提款账号为合约部署者,

并调用了一个时间计算的函数,即获取当前合约部署的时间再加上锁定期就是最终项目方可以提款的日期。

这个函数是用来校验是否处于锁定期的,在下文用户退款的操作中会用到。
然后我们看一下核心的退款操作,用户输入自己要退款的对应token id,因为是数组格式可以退多个NFT,然后合约首先用刚才说到的校验函数来判定是否处于锁定期,若处于的话用户就可以从里面退款,然后用for循环遍历用户输入的token id,并逐个校验是否真的属于当前用户,若属于的话则调用transfer函数将用户的NFT还给项目方。然后再计算出应该退还给用户多少钱,即用户退的NFT数量乘以mint价格,然后再调用第三方合约的sendValue把钱打给用户。

这是正常的项目方提款函数,这里加了个校验是否达到了锁定时间,如果没达到就不能执行函数,

总结一下,721R对于721、1155等协议的主要改动在于2点:
提款函数多加了一层时间校验,没有到时间不能提款,从而限制项目方
新增了一个给用户退款的函数。
全程代码量不超过30行,其次也没有像721A在底层进行封装,只在最上层的mint合约代码中进行了修改,所以先定性:它不属于协议,或它达不到协议的层次。
其次因为都是在上层合约里改,所以治标不治本,且不说项目方会不会在里面把一些限制去掉,当然去了后代码一开源也会被大家识破,不过到了这里你们是否有发现一个漏洞?
还记得上文中提到的退款时,给用户退的钱是NFT数量乘以mint价格,但是mint价格是参数呀,只要是参数就可以改的,如果我mint时的价格是1eth,mint完项目方把价格改成0eth,那我退了个寂寞...而且这个过程在用户退款前是不会被发现的。
所以我们来跑一下代码试试看这样做可不可行。
我将价格设置为1eth,然后mint了5个。

此时我的余额为94.99(测试网初始100)

然后我将id为1的NFT进行退款。

执行完成后我的余额多了1eth。

那么此时假设我作为一个毫无良知道德败坏只想着割韭菜的项目方我肯定要想办法搞点破坏是吧,我把价格改成0,我让你们退。
然后我再退id为2的NFT试试看。

NFT是退回去了,但是余额没有变化.....

所以如果要解决这一点也非常依赖于项目方的自觉性,不要改价格,或者直接把价格写成常量压根不能改,大家也不要一听到有项目方使用了ERC721R就冲,还是要认真看一看代码,到底有没有给你们埋坑。
综上所述,ERC721R是当今NFT市场的一股清流,他指出了这个市场的弊端,真正站到了用户的角度去考虑,并提出了一种切实可行的解决方案,不过这套方案并不是那么的完美,依然有大量需要完善补充的地方,但这并不妨碍他成为这个市场敢于说真话的吹哨人(这么说会不会太过誉了)。
web3的世界现在还一片蛮荒,有大量的土地等待我们开垦,ERC721R开了一个好头,后面需要我们做的事情还很多。
No activity yet