作者:@iamcatcher
本文基于自己近期的学习以及和群友讨论总结,作为一个记录,最后是自己对NFT行业现状一点思考,刚接触区块链和以太坊编程难免有错误,欢迎大家指正和交流。
NFT购买过程
简单来说购买过程就是你的钱包和NFT合约进行交互,从你的钱包转账0.176ETH到合约,调用合约mint方法后,生成两个NFT代币,代币转移到你的钱包,你获得这个NFT。
关于NFT合约的内容可以参考以下文章:NFT及OpenSea交易背后的技术分享—Mirror
NFT购买过程详解
将你从项目方的官方网站上点击mint按钮,从浏览器到以太网网络端到端交互过程详细打开:
NFT购买过程
1、点击Mint按钮
大家登陆项目网站,Chrome上连接自己的钱包,然后点击mint按钮。网页上的JavaScript代码基于项目的mint价格,合约地址等生成rawtransaction数据,主要包含以下几个关键字段
2、TX签名
网页代码与Metamask交互,会弹出窗口让你确认本次交易。点击确认后,Metamask会使用你的钱包私钥进行签名,以确保这个交易是你本身授权的,后续以太坊网络会进行校验。
3、发送TX到node验证
交易TX被Metamask发送到Metamask的以太坊node,node对TX进行校验,确保交易不被仿冒。
稳定币crvUSD科普创新清算机制LLAMMA,可在抵押品价格下跌时逐步替换为稳定币:1月17日消息,Curve官方科普其稳定币crvUSD创新的清算机制LLAMMA,解释了LLAMMA通过AMM的特性进行针对债务人更友善的清算方式,让抵押品在价格下跌时逐渐转移成稳定币,让原本要清偿的债务有一定程度的稳定币可以偿还,同时在价格回稳时再逐渐把稳定币换回抵押品,而不是直接的触发清算导致债务人的亏损。
此前报道,2022年11月23日,去中心化交易平台CurveFinance开发者发布Curve即将推出的去中心化Stablecoin“crvUSD”的官方代码和白皮书。[2023/1/17 11:17:13]
4、广播TX到以太坊网络
交易TX被发送到以太坊网络的相邻节点,然后再相互广播到相邻接点。这时你的交易就可以在etherscan.io上查看到,状态是pending状态。
5、矿工node接收到TX
矿工node会将同步过来的tx都放到一个叫Txpool/Mempool地方,这个地方是很多事情的关键,需要展开来讲一下:
Txpool代码流程
Txpool的数据来源主要来自:
本地提交,也就是第三方应用通过调用本地以太坊节点的RPC服务所提交的交易;
远程同步,是指通过广播同步的形式,将其他以太坊节点的交易数据同步至本地节点;
Txpool中分了Queue和Pending两个队列,首先新收到TX会基于规则判断后先放到Queue这个队列,然后再添加Pending队列等待挖矿加入新增的块。
欧易OKEx将于3月18日推出DeFi系列科普视频:据欧易OKEx官方消息显示,欧易OKEx将正式推出DeFi系列科普视频《欧易DeFi20讲》,本系列节目由欧易OKEx亚太区CEO马克金主讲。该视频首期将于3月18日11:00(HKT)推出,用户可以在欧易OKEx官方学院、金色财经观看。
《欧易DeFi20讲》主要包含DeFi入门指南、全景解读DeFi生态及如何参与DeFi三个篇章,可以轻松使用户了解DeFi原理,洞察DeFi价值,掌握DeFi热点,更多详情请关注欧易OKEx官方学院。[2021/3/18 18:55:59]
主要规则如下:
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后广播到以太坊网络。
人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]
7、出块被验证
在其他矿工节点验证后,该区块正式上链,这事我们TX结果可以在etherscan.io上查看到。
8、TX状态同步
相关状态返回本地,可以在Metamask上查询到。
参考文档:
LifeCycleofanEthereumTransaction
TransactionlifecycleontheEthereumblockchain
TheInfluenceFactorsonEthereumTransactionFees
声音 | CNBC主持人:加密货币最大的缺点之一就是难以向外行快速科普:CNBC主持人Ran NeuNer近期发推称,加密货币最大的缺点之一就是很难向外行快速解释。当人们要求我向他们解释比特币时,我知道他们至少需要一个小时才能真正理解。[2019/9/10]
合约是如何被执行的
简单说我们发送的交易会被转换成一个Message对象传入EVM,而EVM则会根据Message生成一个Contract对象以便后续执行。基于我们转入的Data转为合约的input调用mint函数。
详细看EVM介绍参考如下文档:
easy-evm
learnblockchain.cn
NFT预售与公开销售
预售只是针对特定用户才能购买,公开销售就是大家都可以抢购。
这里主要需要回答两个技术问题:
1、如何限制特定钱包才能mint?
2、预售和公开销售之间是如何状态切换的?
白名单机制
白名单现在普遍使用默克尔树来实现,简单来说将所有白名单钱包地址作为默克尔树的叶子节点,生成一个Roothash。在合约中只需要存储Roothash值,在调用mint函数时网页的JS代码基于钱包地址生成proof,合约就可以校验该地址是否属于白名单。
以C01的合约为例:
0x6fd053bff10512d743fa36c859e49351a4920df6
声音 | 中科院姚建铨:要加快推进区块链与物联网融合的科普 培训:据新华网消息,日前,在区块链与物联网融合发展峰会上,中国科学院院士姚建铨说,关注区块链技术里面的大数据,跟区块链技术结合起来进行测量和检测,能更好地提升激光清洗技术。姚建铨建议,无锡今后要加快推进区块链与物联网融合的科普、培训,正确引导广大人民群众对技术的认知;同时,建立专业、权威,但又普适、成套的理论体系和标准,以此切入区块链的实际应用。[2018/9/18]
在预售和公开销售时通过SetRoot更新hash
详细原理和代码参考下面文章: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的钱包取出资产或交互合约—Mirror
使用Flashbots的有几点好处:
1)可以批量打包TX一起提交,可以自主控制打包TX的先后顺序。
2)Flashbots提交的TX不会出现在Txpool,出现在链上之后才会被大家看到。这样就提供了TX的隐秘性,所以很多DeFi量化交易平台宣传自己接入Flashbots。
3)通过Flashbotsmint失败了不会被收Gas费
Flashbots抢购我们以冷兔XRC的公售为例:
易老板发推说公售不会科学家公售,但结果是在block=14020984Block0解决战斗,全部科学家包场。
项目方发送的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发售的各种问题。
链捕手消息,亚洲数字资产金融服务集团HashKeyGroup宣布旗下的资产管理业务线已于2021年12月完成了3.6亿美元基金的首次集资。该基金将投资于使用区块链技术构建产品和服务的公司和项目.
1900/1/1 0:00:00来源:TheBlock年度研究报告编译:冰河web3实验室Web3的未来将依赖于一个跨越多个区块链的分布式、安全且不可变的分布式数据的基础层.
1900/1/1 0:00:00作者:白话区块链 今年以来,加密领域用户的目光虽然被NFT、GameFi、元宇宙等行业热点拽着走,根据TheBlockResearch分析,从今年到现在,加密领域约四分之一的融资都直接投给了DeFi,规模高达19亿美元.
1900/1/1 0:00:00来源:EOS网络基金会 概述 EOS正在凝聚社区力量共同开发生态所需的关键项目,从而进一步推动EOS生态的复苏。我们拥有才华横溢的开发人员,能够做出重大贡献的社区领袖,以及责任心和行动力都非常强的EOS网络基金会.
1900/1/1 0:00:00原文标题:《NFT抵押借贷的简单思考》 原文作者:Jiawei 文章来源:律动blockbeats 引子 说回抵押借贷,对于NFT而言,抵押显然需要承担一定的流动性成本:面对Token上涨,无法出售并获利;面对Token下跌.
1900/1/1 0:00:00作者:秦晓峰/Odaily星球日报随着?DeFi、元宇宙、NFT、GameFi?以及整个加密市场的崛起,对于数据的存储、计算、传输的请求越来越高,市场对于底层计算平台的关注也随之上升.
1900/1/1 0:00:00