
万字研报: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...
Share Dialog
Share Dialog

Subscribe to shisi.eth

Subscribe to shisi.eth
2022年6月24日,由Layer1公链Harmony开发的,以太坊与Harmony间的资产跨链桥Horizon遭到攻击,损失金额约为1亿美元。 这到底是怎么回事? 虽然黑客攻击发生的当天就能断定属于“公证人私钥被盗”,既然贵客点开,不妨来展开聊聊,放心,有少数硬核源码但全篇讲白话,通俗易懂!
跨链桥分类与技术原理
Horizon合约审计报告解读
被盗原因复盘分析与总结
跨链,顾名思义是不同区块链之间资产信息如何转移的问题,也称之为互操作性,而目前有超50种跨链解决方案,其方案定义是多种多样的。

概括来讲,要实现资产价值在另一条链上恒定,有两种大路径按”价格”锚定和按”物理”锚定 乍一听复杂,其实按价格锚定就是在各公链上的USDT这种稳定币,他与美元1:1锚定,因此也属于跨链资产的一种。
抛开各类稳定币更直观一种跨链方案则是物理锚定,即流动性总量是恒定的,其方案也很多(公证人、侧链、中继链、哈希锁定等),咱们重点讲公证人模式。
公证人模式依据”公证人是谁“有三种区分:
交易所做担保型:比如币安提币,各种买卖均在中心化交易所进行,提币才兑现
流动性池桥接型:比如bridge.connext,o3swap
合约锁定铸造型:各类官方桥通用方案polygon/arbitrum/avax/celer,以及今天的主角harmony 锁定铸造型由于产生的是包装代币,因此往往是各公链具有一定公信力的官方桥才采用。
以上均各有优缺,或是怕交易所跑路,或是流动性枯竭,或是公证人私钥被盗,目前并没有完美实现不可能三角的跨链方案出现。 如下图是o3swap的流动性总量和交易量趋势,近半年已然跌去90%,或许是因为去年8月的质押资产被盗案导致不断式微吧。

Harmony开发的Horizon桥是非常标准的公证人锁定铸造型。 为何锁定铸造可以被信任呢? 是由于区块链上的合约具有不可更改特性,如果不留后门的话,甚至一旦部署将无任何方式可以影响他的运作,正如无聊猿官方自己将所有权限转入0地址,放弃所有权后,无任何方式可以进一步铸造出新的猴子,其流动性总量将被锁死。 同理的,不同公链之间虽然合约不同,但如果在以太坊上用合约锁住10个ETH,在另一条公链上也以同样有公信力的合约,来释放10个wETH,这样一来其实全局上流动性是固定的,只要wETH可以随时转回以太坊并兑换得到ETH,那wETH就可以被认为是具有了ETH的等同价值。 因此其核心的操作就是
Lock-and-Mint:A链锁定代币流动性 + B链发行等量的可流通包装代币
Burn-and-Release:B链销毁包装代币 + A链解锁等量基础代币的流动性
公证人:负责发现A链Lock锁定事件后,去B链Mint铸造出锚定代币,转入目标地址。

有锁定自然衡量各个跨链桥规模的最佳方式就是TVL(总价值锁定),可以显著看到6.24之后,Horizon的TVL瞬间跌入谷底,当安全事故来临再多的TVL也就如流水一般,蜂拥而至也一哄而散。

一次事故对很多Web3项目而言,做不到100%安全就基本等于0的价值,因此为了检查合约的安全性,一般会测试模拟多种攻击场景,通过checklist进行安全审查,以确保合约安全
开发或许几天而已,但要足够可靠则流程多且昂贵(一般报价按时间衡量10W刀起步)
审计报告的核心信息是:风险名称、漏洞描述、风险等级、安全建议、修复状态及审计结果等 而Horizon桥的合约审计报告是老牌审计公司PeckShield进行的,发现了5个漏洞风险
是不是很难想象区区3行代码都能有bug?

其实锁定token的逻辑很简单,就是用户制定金额和目标地址,在授权代扣权限后,合约将USDT转入此合约锁定,并发出一个locked事件,让链下的公证人可以得知资产已经被锁定了。
function lockToken(uint256 amount,address recipient)public{
ethToken_.safeTransferFrom(msg.sender,address(this),amount);
emit Locked(address(ethToken_),msg.sender,amount,recipient);
}
但PeckShield审计发现LockToken锁定函数对通缩型token是不兼容的,用户传入的amount如果是100,自然Locked事件发出的是成功锁定100个 但是如果是”通缩型“的token呢?进行safeTransferFrom 的过程中amount变少了怎么办?这就会出现锁仓额低于B链释放额的风险 可看前文:【源码解读】你买的NFT到底是什么? 标准协议中都会以虚函数为钩子的方法,在转移前后增加逻辑,有些token则可能在这里_beforeTokenTransfer增加交易损耗,从而控制流通量实现通缩。 当然harmony最后肯定是修改优化了,采用转移前后两次读取balance的方法来算出实际锁定额。
还是这段代码,是不是很难想象区区3行代码不仅有BUG,而且有2个!

可看前文:【源码解读】你买的NFT到底是什么?
为了安全的Mint,其实标准协议是禁止向0地址mint的,如果lockToken 的时候目的转入地址recipient 填写为0地址,则会B链上铸造失败,造成锁入此合约但无跨链效果,如果此金库合约没有预留合适的转出方法则会永久锁定。
铸造解锁等函数的调用者为单签账户 在原先程序里,Mint铸造资产unlock解锁释放,都是只能指定公证人进行。 这也正是本次中招的原因,harmony是最终将公证人改了多签钱包,但只不过只改成3个,其中2个私钥被盗就可以横行无忌。

怎么说呢,你说他改了吧总觉得有些敷衍,甚至黑客盗出资产的时候,harmony桥依旧在运作中,意味着他的私钥甚至是明文保存被黑客拷贝走的

通过合约审计报告的解读可以发现,原来跨链公证人的权限如此之大,只有他可以进行铸造和释放,而黑客事件发生的时候,看他交易操作就能分辨出来被盗原因
区块链浏览器使用指南见:当我们在看Etherscan的时候,到底在看什么?
攻击者钱包
wallet1:0x0d043128146654C7683Fbf30ac98D7B2285DeD00
wallet2:0x9E91ae672E7f7330Fc6B9bAb9C259BD94Cd08715
wallet3:0x58f4baccb411acef70a5f6dd174af7854fc48fa9 跨链桥相关地址
MultiSigWallet:0x715cdda5e9ad30a0ced14940f9997ee611496de6
ETH的金库地址:0xF9Fb1c508Ff49F78b60d3A96dea99Fa5d7F3A8A6
ERC20金库地址:0x2dccdb493827e15a5dc8f8b72147e6c4a5620857
被盗公证人地址:0x812d8622c6f3c45959439e7ede3c580da06f8f25
盗取13100个Ether,详情见交易Link(附录引用)

执行的是确认某个交易ID(多签投票中的一环) 公证人确认->等待确认的公证人数量达标->解锁金库资产转入目标地址

在多签合约合约代码里逻辑可以看出,这个函数会进行notConfirmed 判断,因此只有系统之前设置过的公证人地址可以调用 后续会执行executeTransaction 方法,再调用 isConfirmed 方法做判断,如果认证这笔交易的管理员数量达到2位,就会内部调用EthManager 合约的 unlockEth 方法,最终将 ETH发送至攻击者钱包。 至此很明显,除了私钥被盗,如此简单明了的合约不会有什么特别的犯错可能性了。 顺道看了下现在跨链桥的ETH金库的余额还有94个Eth,ERC20的金库还有30W刀的各类代币
虽然马上harmony开出了100W美金,提出黑客归还资产并承诺不追究责任,但即使黑客归还且官方不追究也会有其他社会团队做公诉,因此黑客的最佳路线只有想尽一切办法为被盗资产脱敏。 截至 6 月 29 日,攻击者已将大约 35,000 个以太坊(约合 3900 万美元)转移到 Tornado Cash,这是一种常见的混币器,虽然区块链是账本公开,任何交易均可被追踪,但是混币器犹如为100个人集合交易,并不能准确得出哪笔资金最终落到哪个人手里。
harmony对多签的实现是每笔投票均上链,或许是出于成本的考虑所以他的公证人只有3位,当初的降本优化造成了满盘皆输
要优化可采用分布式托管的方法,托管给MPC (Multi-Party Computation)公证人网络,不超过一定比例的节点同时作恶即可保证安全
即使公证人稀少也可以参考雪崩桥采用的SGX可信计算技术

本质上还是对安全重要性的淡漠,在跨链桥的开源代码中写的执行计划,2年前就实现了可用的链桥,却迟迟不进一步优化。


欢迎你从后台提交技术问题
关注十四,用技术视角带给你价值

2022年6月24日,由Layer1公链Harmony开发的,以太坊与Harmony间的资产跨链桥Horizon遭到攻击,损失金额约为1亿美元。 这到底是怎么回事? 虽然黑客攻击发生的当天就能断定属于“公证人私钥被盗”,既然贵客点开,不妨来展开聊聊,放心,有少数硬核源码但全篇讲白话,通俗易懂!
跨链桥分类与技术原理
Horizon合约审计报告解读
被盗原因复盘分析与总结
跨链,顾名思义是不同区块链之间资产信息如何转移的问题,也称之为互操作性,而目前有超50种跨链解决方案,其方案定义是多种多样的。

概括来讲,要实现资产价值在另一条链上恒定,有两种大路径按”价格”锚定和按”物理”锚定 乍一听复杂,其实按价格锚定就是在各公链上的USDT这种稳定币,他与美元1:1锚定,因此也属于跨链资产的一种。
抛开各类稳定币更直观一种跨链方案则是物理锚定,即流动性总量是恒定的,其方案也很多(公证人、侧链、中继链、哈希锁定等),咱们重点讲公证人模式。
公证人模式依据”公证人是谁“有三种区分:
交易所做担保型:比如币安提币,各种买卖均在中心化交易所进行,提币才兑现
流动性池桥接型:比如bridge.connext,o3swap
合约锁定铸造型:各类官方桥通用方案polygon/arbitrum/avax/celer,以及今天的主角harmony 锁定铸造型由于产生的是包装代币,因此往往是各公链具有一定公信力的官方桥才采用。
以上均各有优缺,或是怕交易所跑路,或是流动性枯竭,或是公证人私钥被盗,目前并没有完美实现不可能三角的跨链方案出现。 如下图是o3swap的流动性总量和交易量趋势,近半年已然跌去90%,或许是因为去年8月的质押资产被盗案导致不断式微吧。

Harmony开发的Horizon桥是非常标准的公证人锁定铸造型。 为何锁定铸造可以被信任呢? 是由于区块链上的合约具有不可更改特性,如果不留后门的话,甚至一旦部署将无任何方式可以影响他的运作,正如无聊猿官方自己将所有权限转入0地址,放弃所有权后,无任何方式可以进一步铸造出新的猴子,其流动性总量将被锁死。 同理的,不同公链之间虽然合约不同,但如果在以太坊上用合约锁住10个ETH,在另一条公链上也以同样有公信力的合约,来释放10个wETH,这样一来其实全局上流动性是固定的,只要wETH可以随时转回以太坊并兑换得到ETH,那wETH就可以被认为是具有了ETH的等同价值。 因此其核心的操作就是
Lock-and-Mint:A链锁定代币流动性 + B链发行等量的可流通包装代币
Burn-and-Release:B链销毁包装代币 + A链解锁等量基础代币的流动性
公证人:负责发现A链Lock锁定事件后,去B链Mint铸造出锚定代币,转入目标地址。

有锁定自然衡量各个跨链桥规模的最佳方式就是TVL(总价值锁定),可以显著看到6.24之后,Horizon的TVL瞬间跌入谷底,当安全事故来临再多的TVL也就如流水一般,蜂拥而至也一哄而散。

一次事故对很多Web3项目而言,做不到100%安全就基本等于0的价值,因此为了检查合约的安全性,一般会测试模拟多种攻击场景,通过checklist进行安全审查,以确保合约安全
开发或许几天而已,但要足够可靠则流程多且昂贵(一般报价按时间衡量10W刀起步)
审计报告的核心信息是:风险名称、漏洞描述、风险等级、安全建议、修复状态及审计结果等 而Horizon桥的合约审计报告是老牌审计公司PeckShield进行的,发现了5个漏洞风险
是不是很难想象区区3行代码都能有bug?

其实锁定token的逻辑很简单,就是用户制定金额和目标地址,在授权代扣权限后,合约将USDT转入此合约锁定,并发出一个locked事件,让链下的公证人可以得知资产已经被锁定了。
function lockToken(uint256 amount,address recipient)public{
ethToken_.safeTransferFrom(msg.sender,address(this),amount);
emit Locked(address(ethToken_),msg.sender,amount,recipient);
}
但PeckShield审计发现LockToken锁定函数对通缩型token是不兼容的,用户传入的amount如果是100,自然Locked事件发出的是成功锁定100个 但是如果是”通缩型“的token呢?进行safeTransferFrom 的过程中amount变少了怎么办?这就会出现锁仓额低于B链释放额的风险 可看前文:【源码解读】你买的NFT到底是什么? 标准协议中都会以虚函数为钩子的方法,在转移前后增加逻辑,有些token则可能在这里_beforeTokenTransfer增加交易损耗,从而控制流通量实现通缩。 当然harmony最后肯定是修改优化了,采用转移前后两次读取balance的方法来算出实际锁定额。
还是这段代码,是不是很难想象区区3行代码不仅有BUG,而且有2个!

可看前文:【源码解读】你买的NFT到底是什么?
为了安全的Mint,其实标准协议是禁止向0地址mint的,如果lockToken 的时候目的转入地址recipient 填写为0地址,则会B链上铸造失败,造成锁入此合约但无跨链效果,如果此金库合约没有预留合适的转出方法则会永久锁定。
铸造解锁等函数的调用者为单签账户 在原先程序里,Mint铸造资产unlock解锁释放,都是只能指定公证人进行。 这也正是本次中招的原因,harmony是最终将公证人改了多签钱包,但只不过只改成3个,其中2个私钥被盗就可以横行无忌。

怎么说呢,你说他改了吧总觉得有些敷衍,甚至黑客盗出资产的时候,harmony桥依旧在运作中,意味着他的私钥甚至是明文保存被黑客拷贝走的

通过合约审计报告的解读可以发现,原来跨链公证人的权限如此之大,只有他可以进行铸造和释放,而黑客事件发生的时候,看他交易操作就能分辨出来被盗原因
区块链浏览器使用指南见:当我们在看Etherscan的时候,到底在看什么?
攻击者钱包
wallet1:0x0d043128146654C7683Fbf30ac98D7B2285DeD00
wallet2:0x9E91ae672E7f7330Fc6B9bAb9C259BD94Cd08715
wallet3:0x58f4baccb411acef70a5f6dd174af7854fc48fa9 跨链桥相关地址
MultiSigWallet:0x715cdda5e9ad30a0ced14940f9997ee611496de6
ETH的金库地址:0xF9Fb1c508Ff49F78b60d3A96dea99Fa5d7F3A8A6
ERC20金库地址:0x2dccdb493827e15a5dc8f8b72147e6c4a5620857
被盗公证人地址:0x812d8622c6f3c45959439e7ede3c580da06f8f25
盗取13100个Ether,详情见交易Link(附录引用)

执行的是确认某个交易ID(多签投票中的一环) 公证人确认->等待确认的公证人数量达标->解锁金库资产转入目标地址

在多签合约合约代码里逻辑可以看出,这个函数会进行notConfirmed 判断,因此只有系统之前设置过的公证人地址可以调用 后续会执行executeTransaction 方法,再调用 isConfirmed 方法做判断,如果认证这笔交易的管理员数量达到2位,就会内部调用EthManager 合约的 unlockEth 方法,最终将 ETH发送至攻击者钱包。 至此很明显,除了私钥被盗,如此简单明了的合约不会有什么特别的犯错可能性了。 顺道看了下现在跨链桥的ETH金库的余额还有94个Eth,ERC20的金库还有30W刀的各类代币
虽然马上harmony开出了100W美金,提出黑客归还资产并承诺不追究责任,但即使黑客归还且官方不追究也会有其他社会团队做公诉,因此黑客的最佳路线只有想尽一切办法为被盗资产脱敏。 截至 6 月 29 日,攻击者已将大约 35,000 个以太坊(约合 3900 万美元)转移到 Tornado Cash,这是一种常见的混币器,虽然区块链是账本公开,任何交易均可被追踪,但是混币器犹如为100个人集合交易,并不能准确得出哪笔资金最终落到哪个人手里。
harmony对多签的实现是每笔投票均上链,或许是出于成本的考虑所以他的公证人只有3位,当初的降本优化造成了满盘皆输
要优化可采用分布式托管的方法,托管给MPC (Multi-Party Computation)公证人网络,不超过一定比例的节点同时作恶即可保证安全
即使公证人稀少也可以参考雪崩桥采用的SGX可信计算技术

本质上还是对安全重要性的淡漠,在跨链桥的开源代码中写的执行计划,2年前就实现了可用的链桥,却迟迟不进一步优化。


欢迎你从后台提交技术问题
关注十四,用技术视角带给你价值

<100 subscribers
<100 subscribers
No activity yet