
万字研报:Solana上MEV的格局演进与是非功过
原文链接:点击详情 前言 solana 已然五年,其中 Jito(solana 上 MEV 基础设施龙头)的发展不足 3 年,但市占率飞速从最初的 15% 发展到如今的 95% ,可以说,大多数的 Solana 上的 Meme 买卖交易,都得经过他! 全程无广,请读者摆好板凳,点上收藏**,让十四君深度底层原理,带你逐渐揭晓**:什么是 Jito-solana?为什么他可以2 年占满市场?Solana 对比以太坊的核心机制的差异。你的交易为什么总是被夹?Solana 未来的 MEV 格局会如何发展?1、什么是 Jito-solana?当然 Solana 上做 mev 基础设施的不只是 Jito-solana(95% 市占率的龙头),还有其他 Paladin、Deeznode、BlockRazor、BloxRoute、Galaxy、Nozomi 等等,不同切入点的厂商。本文会以核心龙头的发展历程和技术原理来展开,在后续再点评这几家的优缺和切入点。1.1、Jito 的发展时间线首先,让我们用时间线来看看他的市占发展速度的神奇之处,请关注其中的质押率以及相关伙伴。21 年底成立22 年...

Delve into the risks behind the small matter of EVM-contract classification
In the field of smart contracts, the "Ethereum Virtual Machine EVM" and its algorithms and data structures are first principles. This paper starts from why the contract should be classified, combined with what kind of malicious attacks each scenario may face, and finally gives a set of relatively secure contract classification analysis algorithm. Although the technical content is higher, it can also be used as a miscellaneous reading A look at the dark forest of games between decentralized sy...

Research report of ten thousand words: The pattern evolution and merits and demerits of MEV on Solan…
introduction solana has been five years, of which Jito (the leader of MEV infrastructure on solana) has developed less than three years, but its market share has rapidly grown from the initial 15% to 95% today. It can be said that most of the Meme trading transactions on Solana have to go through him! The whole process is not wide, please readers set up the bench, click on the collection,Let the 14 Jun depth of the underlying principle, with you gradually revealed:What is Jito-solana? Why can...

万字研报:Solana上MEV的格局演进与是非功过
原文链接:点击详情 前言 solana 已然五年,其中 Jito(solana 上 MEV 基础设施龙头)的发展不足 3 年,但市占率飞速从最初的 15% 发展到如今的 95% ,可以说,大多数的 Solana 上的 Meme 买卖交易,都得经过他! 全程无广,请读者摆好板凳,点上收藏**,让十四君深度底层原理,带你逐渐揭晓**:什么是 Jito-solana?为什么他可以2 年占满市场?Solana 对比以太坊的核心机制的差异。你的交易为什么总是被夹?Solana 未来的 MEV 格局会如何发展?1、什么是 Jito-solana?当然 Solana 上做 mev 基础设施的不只是 Jito-solana(95% 市占率的龙头),还有其他 Paladin、Deeznode、BlockRazor、BloxRoute、Galaxy、Nozomi 等等,不同切入点的厂商。本文会以核心龙头的发展历程和技术原理来展开,在后续再点评这几家的优缺和切入点。1.1、Jito 的发展时间线首先,让我们用时间线来看看他的市占发展速度的神奇之处,请关注其中的质押率以及相关伙伴。21 年底成立22 年...

Delve into the risks behind the small matter of EVM-contract classification
In the field of smart contracts, the "Ethereum Virtual Machine EVM" and its algorithms and data structures are first principles. This paper starts from why the contract should be classified, combined with what kind of malicious attacks each scenario may face, and finally gives a set of relatively secure contract classification analysis algorithm. Although the technical content is higher, it can also be used as a miscellaneous reading A look at the dark forest of games between decentralized sy...

Research report of ten thousand words: The pattern evolution and merits and demerits of MEV on Solan…
introduction solana has been five years, of which Jito (the leader of MEV infrastructure on solana) has developed less than three years, but its market share has rapidly grown from the initial 15% to 95% today. It can be said that most of the Meme trading transactions on Solana have to go through him! The whole process is not wide, please readers set up the bench, click on the collection,Let the 14 Jun depth of the underlying principle, with you gradually revealed:What is Jito-solana? Why can...

Subscribe to shisi.eth

Subscribe to shisi.eth
Share Dialog
Share Dialog


<100 subscribers
<100 subscribers
在这周,NFT 租赁市场 Double Protocol 提交的可租赁 NFT 标准“EIP-4907”通过了以太坊开发团队的最终审核,成为第 30 个 ERC 标准“Final”的状态。
让我们一起来阅读这极简的源代码,来缕清其他是如何实现NFT租赁的?
目录大纲
为什么需要租赁?
源码解读 2.1 实现原理&数据结构 2.2 设置用户 2.3 查询用户&过期时间 2.4 租赁关系的强制性设计
总结
NFT 的爆发毋庸置疑,而伴随普及引发了对其资产实用性的需求,尤其是在元宇宙和边玩边赚 (P2E) 的场景下,仅仅单纯的资产所有权并不足以支撑更多的应用玩法的诞生。
一直的痛点是供给不平衡,导致的好项目少,浮于金融玩法的韭菜项目多,既然如今web3有大量web2行业精英在涌入,也必然需要快速的新标准推出,来将创造力的供给释放。
NFT流动性的紧缺,使得他风风火火的同时也备受诟病,他之前产权一体化的金融化操作,市场各类安全问题欺诈、剽窃、钓鱼、跑路、资产被盗层出不穷。
而Eip-4907,想要解决的就是分离NFT的资产价值和使用价值,释放出NFT的市场流动性
由于Eip4907极其简单,因此对代码的解读无论是否技术同学均可来尝试理解其细节设计。
他作为 ERC-721 的扩展, EIP-4907 增加了一个变量UserInfo,让应用可以查询此NFT当前被租出去的目标地址“user”和出租时间”expires"。如果发现已经超出出租时间,则租赁关系宣告失效。
代码极为简单仅有72行,使用这个标准,就是在原来的ERC721之上新增
1个事件(用于通知链下应用称为事件)
3个方法(用于实现链上数据管理功能)
分别是
UpdateUser 事件:当NFT转移,租赁校色设置时,发出租赁用户改变的通知
setUser 方法:NFT所有者授权者可用,设置此NFTID的出租用户和过期时间
userOf 方法:任何人可用,查询此NFTID的出租用户
userExpires 方法:任何人可用,查询此NFTID的过期时间
理解ERC标准协议的最佳方式就是理解他管理数据的最底层数据结构
例如:前文【源码解读】你买的NFT到底是什么?
其实NFT只是通过2个映射(_owners,_balances),即一种字典形式的key-value对应关系的存储结构去记录数据
mapping(uint256 => address) _owners;// 记录每一个NFTID当前对应的所有者地址
mapping(address => uint256) _balances; //记录了当前所有者总计持有的NFT数量
而Eip-4907则是新增了一个数据对象UserInfo在所有权的概念之外增加“用户”的维度
数据结构简单,就意味着管理的方法实现也非常简单
设置用户仅有3个步骤
【审计】此交易的发起者其是否持有此NFTid或是有Approved自动扣款权利
【设置】设置UserInfo中用户的用户地址和到期时间
【通知】发出设置成功的UpdateUser事件
function setUser(uint256 tokenId, address user, uint64 expires) public virtual{
require(_isApprovedOrOwner(msg.sender, tokenId),"ERC721: transfer caller is not owner nor approved");
UserInfo storage info = _users[tokenId];//新增存储登记信息
info.user = user;
info.expires = expires;
emit UpdateUser(tokenId,user,expires); //发出事件通知链下应用
}
媒体处处宣传的超时自动失效,而无需二次链上交易登记失效节约gas的逻辑就在这了。
查询的逻辑很简单,按指定的NFTID查询_users的user信息即可,但他增加了,if判断,当前块的时间block.timestamp是否会超过设置的过期时间expires,所以此查询仅在时间内有效。
此处无需类似user查询时候判断是否过期,因为得知上一次过期时间,也是加快NFT用户使用率的一种方式。
function userExpires(uint256 tokenId) public view virtual returns(uint256){
return _users[tokenId].expires;//执行此函数,返回此ID的用户过期时间
}
此eip4907的协议,对标准交易方法Transfer增加了一部分内容,通过_beforeTokenTransfer实现,就是强制在进行Transfer交易转移后就删除掉这部分对用户的信息,并且发出事件通知已经用户失效了。
function _beforeTokenTransfer(address from,address to,uint256 tokenId
) internal virtual override{
super._beforeTokenTransfer(from, to, tokenId);
//当交易不是自己转自己的情况下,如果有设置“用户”则删除他
if (from != to && _users[tokenId].user != address(0)) {
delete _users[tokenId];// 删除用户信息
emit UpdateUser(tokenId, address(0), 0);// 发出事件通知已删除
}
}
没想到吧,这么快就代码讲完了,因为确实他写完了,对的,不像是之前的通过限制转移权的方法EIP-5058,见前文【EIP-5058 能否防止NFT项目方提桶跑路?】
其实他EIP-4907只是多了个变量,并称之为租赁用户而已,可以声明,但是其他应用认不认就是另一码事了,毕竟其强制性有限,转移就能强行终止出租授权
当然你或许会问,为什么这么简单反而火速成为了难得一见,且每次都能掀起一番波浪的Final标准呢?
这也就是web3的哲学:越简单,越优雅,剩下的交给共识。
我个人认可这样的哲学与趋势
web3过去爆发或是得益于金融操作,但是好的生态不能只是金融价值,还需要更有商业价值,需要更广大的用户融入于生活生产形成价值闭环,货币终究只是手段而不是目的本身
关注十四,用技术的眼光发现价值。
看到这里,帅气的你不点个赞吗?

在这周,NFT 租赁市场 Double Protocol 提交的可租赁 NFT 标准“EIP-4907”通过了以太坊开发团队的最终审核,成为第 30 个 ERC 标准“Final”的状态。
让我们一起来阅读这极简的源代码,来缕清其他是如何实现NFT租赁的?
目录大纲
为什么需要租赁?
源码解读 2.1 实现原理&数据结构 2.2 设置用户 2.3 查询用户&过期时间 2.4 租赁关系的强制性设计
总结
NFT 的爆发毋庸置疑,而伴随普及引发了对其资产实用性的需求,尤其是在元宇宙和边玩边赚 (P2E) 的场景下,仅仅单纯的资产所有权并不足以支撑更多的应用玩法的诞生。
一直的痛点是供给不平衡,导致的好项目少,浮于金融玩法的韭菜项目多,既然如今web3有大量web2行业精英在涌入,也必然需要快速的新标准推出,来将创造力的供给释放。
NFT流动性的紧缺,使得他风风火火的同时也备受诟病,他之前产权一体化的金融化操作,市场各类安全问题欺诈、剽窃、钓鱼、跑路、资产被盗层出不穷。
而Eip-4907,想要解决的就是分离NFT的资产价值和使用价值,释放出NFT的市场流动性
由于Eip4907极其简单,因此对代码的解读无论是否技术同学均可来尝试理解其细节设计。
他作为 ERC-721 的扩展, EIP-4907 增加了一个变量UserInfo,让应用可以查询此NFT当前被租出去的目标地址“user”和出租时间”expires"。如果发现已经超出出租时间,则租赁关系宣告失效。
代码极为简单仅有72行,使用这个标准,就是在原来的ERC721之上新增
1个事件(用于通知链下应用称为事件)
3个方法(用于实现链上数据管理功能)
分别是
UpdateUser 事件:当NFT转移,租赁校色设置时,发出租赁用户改变的通知
setUser 方法:NFT所有者授权者可用,设置此NFTID的出租用户和过期时间
userOf 方法:任何人可用,查询此NFTID的出租用户
userExpires 方法:任何人可用,查询此NFTID的过期时间
理解ERC标准协议的最佳方式就是理解他管理数据的最底层数据结构
例如:前文【源码解读】你买的NFT到底是什么?
其实NFT只是通过2个映射(_owners,_balances),即一种字典形式的key-value对应关系的存储结构去记录数据
mapping(uint256 => address) _owners;// 记录每一个NFTID当前对应的所有者地址
mapping(address => uint256) _balances; //记录了当前所有者总计持有的NFT数量
而Eip-4907则是新增了一个数据对象UserInfo在所有权的概念之外增加“用户”的维度
数据结构简单,就意味着管理的方法实现也非常简单
设置用户仅有3个步骤
【审计】此交易的发起者其是否持有此NFTid或是有Approved自动扣款权利
【设置】设置UserInfo中用户的用户地址和到期时间
【通知】发出设置成功的UpdateUser事件
function setUser(uint256 tokenId, address user, uint64 expires) public virtual{
require(_isApprovedOrOwner(msg.sender, tokenId),"ERC721: transfer caller is not owner nor approved");
UserInfo storage info = _users[tokenId];//新增存储登记信息
info.user = user;
info.expires = expires;
emit UpdateUser(tokenId,user,expires); //发出事件通知链下应用
}
媒体处处宣传的超时自动失效,而无需二次链上交易登记失效节约gas的逻辑就在这了。
查询的逻辑很简单,按指定的NFTID查询_users的user信息即可,但他增加了,if判断,当前块的时间block.timestamp是否会超过设置的过期时间expires,所以此查询仅在时间内有效。
此处无需类似user查询时候判断是否过期,因为得知上一次过期时间,也是加快NFT用户使用率的一种方式。
function userExpires(uint256 tokenId) public view virtual returns(uint256){
return _users[tokenId].expires;//执行此函数,返回此ID的用户过期时间
}
此eip4907的协议,对标准交易方法Transfer增加了一部分内容,通过_beforeTokenTransfer实现,就是强制在进行Transfer交易转移后就删除掉这部分对用户的信息,并且发出事件通知已经用户失效了。
function _beforeTokenTransfer(address from,address to,uint256 tokenId
) internal virtual override{
super._beforeTokenTransfer(from, to, tokenId);
//当交易不是自己转自己的情况下,如果有设置“用户”则删除他
if (from != to && _users[tokenId].user != address(0)) {
delete _users[tokenId];// 删除用户信息
emit UpdateUser(tokenId, address(0), 0);// 发出事件通知已删除
}
}
没想到吧,这么快就代码讲完了,因为确实他写完了,对的,不像是之前的通过限制转移权的方法EIP-5058,见前文【EIP-5058 能否防止NFT项目方提桶跑路?】
其实他EIP-4907只是多了个变量,并称之为租赁用户而已,可以声明,但是其他应用认不认就是另一码事了,毕竟其强制性有限,转移就能强行终止出租授权
当然你或许会问,为什么这么简单反而火速成为了难得一见,且每次都能掀起一番波浪的Final标准呢?
这也就是web3的哲学:越简单,越优雅,剩下的交给共识。
我个人认可这样的哲学与趋势
web3过去爆发或是得益于金融操作,但是好的生态不能只是金融价值,还需要更有商业价值,需要更广大的用户融入于生活生产形成价值闭环,货币终究只是手段而不是目的本身
关注十四,用技术的眼光发现价值。
看到这里,帅气的你不点个赞吗?

No activity yet