宇宙链 宇宙链
Ctrl+D收藏宇宙链

剖析Gh0stlyGh0sts:可以跨7条链的NFT是如何实现的?

作者:

时间:1900/1/1 0:00:00

原标题:《那个可以跨链的Gh0stlyGh0sts会成为下一个Azuki吗?》

作者:陈剑

这篇文章涉及代码相对较多,可能会略有枯燥,请耐心看完从而理解其中原理。

这几天各个群都在传一个叫Gh0stlyGh0sts的项目,作为一个freemint的项目已经实现了单日百倍涨幅,这背后最主要的原因是大家都在热议它可以实现跨链的技术创新。???

还记得上一次技术创新后的蓝筹股是谁吗?Azuki,它带火了ERC721A,具体各位可以看之前的文章web3的世界一片蛮荒-详解ERC721A。

之前的文章中也多次提到过web3是一个极其依赖技术创新的领域,一方面可以释放出更多上层应用潜力,另一方面因为土狗项目太多的缘故,使得有技术创新的项目方会直接被视为愿意长期做事的,从而产生fomo情绪,所以从技术创新这一点来看,Gh0stlyGh0sts是有可能具备Azuki基因的。

但是经过研究后,我认为它的这些操作可复制性不高,相比于ERC721A非常重,带来的收益有限,所以我认为它不会成为下一个Azuki,或者这套解决方案难以像ERC721A一样大规模使用,具体的原因请耐心往下看,文末最后会讲到,但请注意本文不提供任何投资建议。

韩国扩大与海外机构的合作以促进引渡Do Kwon:金色财经报道,韩国首尔南部地区检察官办公室正发展与海外机构的合作,以将Do Kwon和其他五名Terraform员工送回韩国。所有这些人都被列在去年9月发出的逮捕令中。这五个人包括Terraform实验室的前研究主管Nicholas Platias,以及Chai公司的前首席执行官。Chai是一家位于韩国的支付处理公司,由Terra联合创始人Daniel Shin或Shin Hyun-seung创立。[2023/3/16 13:08:11]

在大家都在喊这个项目牛逼能跨链黑科技的时候,我们公众号致力于帮助大家更深刻的理解原理本质,所以本文为大家抛析Gh0stlyGh0sts的跨链到底谁怎么回事。

我们从它的twitter中可以看到自称是全球首个omnichain全链式NFT项目。

我们先按照时间线看一下他们最开始也是最重要的四条twitter。

它说自己说第一个原生的全链NFT,它可以在任何一条链上mint和转移,所在的原始链和当前链这两个因素会分别影响NFT的背景颜色与边框颜色,故你可以一眼看出这个NFT的前世今生,而我们常见的跨链桥如Wormhole实现的方式是先在一条链上mint后,将其锁定在跨链桥的合约中,再在另外一条链上mint出来一个新的去流动,所以强调了自己与传统跨链桥的区别。

Meta与欧莱雅合作推出Web3加速器项目:金色财经报道,Meta与化妆品牌欧莱雅以及法国商学院HEC Paris达成合作关系,推出一项Web3创业加速计划。该计划旨在帮助专注于3D制作、AR、VR、混合现实、头像创建、用户体验的可移植性、Token 经济或其他与元宇宙和 Web3 相关的主题的企业。至少有五家企业将参与其中。[2022/10/25 16:38:10]

所以他相比于传统跨链桥的区别在于三点:

·可以在任何一个链上mint而非先在一个链mint

·可以实现真正的“转移”的而非先锁定一个再复制一个

·原始链和当前链会影响NFT样式

可以看到确实因为其前世今生不同使得背景和边框都是不一样的。???

再向前翻,说到当一个NFT转移时,会先将这条链上的NFTburn掉再在另外一条链mint一个新的出来,那这就是它的原理了,单纯从这里看,好像就是相比于传统跨链桥把锁定动作改成了burn,我们继续研究看到底有没有点东西。

这里他说使用了LayerZero协议从而实现了跨链,嗯..那说明关键点在这个LayerZero。

币安宣布成立全球顾问委员会,美国前参议员担任主席:金色财经报道,币安创建了一个顾问委员会,以帮助加密货币交易所解决该领域面临的一些最紧迫的监管问题。前美国驻华大使、美国前参议员Max Baucus将领导新成立的币安咨询部门,负责应对监管的复杂性。韩国总统委员会顾问 HyungRin Bang、前法国财政部部长 Bruno Bezard、前巴西经济部部长 Henrique de Campos Meirelles 、国际证监会组织前秘书长 David Wright 等11名成员加入董事会。

币安首席执行官赵长鹏在一份声明中表示:“我们正在通过利用世界上最高水平的专业知识来增强我们管理监管复杂性的能力。”(blockworks)[2022/9/22 7:14:18]

上下文了解清楚了,我们开始解析,那首先从这个LayerZero开始研究。

首先跨链为什么重要不言而喻,每个链你可以将它当作银行,如果银行无法跨行转账,你的资产流动性和效益将会大大减弱,LayerZero刚完成了A16Z、红杉资本等投资的1.35亿美金融资,可见跨链这个操作至少非常受资本喜欢。

这是他们的论文,感兴趣的可以亲自啃一遍:??https://layerzero.network/pdf/LayerZero_Whitepaper_Release.pdf

三星或将调整芯片制造价格,上调至多20%:5月14日消息,三星商讨将芯片制造价格上调至多20%。除了三星之外,台积电此前也宣布,将从明年1月起将全面调整晶圆代工价格,涨幅达6%。(彭博社)[2022/5/14 3:16:26]

LayerZero之所以叫Zero,从名字上就说明它和以太坊、Solana这些Layer1不是一个纬度的,建立在这些Layer1上的跨链桥原理基本都如上所说,在一个链上锁定资产后再在另外一条链产生资产,锁定资产的过程即这些跨链桥托管资产,这也就是为什么经常爆出跨链桥被黑客攻击的事,从而大家对于将资产托管给跨链桥也愈发不信任,除去安全性,跨链桥在操作上也非常繁琐需要多次进行转移并缴纳多次gas费,而LayerZero并不锁定托管资产,LayerZero是更底层的一个通信协议,直接在两条链之间进行信息传递,其实简单粗暴的理解就是LayerZero在多个链之间部署了自己节点,这些节点帮助你在两条链之间通信,比如你在A链的合约中调用B链的节点,告诉它你要转移一个NFT,于是该节点帮助你在B之间创建一个新的NFT出来,这两个节点就承担了通信的任务,所以原理还是很简单的。

我们看一下Gh0stlyGh0sts合约代码,其中traverseChains这个函数执行的就是跨链操作,需要输入两个参数chainId链id和tokenId。

Binance一季度总交易额约为5.54万亿美元:4月25日消息,根据 BeInCrypto Research 分析数据显示,今年第一季度加密货币交易平台 Binance 的总交易额约为 5.54 万亿美元,比 2021 年同期增长 8%(去年 1-3 月 Binance 交易额约为 5.09 万亿美元)。具体而言,Binance 在今年一、二、三月的交易额分别达到 1.93 万亿美元、1.71 万亿美元、以及 1.90 万亿美元。(beincrypto)[2022/4/26 5:11:19]

先进行持有人验证,再将chainId传入了一个trustedRemoteLookup数组验证它的长度是否大于0,这个操作是干嘛的呢?

我们上LayerZero的文档看到该协议每一条链都会对应一个id,所以传入的chainId代表着你要将NFT转移到哪个链上去,所以这个trustedRemoteLookup应该是存储不同链的合约地址的,才需要在这里校验你要转移的目标链是否存在对应合约。

我们输入币安链的id2试一下,果真返回了对应的合约地址。

接着执行了burn操作将你的NFT销毁,burn先获取到了这个NFT的持有人,然后执行了_beforeTokenTransfer,这个函数需要传入的参数有三个,from、to和tokenid,当from为0时代表着铸造,当from和to都不为0时代表转移,当from不为0但是to为0代表着销毁,所以在这里将to传入0进行销毁,同时执行approve取消该tokenid的一切授权,然后将原本持有人的余额减1,并在mapping持有关系中删除持有人和tokenid的关联。

endpoint即调用了LayerZero接口分别传入了要转移的目标链chainId、目标链的合约地址trustedRemoteLookup等信息,其中payload参数代表着你要传输给目标链的信息,可以在代码中看到它传输过去了两个参数当前用户合约地址msg.sender和tokenId,那我们可以猜想到目标链一定会有个mint函数用到这两个参数来mint出一个新的NFT。

LayerZero的send消息被目标链接捕获后会执行lzReceive函数,我们一层层向上顺藤摸瓜,可以看到lzReceive首先对传过来的payload信息进行了解码,然后又执行了_safeMint函数新铸造了对应的NFT。

怎么在各个链之间转移我们明白了,接下来让我们看看它是怎么实现可以在不同的链mint的,我刚开始看到这个能力的时候,第一时间想到的是怎么做去重,因为mint都是按照tokenid递增的,比如我在以太坊mint了#1,那接下来polygon必须要从#2开始mint,这么多链来回mint那不乱套了,当我看到他们的解决方案时有点乐了..

下图左右两边是两个不同链上的合约代码,分别设定了两个参数为开始和截止的tokenid,即我在以太坊只能mint第0~3084个,我在arbitrum则只能mint第6476~7092个,所以你在哪些链能mint都是事先写死的,外面的人不知道还以为很智能,实际上用的方式很粗暴。

别忘了它还有一个特点,就是不同的的链背景色不一样,跨链后的边框颜色也不一样,如下图我打开了一个跨到以太坊的NFT,显示它的诞生链是Polygon,确实是追溯到了,很神奇对不对。

等我研究完后真雷到我了,且听慢慢分析。

我听到这个特性后,第一时间想的是如何能够“动态”识别跨链后的token并自动变更baseURI?大家都知道每一个token对应的是一个存储在ipfs上的链接,这个链接存储了它的属性和图片,那比如我的NFT原本在A链,这时候我把它跨到了B链,那就首先要有一段代码来自动的生成一个存储跨链前后属性的json文件,并自动生成图片,然后再把它传到ipfs,替换掉旧的链接,再映射到token,可是ipfs是不允许改的呀,这是行不通的,在我百思不得其解的时候,我打开了他们的ipfs文件。

可以看到它是用一个大文件夹包了7条链子文件夹,子文件夹又是对应的json文件,然后每个子文件夹大小都是一样的4.2M。

然后我花了近半个小时不断的理解这里面的原因,这代表着什么呢?最终终于明白了,它事先把所有的可能性全部穷举出来了。

还记得上文中说到事先用代码硬编码写好了每个链可以mint的编号区间,然后它先生成了1万个全部NFT的json文件,并按照区间设定好其诞生链,以及背景图,比如设定第6000个NFT的诞生链为polygon,背景色为紫色,此时是没有边框的,所以如果#6000NFT还没有跨链,那正常的就会通过上图中的poly来索引。

接着它把这1万个NFT的json文件复制了7遍,然后再把不属于本链中的NFT加上一个本链边框,比如刚才提到#6000诞生链是polygon,于是在eth的文件夹里#6000的图片就会多出来一个灰色的边框,同理在币安链的#6000NFT会多出来个蓝色的边框。

这个操作是我怎么样都没想到的,我一开始以为用了很高级的手法所以不断的看代码想找出变更baseURI的业务逻辑,研究了整整1小时没看出来,没想到居然用的是这种操作方式。

以上就是Gh0stlyGh0sts是如何实现跨链+多链mint+前后链变更样式的效果,综合来看,这套方案不具有任何普适性,操作繁琐复杂度很高,远远没有ERC721A的那种简单且收益高的效果,我很敬佩Gh0stlyGh0sts项目方认真努力的精神,但是个人认为这个项目噱头大于实际意义,至少目前的解决方案来看是的。

标签:NFTINTMINTMINBeNFT SolutionsMint ClubMintbaseMINTY币

以太坊价格今日行情热门资讯
Web 3.0世界:平台变成协议,人在协议上创建网络

由JadEsber、NirKabessa和DavidPhelps构思、概述和编辑,DavidPhelp撰写编译:Blockunicorn在Web3中,平台通过成为协议而成功——这意味着人们通过成为平台而成功.

1900/1/1 0:00:00
核心开发者:梳理以太坊合并最新进展

原标题:《AllCoreDevsUpdate010》作者:TimBeiko,AllCoreDevsUpdates编译:EthereumCN 摘要 自一月份以来,发生了很多事情,以至于我一直在努力找时间把它们写下来.

1900/1/1 0:00:00
黑客是如何通过Tornado.Cash洗白赃款的?

作者:Lisa@慢雾AML团队原标题:《链上追踪:洗币手法科普之Tornado.Cash》前段时间,我们发布了链上追踪:洗币手法科普之PeelChain,今天继续该系列。这次的主题是混币器Tornado.Cash.

1900/1/1 0:00:00
解析Celo的L2路线图,为什么是选择Celestia而不是以太坊?

??最近,随着知名稳定币公链Celo提出转向?Celestia?并建立主权Rollup的路线图计划,笔者开始思考基于以太坊的Rollup和基于Celestia的Rollup到底有何不可,以及这两种选择的权衡.

1900/1/1 0:00:00
2022年Q1区块链安全生态报告,攻击类事件造成的损失高达12亿美元

2022年,区块链行业迎来新的发展时期,但各类安全风险也在不断升级。成都链安新推出的《安全研究季报》栏目,将为大家盘点每季度全球区块链安全态势。今天,跟着我们一起来回顾,2022年Q1区块链安全生态都发生了什么.

1900/1/1 0:00:00
为什么使用以太坊登录对 Web 3 至关重要?

原标题:为什么「使用以太坊登录」具有革命性 撰文:Rocco 用户不再需要向一些大型中间商妥协,现在可以使用控制其区块链账户的同一个私钥直接登录(不需要经过中间商).

1900/1/1 0:00:00