链资讯 链资讯
Ctrl+D收藏链资讯

ASH:从技术层面教你如何用科学家的方法抢购NFT_CashHand

作者:

时间:

原文作者:iamcatcher

原文来源:Mirror

本文基于自己近期的学习以及和群友讨论总结,作为一个记录,最后是自己对NFT行业现状一点思考,刚接触区块链和以太坊编程难免有错误,欢迎大家指正和交流。

NFT购买过程

简单来说购买过程就是你的钱包和NFT合约进行交互,从你的钱包转账0.176ETH到合约,调用合约mint方法后,生成两个NFT代币,代币转移到你的钱包,你获得这个NFT。

NFT购买过程详解

将你从项目方的官方网站上点击mint按钮,从浏览器到以太网网络端到端交互过程详细打开:

NFT购买过程

1、点击Mint按钮

大家登陆项目网站,Chrome上连接自己的钱包,然后点击mint按钮。网页上的JavaScript代码基于项目的mint价格,合约地址等生成rawtransaction数据,主要包含以下几个关键字段

nonce:nonce,?gasLimit:'21000',?maxFeePerGas:'300',?maxPriorityFeePerGas:'10',?to:'0x198478f870d97d62d640368d111b979d7ca3c38f',?value:'176000000000000000',?data:'0xa0712d680000000000000000000000?000000000000000000000000000000000000000002'gasLimit?–交易可以消耗的Gas的最大数量。单位gweito?–接收地址nonce?–用于跟踪账户已执行的交易总数value?–从转账ETH的金额data?–和合约交互,调度mint函数,mint数量2个Function:mint(uint256tokenQuantity)MethodID:0xa0712d68:0000000000000000000000000000000000000000000000000000000000000002maxPriorityFeePerGas?-作为矿工小费包含的最大gas数量maxFeePerGas?-愿意为交易支付的最大gas数量2、TX签名

分析:从技术层面来说,Celsius可能已经资不抵债:6月6日消息,据推特用户yieldchad分析,从技术层面来说,Celsius可能已经资不抵债。该项目一共有100万枚ETH,但只有26.8万枚(近27%)是有充足流动性的;另外44.5万枚拿的是Lido的stETH,按当前Curve的汇率只能换出28.7万枚ETH;最后28.8万枚直接质押进了以太坊2.0合约,一时半会(至少1年内)拿不出来。按照每周5万枚ETH的速度,Celsius在五周内就会耗尽具有流动性的ETH。[2022/6/6 4:05:49]

网页代码与Metamask交互,会弹出窗口让你确认本次交易。点击确认后,Metamask会使用你的钱包私钥进行签名,以确保这个交易是你本身授权的,后续以太坊网络会进行校验。

3、发送TX到node验证

交易TX被Metamask发送到Metamask的以太坊node,node对TX进行校验,确保交易不被仿冒。

4、广播TX到以太坊网络

交易TX被发送到以太坊网络的相邻节点,然后再相互广播到相邻接点。这时你的交易就可以在etherscan.io上查看到,状态是pending状态。

5、矿工node接收到TX

矿工node会将同步过来的tx都放到一个叫Txpool/Mempool地方,这个地方是很多事情的关键,需要展开来讲一下:

Txpool代码流程

Txpool的数据来源主要来自:

本地提交,也就是第三方应用通过调用本地以太坊节点的RPC服务所提交的交易;

IBM区块链总经理:区块链正在从技术演变为真正的业务工具:10月3日消息,IBM区块链总经理Alistair Lenny在接受采访时表示,区块链越来越适合企业架构,因为它允许公司与其他公司数字化其业务流程。这意味着区块链正在从技术演变为真正的业务工具,这表明采用可能将会非常迅速。(JP.Cointelegraph)[2020/10/3]

远程同步,是指通过广播同步的形式,将其他以太坊节点的交易数据同步至本地节点;

Txpool中分了Queue和Pending两个队列,首先新收到TX会基于规则判断后先放到Queue这个队列,然后再添加Pending队列等待挖矿加入新增的块。

主要规则如下:

1)优先处理Gasprice高的TX

2)本地TX优先处理,过于远程同步

3)每个节点会设置最低Gasprice,低于这个值的远程TX会被丢弃

Pending中的TX,被Miner模块获取并验证,用于挖矿;挖矿成功后写进区块并被广播。Miner取走交易是复制,Txpool中的TX并不减少。TX被写进链后才从Txpool删除。

Gas过低的TX,会被一直卡在Txpool得不到处理,需要可以提高Gas让它被处理。

详细代码分析可以参考死磕以太坊源码分析之txpool

GasWar:发生热门交易时,大家为了自己的TX可以被优先处理,争相提升Gas费的场景

6、矿工出块TX被打包

矿工选取TX后开始挖矿,再找到一个区块的Solution后广播到以太坊网络。

李贝宁:从技术角度看Filecoin还处于成长期:金色财经现场报道,7月6日,由杭州市余杭区政府指导,杭州未来科技城管委会、巴比特主办的2020杭州区块链国际周在杭州举办。在主题为《颠覆云存储,IPFS引领新一轮数字革命?》的圆桌上,江西正舵者网络科技有限公司CTO李贝宁表示,从技术角度看,Filecoin还处于成长期,很多方面还有待发展。我的观点是,大家短期高估了它的能力,长期低估了它的潜力,Filecoin要建立的是全球性的分布式存储网络,所以不要过度关注短期FIL的价格。[2020/7/6]

7、出块被验证

在其他矿工节点验证后,该区块正式上链,这事我们TX结果可以在etherscan.io上查看到。

8、TX状态同步

相关状态返回本地,可以在Metamask上查询到。

参考文档:

LifeCycleofanEthereumTransaction

TransactionlifecycleontheEthereumblockchain

TheInfluenceFactorsonEthereumTransactionFees

合约是如何被执行的

简单说我们发送的交易会被转换成一个Message对象传入EVM,而EVM则会根据Message生成一个Contract对象以便后续执行。基于我们转入的Data转为合约的input调用mint函数。

详细看EVM介绍参考如下文档:

以太坊-深入浅出虚拟机|登链社区|深入浅出区块链技术

掌柜调查署|节点资本创始合伙人杜均:单纯从技术角度来看,并没有看到IPFS技术的突破:在今日举行的掌柜调查署中,针对“IPFS和Filecoin有哪些重大创新,为什么大家如此关注“的问题,节点资本创始合伙人杜均表示,个人认为,无论是比特币为代表的区块链1.0,还是以太坊为代表的区块链2.0,以及现在我们大热的IPFS(激励层Filecoin),都是一群“技术中立”信仰者构建的理想国,希望通过“CODE IS LAW”促进社会变得更公平更美好。单纯从技术角度来看,我并没有看到技术的突破,我更多看到的是利用区块链思维对传统互联网访问协议以及分布式存储的升级。大家关注的点不一样,只有极少数人关注到IPFS的技术创新,更多的人关注的是如何赚钱。更多详情见原文链接。[2020/7/4]

NFT预售与公开销售

预售只是针对特定用户才能购买,公开销售就是大家都可以抢购。

这里主要需要回答两个技术问题:

1、如何限制特定钱包才能mint?

2、预售和公开销售之间是如何状态切换的?

白名单机制

白名单现在普遍使用默克尔树来实现,简单来说将所有白名单钱包地址作为默克尔树的叶子节点,生成一个Roothash。在合约中只需要存储Roothash值,在调用mint函数时网页的JS代码基于钱包地址生成proof,合约就可以校验该地址是否属于白名单。

以C01的合约为例:0x6fd053bff10512d743fa36c859e49351a4920df6

在预售和公开销售时通过SetRoot更新hash

详细原理和代码参考下面文章:

声音 | 王春蕊:区块链已从技术构想走入现实 在智慧城市建设中将大有作为:新京报智慧城市研究院研究员王春蕊今日发表题为“智慧城市和区块链能擦出怎样的火花?”评论文章。文章中提到,区块链在智慧城市建设中将大有作为。区块链实现信息共享,保障数据安全;“区块链+政务”,为数字社会增信;“区块链+民生”,能够提供更智能的公共服务。区块链作为核心技术,已经从技术构想走入现实,在智慧城市领域特别是信息共享方面彰显出了巨大应用潜力。(新京报)[2019/11/5]

UsingMerkleTreesforNFTWhitelists

销售状态切换

常用两种方式:1)通过在合约判断时间点,比如2022-01-0118:00UTC开始公开销售2)通过状态判断,及在合约设置状态变量,比如以XRC的合约为例,判断Status.PublicSale状态,这个是调用合约中SetStatus进行设置。

科学家如何抢购NFT

科学家使用程序抢购NFT,就是使用各种手段使自己的交易TX可以先于别人被矿工打包,在售罄前完成NFTmint。同时科学家都是追求完美的,最完美的结果当然是自己的TX出现在第一个满足公开销售状态的区块里,也就是抢Block0。

两种场景的Block0如下图,同时做到Block0还可以避免后续大家抢购发生的Gaswar,减少抢购成本。但现在越来越卷,Block0也会发生Gaswar,比如XRC公开销售不到200个,进入Block0的科学家TX数>200,也有不少因为Gas给低了执行靠后没有抢到。

两种场景下的Block0

科学家用的手段总结大概以下三点:

1、信息获取时延更低

类似金融量化交易,基金都是期望自己的服务器和交易所通信的时延更低。区块链也是类似,比如CEX大家都会就近接入中心化交易所的服务器。NFTmint和DeFi的交易发生在以太坊网络中,大家追求的更快的以太坊Node或者接入大矿池的网络,更快监控到Txpool的pendingTX,获取需要的信息让程序及时执行。

2、交易走的路径更短

1)、直接看了上面的TX交互过程,科学家的选择肯定直接通过程序和NFT的合约进行交互。

2)、通过在链上部署自己的合约,通过私有合约和NFT合约交互。虽然私有合约需要外部TX触发,但合约可以批量化购买,特别适合不限制mint数量的NFT。

3、批量提交交易

除了上面提到通过私有合约mint之外,如果项目限制了每个地址的mint个数,可以通过Flashbots打包多个TX一起提交。

合约mint

一个合约抢购的例子,YOKAI公开发售后。科学家利用私有合约,一共抢购了mint750个。详细见TX。

YOKAI合约代码,没有限制一个地址可以mint多少个,只限制一次tx只能mint2个。所以被科学家包场了。

神器Flashbots

Flashbots详解见伟总这篇精彩介绍和官方文档

Flashbots:如何从没有ETH的钱包取出资产或交互合约

使用Flashbots的有几点好处:

1)可以批量打包TX一起提交,可以自主控制打包TX的先后顺序。2)Flashbots提交的TX不会出现在Txpool,出现在链上之后才会被大家看到。这样就提供了TX的隐秘性,所以很多DeFi量化交易平台宣传自己接入Flashbots。

3)通过Flashbotsmint失败了不会被收Gas费

Flashbots抢购我们以冷兔XRC的公售为例:

易老板发推说公售不会科学家公售,但结果是在block=14020984?Block0解决战斗,全部科学家包场。

项目方发送的setStatusTX在14020982时在TXpool被监听到

然后有科学家把setStatusTX和自己的minttx一起用flashbots打包了,发送给矿工。这里科学家把setStatusTX放到了第一,虽然它Gas低,将自己的minttx排在后面,最终tx在984块入链。

Flashbots打包查询链接

烧区块

简单说就是一直不停的发tx,发得多mint成功的概率就大,撞大运还可能会挤进Block0。这个方案问题在于会很消耗Gas费,属于有钱任性的玩法。烧区块一般考虑开始时间,每次Tx间隔,发送次数,gas费用等,这个一般都是大家根据项目时间,监控pendingtx,链上出块速度等考虑。

冷兔公售抢购时就有大量科学家使用烧区块的方式抢购成功,可考察这个钱包

如何防科学家

随着科学家抢购的出现,越来越多的项目开始用各种办法防科学家抢购,这些方法的本质都是限制科学家直接调用合约mint,让项目方选定的人才能mint

1、只通过白名单方式发售

项目发售全部使用白名单机制,这样项目方通过规则筛选出认为是真正欣赏项目的人。

但有规则就有对策,等级+邀请人数,就出现了聊天机器人和工作室养号卖邀请人头;创作艺术就出现淘宝找人代画;现在发展到限时邀请进Discord;让大家猜谜做任务等各种玩法。

项目方是绞尽脑汁和刷白名单的工作室斗智斗勇,普通NFT玩家也被各种规则耍得团团转。

2、公售采用验资抽奖方式

如NFT公售时,提前验证钱包需要一定金额的ETH,然后通过系统抽奖给出中奖名单。但很多项目方为了省事不愿意做一个1:1的抽奖系统,最后公售名单大幅超售,最后还是大家抢购。

3、在服务端签名验证mint

类似最近火热的HAPE的做法,公开的NFT合约限制只能一个私有的闭源的合约才能mint。闭源合约后项目方后台服务器交互,这个方案从技术上来说还是走web2中心化思路和web3去中心化的理念好像有点冲突。

NFT未来如何发展

肝过白名单人都觉得现在NFT行业很不健康,但NFT行业还在早期,有问题就有市场肯定会有人出来解决问题。

NFT发售需要公开公证透明,个人觉得解决的思路还是可以借鉴现实生活的大家熟悉的两个场景:

1、新股发售,交易所进行账户交易时长、验资等门槛,然后摇号抽奖发售。

2、京东茅台抢购,京东平台进行账户认证、抢购公平性保证等

这两个场景都是通过平台的权威性来保证公平,但在web3应该会有基于区块链合约的新方案来实现类似的功能,就像现在DeFi市场的各种交易协议,不久将来可能会出现NFT发售协议,提供一种公平公证透明的发售模式。具体怎么做我还在学习思考中,也欢迎大家指导讨论。

未来应该是NFT项目方接入一个NFT发射平台,项目方更专注于艺术创作和路线图的演进,投资者更专注于项目的内容和前景,而发射平台通过技术解决现在NFT发售的各种问题。

标签:ASHPOOLSHBFLASHCashHandCPOOL价格SHBMA币Flashcoin

以太坊最新价格热门资讯
CRY:浅谈做Crypto研究的心得体会:不必每天追赶,切勿浅尝辄止_CRYPT

原标题:《分享一些关于做研究的心得体会|与君共勉》 来源:片面Crypto 1、今天聊聊所谓的 最近收到了一些分析师的简历,参加活动的时候也会遇到一些人问例如:刚毕业的学生想进入这行.

区块链:观点:去中心化技术将终结Web 3的隐私难题_SMP

虽然现代互联网以前所未有的方式将我们联系在一起,但有一件事年轻一代从未真正体验过,那就是真正的隐私性。甚至老一辈人都已经忘记了在我们的每一个想法和行动被追踪之前的生活是什么样子.

DEF:Delphi研究员:区块链和NFT如何提升玩家体验并改变游戏行业?_Slash Token

原作者:0xRyze 编译:深潮TechFlow游戏盈利方式的历史充斥着开发者和玩家之间的紧张关系。对玩家来说,NFT是一连串方案中最新的一个。微观上,广告是玩家为了免费游戏而须忍受的东西.

ASH:纵览公链NEAR生态系统与发展现状_bitcoin-cash

原标题|报告|NEAR生态进展报告 作者|CabinVC 2021年下半年,公链赛道受DeFi生态发展推动出现集体爆发趋势,竞争加剧,公链生态估值逻辑有所重构.

NFT:Nansen:2021年加密产业报告_NFTM价格

从商业角度来说,2021年或许是加密世界诞生以来最重要的年份之一,这里不再只有叙事与投机,也有了由真实需求支撑起来的众多产业与生意,泡沫之下的商业脉络逐渐茁壮。这是商业爆炸的一年.

ZONE:普京宣布在乌克兰发起“特别军事行动”,比特币暴跌_TYB

在俄罗斯总统弗拉基米尔·普京(VladimirPutin)在全国广播中宣布他的军队将在乌克兰开展“特别军事行动”后,全球加密市场和股市暴跌.