关于 Uniswap V3 的计算
机制改变Uniswap V3 采用了集中流动性(Concentrated Liquidity)。用户可以为自己的流动性设置一个价格区间。超出这个价格区间或低于这个价格区间,所有代币将被转换成两者中不值钱的那个。这一步转化造成的损失是无常损失。一个价格区间中的最小间隔叫 Tick,为 0.01%。 符号Swap添加流动性相关阅读:Uniswap V3 白皮书编辑于昨天 14:30文章被以下专栏收录* Blockchian;unblock256.com
矿工可提取价值
日渐增多的 MEV 可能导致了高昂的 Gas Fee在*上一期*的周报中我们为大家介绍了 Gas Fee , Gas Fee 越高,交易就越可能被矿工打包。本期我们就来讨论一下这种打包机制所产生的问题,Miner-extractable Value(MEV)。 MEV 指的是矿工重新排序交易后可以获得的利润。在实际情况中, MEV 可能并不是矿工推动。有可能是我付出了一个很高的 Gas Fee ,希望矿工优先打包我的交易。 希望矿工优先打包交易的原因有以下几种:抢跑(Frontrunning)主流的 DEX 都支持滑点,也就是成交价格的区间,假设当前下单价格 100 块,滑点是 5%,这意味着成交价格会在 95 - 105 之间。 宽松的价格区间让套利者有机可乘。 假如一个套利者在内存池中(没有打包的交易都会在内存池中)看到一笔大额买单(币价即将上涨)。根据 AMM 的模型,只要有买单成交,代币价格就会上升。因此,套利者可以通过高额的 Gas Fee 或者贿赂矿工来插入一笔买单,抢在代币价格上涨之前完成买入。套利者的抢跑行为将导致后续的那一笔大额买单以以更高的价格成交。 其实在现...
流动性挖矿(Yield Farming)
⚠️ 以下为非投资建议 (No Financial Advise) 内容,流动性挖矿存在投资风险。概念流动性挖矿是 AMM 协议下的提供流动性的更进一步,它是通过锁定流动性来获取代币奖励。 如何获取收益*上期*我们讲到在 AMM 协议下,流动性提供者可以通过从交易手续费中获取一定收益。流动性挖矿与单纯的提供流动性(LP)略有不同,它是将组好的 LP,注入到资金池中(矿池),以获取额外的不同的代币支付奖励。用于奖励的代币大多为矿场的代币。以 BSC 上的 PancakeSwap 的 Farm 作为例子,这是一个 $BUSD - $BNB 矿池,在 Stake(质押、注入)前,我们需要先为 $BUSD - $BNB 交易对提供流动性以及 Approve(授权使用代币)。 LP 组好后,我们就可以将我们的 LP Stake 进矿池,开始挖矿。 一段时间后,我们可以获得 $CAKE (PancakeSwap 的平台代币)作为奖励,通过 Harvest(收成)我们就可以把 $CAKE 收入囊中。与此同时,我们的 $BUSD - $BNB 还在努力的工作,持续产出 $CAKE。 又过了一段...
关于 Uniswap V3 的计算
机制改变Uniswap V3 采用了集中流动性(Concentrated Liquidity)。用户可以为自己的流动性设置一个价格区间。超出这个价格区间或低于这个价格区间,所有代币将被转换成两者中不值钱的那个。这一步转化造成的损失是无常损失。一个价格区间中的最小间隔叫 Tick,为 0.01%。 符号Swap添加流动性相关阅读:Uniswap V3 白皮书编辑于昨天 14:30文章被以下专栏收录* Blockchian;unblock256.com
矿工可提取价值
日渐增多的 MEV 可能导致了高昂的 Gas Fee在*上一期*的周报中我们为大家介绍了 Gas Fee , Gas Fee 越高,交易就越可能被矿工打包。本期我们就来讨论一下这种打包机制所产生的问题,Miner-extractable Value(MEV)。 MEV 指的是矿工重新排序交易后可以获得的利润。在实际情况中, MEV 可能并不是矿工推动。有可能是我付出了一个很高的 Gas Fee ,希望矿工优先打包我的交易。 希望矿工优先打包交易的原因有以下几种:抢跑(Frontrunning)主流的 DEX 都支持滑点,也就是成交价格的区间,假设当前下单价格 100 块,滑点是 5%,这意味着成交价格会在 95 - 105 之间。 宽松的价格区间让套利者有机可乘。 假如一个套利者在内存池中(没有打包的交易都会在内存池中)看到一笔大额买单(币价即将上涨)。根据 AMM 的模型,只要有买单成交,代币价格就会上升。因此,套利者可以通过高额的 Gas Fee 或者贿赂矿工来插入一笔买单,抢在代币价格上涨之前完成买入。套利者的抢跑行为将导致后续的那一笔大额买单以以更高的价格成交。 其实在现...
流动性挖矿(Yield Farming)
⚠️ 以下为非投资建议 (No Financial Advise) 内容,流动性挖矿存在投资风险。概念流动性挖矿是 AMM 协议下的提供流动性的更进一步,它是通过锁定流动性来获取代币奖励。 如何获取收益*上期*我们讲到在 AMM 协议下,流动性提供者可以通过从交易手续费中获取一定收益。流动性挖矿与单纯的提供流动性(LP)略有不同,它是将组好的 LP,注入到资金池中(矿池),以获取额外的不同的代币支付奖励。用于奖励的代币大多为矿场的代币。以 BSC 上的 PancakeSwap 的 Farm 作为例子,这是一个 $BUSD - $BNB 矿池,在 Stake(质押、注入)前,我们需要先为 $BUSD - $BNB 交易对提供流动性以及 Approve(授权使用代币)。 LP 组好后,我们就可以将我们的 LP Stake 进矿池,开始挖矿。 一段时间后,我们可以获得 $CAKE (PancakeSwap 的平台代币)作为奖励,通过 Harvest(收成)我们就可以把 $CAKE 收入囊中。与此同时,我们的 $BUSD - $BNB 还在努力的工作,持续产出 $CAKE。 又过了一段...

Subscribe to un.Block

Subscribe to un.Block
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers
这周黑客攻击了 PolyNetwork,并盗取了有史以来最大的金额,约 6 亿美金。邻近周末的时候,黑客几乎归还了全部资产。
相信读过我们上一期周报的读者对于 PolyNetwork 不会陌生。O3 Swap 跨链部分的实现就得益于 PolyNetwork 这样的跨链桥。本次 O3 Swap 也遭到了黑客攻击的影响。
关于 PolyNetwork 的架构,可以参考*上一期*。
简单的来说,这一次的问题在于黑客成功的让 PolyNetwork 的合约执行了更换管理员(Keeper)的操作。黑客将管理员更换为自己后,从多签钱包中盗取了资金。
具体的来说,这次攻击涉及到两个合约,EthCrossChainData 和 EthCrossChainManager 。其中 EthCrossChainManager 为 EthCrossChainData 的管理员。
此次攻击中,核心是 EthCrossChainManager.verifyHeaderAndExecuteTx() 。此函数会验证跨链交易的真实性,并调用内部函数 EthCrossChainManager._executeCrossChainTx() 来执行跨链交易。黑客通过精心构造的数据,使 EthCrossChainManager 执行了更换管理员(Keeper)的交易。
Solidity 通过函数名称哈希的前四位来鉴别函数。
bytes4(keccak256(abi.encodePacked(_method,"(bytes,bytes,uint64)")))
也就是说攻击者可以通过输入不同的 _method 来调整哈希的前四位,直到这四位字符与他想要调用的函数哈希的前四位一致即可。通过这样的哈希碰撞,攻击者使 EthCrossChainManager 执行了更换 管理员(Keeper)的交易。
大部分时候我们读的都是 Farming,代币之类的代码,很少会看跨链的代码。因此这一次安全事件对我们来说是全新的体验,攻击者利用了一个从未被利用过的漏洞思路。这次安全事件揭示了跨链合约对于权限管理的疏忽。我们应该分离重要权限,或者限制用户调用敏感函数。

在黑客攻击发生后,有用户在发给黑客的交易中提醒他 Tether 已经冻结了他的 USDT 资产。为此黑客打赏了这名用户 13.37 eth($42k)。在这之后,无数的用户给黑客发送各种消息,希望获得打赏。这名获得打赏的用户或许为了规避风险,将这笔钱尽数捐赠给各个机构。
这名黑客最后归还了盗窃的资产,或许是因变现困难,又或者各个安全公司多多少少从他的蛛丝马迹中推断出了一些关键信息。
相关阅读:
这周黑客攻击了 PolyNetwork,并盗取了有史以来最大的金额,约 6 亿美金。邻近周末的时候,黑客几乎归还了全部资产。
相信读过我们上一期周报的读者对于 PolyNetwork 不会陌生。O3 Swap 跨链部分的实现就得益于 PolyNetwork 这样的跨链桥。本次 O3 Swap 也遭到了黑客攻击的影响。
关于 PolyNetwork 的架构,可以参考*上一期*。
简单的来说,这一次的问题在于黑客成功的让 PolyNetwork 的合约执行了更换管理员(Keeper)的操作。黑客将管理员更换为自己后,从多签钱包中盗取了资金。
具体的来说,这次攻击涉及到两个合约,EthCrossChainData 和 EthCrossChainManager 。其中 EthCrossChainManager 为 EthCrossChainData 的管理员。
此次攻击中,核心是 EthCrossChainManager.verifyHeaderAndExecuteTx() 。此函数会验证跨链交易的真实性,并调用内部函数 EthCrossChainManager._executeCrossChainTx() 来执行跨链交易。黑客通过精心构造的数据,使 EthCrossChainManager 执行了更换管理员(Keeper)的交易。
Solidity 通过函数名称哈希的前四位来鉴别函数。
bytes4(keccak256(abi.encodePacked(_method,"(bytes,bytes,uint64)")))
也就是说攻击者可以通过输入不同的 _method 来调整哈希的前四位,直到这四位字符与他想要调用的函数哈希的前四位一致即可。通过这样的哈希碰撞,攻击者使 EthCrossChainManager 执行了更换 管理员(Keeper)的交易。
大部分时候我们读的都是 Farming,代币之类的代码,很少会看跨链的代码。因此这一次安全事件对我们来说是全新的体验,攻击者利用了一个从未被利用过的漏洞思路。这次安全事件揭示了跨链合约对于权限管理的疏忽。我们应该分离重要权限,或者限制用户调用敏感函数。

在黑客攻击发生后,有用户在发给黑客的交易中提醒他 Tether 已经冻结了他的 USDT 资产。为此黑客打赏了这名用户 13.37 eth($42k)。在这之后,无数的用户给黑客发送各种消息,希望获得打赏。这名获得打赏的用户或许为了规避风险,将这笔钱尽数捐赠给各个机构。
这名黑客最后归还了盗窃的资产,或许是因变现困难,又或者各个安全公司多多少少从他的蛛丝马迹中推断出了一些关键信息。
相关阅读:
No activity yet