CryptoPunk加密朋克不仅是一个顶级蓝筹NFT项目,更是后续ERC721标准协议的灵感来源。
NFT交易市场,是目前整个区块链行业中除了以太坊本身之外最高收入的赛道,而OpenSea,x2y2,LooksRare是目前Top3平台,其合计交易量占99%以上。
今天咱们将解读CryptoPunk的区区230行源码,其对订单模型与交易流程的实现,探索其内置的专用NFT交易市场的优势缺点,也为后续逐步源码分析3大NFT交易市场合约模型做基础铺垫。
想知道大蛋糕未来鹿死谁手,不妨和我一起源码入手吧。
CryptoPunk内置的交易市场
如果细心的同学可以发现,在OpenSea上如果想购买Punk在其属性页面会发现,对其所用标准的描述并非ERC721或者1155,而是绝无仅有的cryptoPunks,他作为2017年推出堪称史上最早的NFT协议,不仅实现了如今721标准的多数功能甚至还在其中内置了一个完全去中心化的交易服务市场,实现3种交易拍卖模式!
你买的NFT到底是什么?
其实对于NFT最底层而言,交易流动是个最最基础的功能了,无非是要求双方都使用tansfer,卖方给买方NFT,买方给卖方ETH,一手交钱一手交货,但是当面交易尚且担忧对方不给钱呢。因此原子性,是达成信任的必备因素,链上成交基于不可更改的特性正是最佳解决方案
分析:CryptoPunk #4156售价以美元计算亏损约700万美元,或出于减税目的:7月16日消息,CryptoPunk #4156以2691 ETH的价格售出,约合330万美元。鉴于ETH当前交易价格约为1200美元,卖家实际亏损700万美元。该NFT于2021年12月以2500 ETH的价格买入,当时价值1026万美元。这意味着卖家按照ETH价值计算赚取了较小的利润,但以美元价值计算则遭受严重损失。
但此举可能出于减税目的。这种账面上的故意亏损是交易者用来减少资本利得的一种常见做法。如果将资本利得收入减少700万美元,甚至可能会降低卖方的税率,从而带来进一步的税收优惠。(Decrypt)
此前消息,CryptoPunk #4156以2691ETH成交。[2022/7/16 2:17:40]
卖家报价,买家支付→等于超市选购
买家报价,卖家同意→等于菜市口砍价
线下议价,链上成交→等于线下公证拍卖
无论哪种,最终达成成交则需要执行交换,既要防止卖家不给货,也要防止买家不给钱。
区块链技术虽然完美的解决了万一不给钱的问题,但是也带来了议价困难的痛点,毕竟“砍一刀价格”都是要上链的,肯定不能用拼多多那样的砍小数点后6位
CryptoPunk #561以500 ETH价格出售,约合240万美元:金色财经报道,据LarvaLabs最新数据显示,CryptoPunk #561以500 ETH(约合240万美元)价格成交,该交易价格排名在CryptoPunks交易额排行榜中位列27。CryptoPunk #561是一个带着3D 眼镜的男性,而且还带着一顶高帽。另据当前数据显示,CryptoPunks交易总额已经达到16亿美元,销售总量为18981笔,交易者总量为5260。[2021/11/9 6:40:12]
Punk的market同时支持这3大类交易形式,既可以卖家报价,也可以买家报价,也可以议价后由合约帮你成交,全程无任何版税扣取,且230行简短的代码也杜绝了后门的可能
他的订单结构非常简单分两种:卖家报价单Offer和买家投标单Bid
咱们可以显著感受到,订单模型非常的简单,甚至连常见的订单有效期都没有,只要挂单卖家不主动取消的话,就总是有可能被买家以此价格购走
特别说明:这点虽然和opensea长时间的授权卖单类似,但不会出现异常价成交的情况,因为Punk在转移的时候会取消掉历史的报价单记录
1.2、买家投标单Bid
9枚CryptoPunk NFT在佳士得以近1700万价格成交:5月12日,据佳士得官方推特发文,由 Larva Labs 设计并发行的 9 枚 CryptoPunk NFT 已完成拍卖,共拍出 16,962,500 美元高价。[2021/5/12 21:51:43]
投标单也非常简约,基本等于四元组了。
除了卖家标价等待购买的形式,任何人均可以通过提交投标单,来声明哪个punk我愿意用x的金额购买,这里同样提供了hasBid?变量用于体现当前这个投标单是否有效
买方随时可以取消之前的投标单,但是如果没有更高的价格覆盖的话,则原始的投标价格会保留,这是用于辅助其他买家定价出价的信息共享的设计
投标时,钱在哪里??其实已经打到Punk合约里了
买家要提交投标单Bid是通过其Punk合约的enterBidForPunk?方法进入的,要传入punkID参数以及当前交易的Value值,这就意味着,买家报价的时候,就已经将要购买的资金转入到Punk的合约中
1.3、小结
看懂其核心的订单簿结构后就是抓住了老鼠尾巴,其实他对应的各种方法,都是在进行对当前交易是否合理合法的审核,确定合法后,再对订单数据做增删查改
动态 | Cryptopia正清算公司确定汇集钱包加密所有权:据Cointelegraph消息,在8月21日发布的新闻稿中,Cryptopia的清算公司Grant Thornton声称,它正在保护和保护被黑客入侵的加密货币交易所Cryptopia的加密货币。而确定该交易所客户的持仓情况需要这么长时间原因有两个。一是客户没有单独的钱包,他们的资金汇集在一起,因为交易所在其数据库中保存了客户持有的详细信息。这种设计的结果是,仅使用钱包钥匙是不可能确定个人所有权的。此外,客户持仓数据库与钱包中所持加密资产之间的详细核对过程从未完成,该公司希望这一过程能揭示个人用户的持仓情况。该公司还声称,这一过程已经在顺利进行。该公司指出,它仍在确定是否能够恢复在2019年1月影响该交易所的黑客攻击中丢失的加密资产,复杂的局势需要第三方的合作。此前5月份消息,Grant Thornton发布了一份对该公司财务状况的估计报告,报告称被黑客入侵的交易所欠其债权人总计422万美元。[2019/8/22]
比如卖家成交后,会执行修改balanceOf中记录的用户累计持有的Punk总量,也会修改最核心punkIndexToAddress这个记录哪个PunkID所有者是哪个的信息
对于标准协议的底层数据意义可拓展阅读
区块链服务公司Bitfury推出Crystal平台,犯罪活动或远离比特币:比特币矿业公司Bitfury在转型为区块链服务公司之后,一直在和政府机构接触。今天,该公司推出了一款Crystal工具,目的是方便用户识别和调查最知名区块链上所发生的犯罪活动。该平台经过两年多发展,得到了前一级政府官员的反馈,最终目的是帮助比特币摆脱与黑市交易的关联性。(Coindesk)[2018/1/30]
NFT租赁提案EIP-5006步入最后审核!让海外大型游戏的链改成为可能
总之订单是为交易模式服务的,而Punk内置了3种交易方法
2.1、卖家先报价,买家再竞标
如果我作为持有Punk的尊贵用户之一,想要卖出Punk,需3步
卖家报价->买家提交买单->卖家提取收益
展开看看
卖家报价:卖家执行offerPunkForSale?设置愿意以某价格卖掉某nft,而后订单簿如下
买家购买:执行buyPunk方法在交易的value值传入超过于卖家的minValue即可购买成功。**
卖家需要再次调用?withdraw?提走自己本次收益(即买家buy时存入合约的value)
如果卖家突然不想卖了:则调用punkNoLongerForSale?来报价单
还有什么流程能比这更简单的?
或许只有在买家购买的同时也将收益打入卖家账户了吧。而Punk系统不这么设计的原因或许是激励更高频的场内交易,等需要外部用再提取走吧
2.2、买家先竞标,卖家先确认
如果我并未持有Punk但对某个ID情有独钟,也能先出价分3步:
买家报竞标单Bid->卖家接受->卖家提取收益
展开看看
买家报价:调用enterBidForPunk,并将eth作为value,此时钱存于punk合约内
卖家接受:调用acceptBidForPunk,要明确按买家报价的价格接受此交易,执行后买方已经得到了此朋克NFTID
卖方提取收益:需要再次执行withdraw?提走所有可提额度
如果买家不想买了:则调用?withdrawBidForPunk?取消竞标单,同时提走预存金额
3、如何评价Punk的交易市场?
乍一看,是一个很标准的最小NFT交易模型,确实可以准确稳定可靠的实现交易的核心环节,但有得有失,他优势如何,而又少了什么呢
3.1、GAS成本低
由于链上只存储了offer和Bid两种简约的订单簿,且只保留最新最高价的部分详情可见下文文末对以太坊黄皮书中定义gas计算的解析:你买的NFT到底是什么?
所以Punk市场的整体gas消耗并不高,笔者核算了下完成买卖提取全环节,大致消耗为30W的gas
按成交GAS排序:Punk?<?opensea<GEM<Genie<X2Y2<Looksrare
3.2、无需手续费
目前链上可见Punk累计有21W交易,如果5笔交易可成交一单的话,则以及有4W次转移,对于这样数十亿市值的顶级蓝筹而言,不收版税简直是暴遣天物啊
当然,拿这样内置交易服务对比专职交易市场来比着实有些不公平,但也正是因为punk这样内置完成交易的功能是远远到不了完善的功能体系的,所以才有了各种广泛市场的可乘之机
而按手续费排序:Punk(0%)<X2Y2(0.5%)<Looksrare(2%)<OS(2.5%)
3.3、对机制的缺点评价
结论1:买卖机制不利于流动性池
NFT而言流动性是至关重要的,而每次报价都要上链显然是盆冷水,卖家不缺钱则不乐意动,买家难成交也缺乏动机,所以对报价者即收费且要求锁定资产到Punk此举虽然不会出现扣款失败的情况,但是也导致买家资产的时间的价值的损失
这点,后来Os等平台均采用签名的方式,来链下撮合购买意愿,报价近乎无需gas仅成单的时候需要链上登记订单结果来执行转移
这一击是中心化与去中心化在效率上的争夺,显然现在的市场还是需要效率
结论2:订单模型不利于批量操作
Punk订单模型的简约堪称是交易模型的典范,然而面对批量成交的诉求呢?
卖家:得每个id每个报单,确定成交
买家:得每个id每个竞价,等待成交
虽然收益的资金有可以累计后批量提取的设计,但不是重点
而批量报价成交,是现在NFT市场的必争之地
x2y2和Looksrare都在这点发力作为针对os的包围战,甚至拉上Gem等聚合器打通流量池的局限性,而os最新的SeaPort协议也实现了捆绑交易的新订单模型,从而可以任意资产组合对应任意资产组合直接实现市场交易
然而Punk的源码太过于超前,缺乏了代扣授权的功能,再也无缘批量成交
结论3:单一拍卖流程不利于撮合成交与定价
成交是需要妥协的,而NFT当前的价值也需要通过成交来博弈,如何为NFT定价一直都是巨大的难题
由此常见有四大拍卖机制:
英式拍卖。公开竞标往上拾价,最高出价者得
荷式拍卖。价格由高往低降,首个出价者得
第一价格拍卖。对拍品进行单独密封报价竞品,不知道其他竞买人的出价
第二价格拍卖。与上类似,不同的是最后出价最高者获胜,但只需按第二高价格支付
而这些拍卖机制是Opensea的基础功能,利于促进成交与定价
英拍:限定时间竞拍,即不占用高价值蓝筹的资金成本,也有时间缓冲来拟合各群体的博弈结果
荷拍:更有效的减少过高报价流动性低而无成交的问题,让价值总要依据市场而变化
AxieInfinity、NBATopShot,而在Seaport开源开放后内置市场就未必是功能浓缩版的代言词了
后续笔者将继续研究OpenSea,X2Y2,Looksrare,Gem等头部NFT市场平台,从合约出发,看其优势与局限性,有兴趣的看官,速速点赞关注,后续跟进吧~
标签:PUNPUNKNFTCRYUnicly CryptoPunks CollectionBABYPUNKBBNFT价格Crypto Against Cancer
8月11日消息,去中心化衍生品项目TracerDAO表示,从TracerDAO过渡到Mycelium的关键提案已由DAO达成一致,本月将在Arbitrum上推出首个产品.
1900/1/1 0:00:00关于为什么好的项目不会为其代币增值的原因,在行业内发生了很多讨论,所有人都在思考它,并围绕为什么会这样得出的结论.
1900/1/1 0:00:00本文来自?The?Block,原文作者:AislinnKeelyOdaily星球日报译者?|念银思唐美国商品期货交易委员会已投票提议与美国证券交易委员会制定一项联合规则.
1900/1/1 0:00:00熊市是困难的,因为人们眼睁睁地看着他们的账户余额随着比特币价格下跌而减少。你可以做很多事情来缓解疼痛。在内心深处,我们都知道这会发生。熊市很糟糕,如果这是你的第一次,它们尤其糟糕.
1900/1/1 0:00:00DearValuedUsers,HuobiGlobalwillbeopeningDEXE(DeXeNetwork)?spottrading(DEXE/USDT)andspotGridtradin.
1900/1/1 0:00:00親愛的ZT用戶:為給用戶提供更好的交易體驗,ZT會對已上線項目進行嚴格審查,根據項目下架規則,ZT決定對HTD,PEARL,SPY,MGOD,WBOND,PVU,KABY,BACON,NORA.
1900/1/1 0:00:00