木星链 木星链
Ctrl+D收藏木星链
首页 > 币安下载 > 正文

GAS:一文简析捕获Synthetix MEV的详细过程

作者:

时间:1900/1/1 0:00:00

来源|?bertcmiller

请看由EmGithub提供的rawsAssetsOracle

请看由EmGithub提供的rawdYdXLiquidator.sol

我花了大量时间尝试最小化我的gas消耗。很多我的设计选择都是以此为依据。关于这份合约的策略,有几点需要注意

我没有发送很多单独偿还和兑换的交易,相反,我选择把多笔偿还打包在一个交易里,这使得我的固定gas开销可以在多笔偿还里分摊,由此提高我的交易捆的竞争力。

我需要以最佳方式把ETH兑换成USDC再兑换成sUSD,并需要决定是在有函数exactInput还是exactOutput的Uniswapv3上交易。无论我怎么做都会在某个地方产生滑点,因此我选择有函数exactOutput的,以避免调用balanceOf。

在这些交易的精确性和gas效率之间存在折衷。只要我能偿还我的闪电贷,缺乏精确性也没什么问题,而且因为我要在gas效率上竞争,我选择了对它优化。

还有一些“战术上”的东西需要注意:

对所有东西的批准都前向负载到我的合约里的构建函数。这样,我可以在部署的时候支付开销,并减少执行时使用的gas。

加密基础设施公司Prime Trust裁员三分之一:金色财经报道,据两名知情人士透露,加密基础设施公司Prime Trust周二裁员三分之一。本次裁员主要集中在通信和合规部门,目的是为了削减成本。上周,Prime Trust表示将在1月31日前暂停在美国德克萨斯州的业务,而此前它已撤回了该州汇款许可证(MTL)的申请。去年11月,Prime Trust首席执行官Tom Pageler被解雇。Prime Trust创立于2016年,总部位于美国内华达州拉斯维加斯,主要为其他加密公司提供加密货币支付、托管和合规服务。[2023/1/31 11:37:45]

我不从我的账户烧毁gastoken,而是从我的合约烧毁,同样是为了提高gas效率。

函数名称都是指定的,它们的函数选择器的前导符为0x,使用函数选择器也能稍微减少gas的使用。

与直接添加require语句相比,函数修改器需要消耗稍微多一点gas。

这份合约还有一些可以被优化的方法,例如使用gas费用而不用coinbase转账。

0xSisyphus非常慷慨提出给我借ETH,我就不用使用闪电贷了,这能大大节省gas。但随着时间推移,大额的贷款都还钱了,因此总的机会就减少了。我决定不接受0xSisyphus借的钱,因为机会不再大到使这样做是明智的。

数据:以太坊桥TVL跌至236亿美元:金色财经报道,Dune Analytics数据显示,以太坊桥当前TVL跌至236亿美元,30日跌幅-13.8%,其中锁仓量最高的5个桥分别是Polygon Bridges(31.28亿美元)、Arbitrum Bridges(13.31亿美元)、Optimism Bridges(9.28亿美元)、Avalanche Bridge(54.18亿美元)、Fantom Anyswap Bridge(1.8亿美元)。[2022/12/4 21:21:25]

总结:在这个阶段,我创建了一份智能合约,以执行捕获可得的MEV机会。要做到这点,需要认真思考正确的策略,以及如何最小化gas的使用。这份合约是经过多次迭代开发出来的,同时我进行数据上的工作,还把它放在了一个测试环境(Hardhat)里。

偿还MEV和优化gas价格的经济学

有了一份精心设计的合约和对机会的深入了解,我需要改进我实现这个机会的策略。回顾一下,Flashbot的MEV-Geth客户端能有效运行竞拍,其中gas价格最高的交易捆胜出,会被打包到链上。这一重要事实意味着,我需要最大化我的交易捆的gas价格,而不是我支付的ETH总额。

以太坊信标链验证者数量突破46万,总质押量超1550万枚ETH:金色财经报道,据以太坊官方网站最新数据显示,当前以太坊信标链验证者总数量已突破46万,本文撰写时为460,079个。此外,以太坊总质押量达到15,582,383枚ETH,按照当前ETH价格计算,质押ETH总价值已超过250亿美元。[2022/11/5 12:19:52]

记住了这点,并使用我之前收集到的数据,我制作了一个电子表格来优化我的gas价格。我的合约既有固定的gas开销,也有可变的gas开销。固定的gas开销用于取出闪电贷和做兑换。可变的gas开销来自我想要偿还的贷款数。我很自然地认为在某一点上,偿还一笔贷款的边际收益将低于gas开销。我运行了几次测试,以得出实际数字。以下是我的结果:

请注意,这个结果有点令人惊讶——仅偿还前4笔(共30笔)的sUSD贷款是最省gas的。此后的每笔贷款都会产生更多的整体利润,但会降低我的交易捆的gas价格,并降低其竞争力。如果有其他人试图一次性偿还前10笔sUSD贷款,它们的gas消耗效率会降低接近30%!

考虑到未偿的sETH贷款更少了,只做sUSD贷款而不把sUSD和sETH合并到一笔交易是最合理的。因此,潜在的回报更少了,支付给矿工的钱也更少了,这使得它们的gas效率相对较低。看到这些发现,我不禁笑了。如果其他人贪婪,一下偿还了所有的贷款,或很懒惰,分开偿还,那么我就会赢。

a16z普通合伙人Krishnan:“临时帮助一下”马斯克:金色财经报道,a16z普通合伙人Sriram Krishnan在社交媒体上发布了一张来自Twitter旧金山办事处的照片,并写道他正在与其他一些“伟大的人在一起临时帮助一下Elon Musk”,Sriram Krishnan补充称他和a16z相信Twitter是一家非常重要的公司,可以对世界产生巨大影响,而Elon Musk是实现这一目标的人。目前尚不清楚Sriram Krishnan和a16z将在Twitter公司扮演什么角色,他本人也拒绝对此事做进一步置评。(decrypt)[2022/11/1 12:04:31]

然而,其他的贷款还在那里,且偿还起来也是有利可图!我再次尝试优化我的gas价格,发现如果我偿还前4笔sUSD贷款,接下来最省gas的做法是一并偿还后6笔最大的sUSD贷款,再分别偿还最大的两笔sETH贷款。此外,假设我赢了,我可以使用从之前的交易捆中获利的ETH,而不再需要闪电贷了。

Flashbots竞拍和我的交易捆排序策略

重复一下情况:我既要在gas效率上竞争,又希望通过偿还每笔贷款来最大化我的收益。最佳策略是在每个交易捆中提交几笔偿还,分几个交易捆进行。这些交易捆会在Flashbots竞拍中被各自评估。然而,每笔交易都取决于来自pDAO的交易,是它使得贷款可以被任何人偿还。

Coinbase盘前上涨近4%:8月8日消息,加密货币交易所Coinbase(COIN.O)盘前上涨近4%。上周全球最大资管公司贝莱德(BLK.N)宣布与Coinbase达成合作关系,为机构客户提供比特币的相关服务。[2022/8/8 12:09:53]

如果pDAO交易不在交易捆里,那么该交易捆就会失败。但如果我的每个交易捆里都有pDAO交易,那么只有一个交易捆会成功。也就说,在一个交易捆被成功打包后,其他所有的都是无效的,因为它们会试图对pDAO交易重复打包。因此,我需要找到方法使得仅在我的第一个交易捆里发送pDAO交易,但同时确保我的其他交易捆不会因为它们没有pDAO交易而失败和被扔掉。

解决方案在于Flashbots竞拍的一个细微之处。在搜索器开始对竞拍使用“把戏”,降低交易捆合并后的矿工费用,Flashbots实行两轮的模拟。首先,所有的交易捆都被单独进行模拟,得出它们的gas价格并检查是否会失败。在第二轮,成功的交易捆会被按照gas价格排序,并再次进行模拟,以找出前后不一致的交易捆,确保没有交易捆的gas价格是低于预期的。除非你想这样做,否则你可能永远不会有一个交易捆是gas价格在合并后是降低了的。

我意识到我可以做上述搜索器相反的事:我的交易捆不是支付比预期更少的gas费,它们会在第二轮模拟中支付更多。为了做到这点,我将如预期般在第一个交易捆里打包pDAO交易,但要对剩余的交易捆做额外检查。这些交易捆将推断它们将会在第几“轮”模拟,然后相应改变它们的执行。如果它们在“第一轮”,它们将不会偿还任何贷款——因为它们尝试偿还的话会失败——然后无论如何都给矿工支付费用,以获得高的gas价格,通过第一轮的模拟。

通过了第一轮模拟后,这些交易捆将在第二轮模拟中跟在有pDAO交易的那个交易捆后面。到了这步,它们就能成功偿还贷款了。此外,这些交易捆的gas价格会比竞拍预期的更高,而不是更低,因此在这里改变执行不是问题。

我是如何确定我的交易捆是在哪一“轮”的呢?通过看我合约的余额。如果在区块的早期(即在前一个交易捆)我已经成功偿还贷款了,那么我的余额应该增加了,因为这样做能从中获得收益。因此,我增加了一个条件来检查我是否获得任何WETH收益,如果有,则继续偿还贷款。这在测试中是成功的。

总结:这个阶段还是关于策略。我使用早期得到的数据、合约和测试环境来思考我要竞争获得的MEV机会的经济学逻辑,以及最优策略会是什么。通过使用真实数据,我发现了一个令人惊讶的占有策略,但它很难执行。执行它需要一种新方式来提交交易捆。

第五步:执行

现在手上有了数据、合约、以及我可以开始执行的计划。基本上,我需要构建多个这样的交易捆:一方面可以执行我上文的计划,另一方面监听交易池里与Synthetix相关的交易以进行尾追。此时,大部分都是实现上的问题。

首先,我使用了Blocknative来监听pDAO账户,以了解相关交易的情况。我让任何从pDAO账户发出的交易信息都会发送到我的机器人。

然后,我同时运行两个监听脚本(一个用于sETH和sUSD),以从链上获取数据,得出最优的交易捆策略(例如先偿还前3笔sETH贷款,闪电贷X个ETH,并对后2个做相同的事,等),并生成我的合约需要的数据。我需要在每个区块如此运作,以防价格改变了或有人关闭了贷款,由此改变了最佳策略。这些结果保存在了本地。

最后,我有了一个执行脚本,它会接收发送到我的机器人的待打包交易信息,并从我的监听脚本加载出最佳打包交易捆策略的结果,自动构建交易捆,并把它们发送到Flashbots。

剩下的事情就是等待。在这段时间,最高额的sETH贷款被借款人偿还了,因此我关了机器人中的该部分。几个最高额sUSD贷款也结束了,这大大减少了预期的回报率。

第六步:关键时刻到了

有趣的是,有人试图通过向相关合约发送交易,想诱使机器人在早期失灵。我不确定这种情况是否也会出现在其他人的机器人上,但我的机器人没有被诱导成功。

几个小时后,pDAO发出了真实的交易。经过数周的研究和准备,我知道关键时刻到了。我这边一切都进行很顺利:我的监听脚本运行的很好,交易被接收,交易捆也被构建和提交了。

.....然后意外发生了。连续多个区块都没有Flashbots区块被挖出。我不仅因此失去了机会,也没有Flashbots搜索器赢得了机会。在区块顶部没有了Flashbots交易捆起阻挡作用,一个雄心勃勃的交易池机器人介入了,并抢走了所有有利可图的贷款。

尽管输了,但我认为我的方法仍然是正确的。我的优势在于策略和发现新机会,而不是参与PGA(最优GAS费竞拍)。因此,使用Flashbot给了我胜出的最佳机会。鉴于Flashbots已被广泛采用,遇上连续好几个非Flashbots区块也是相当不走运了。

MEV有时被认为是神秘莫测的超级程序员的领域,但它不一定是这样的。它可以是有趣和刺激的。而游戏规则,如果你要搜寻它们的话,可以说是开放的。这篇文章是关于我学习我所参与的游戏的规则的过程,根据这些规则我想出了策略,并最终执行该策略。尽管我输了,我学到了很多东西,并在此过程获得了乐趣。我希望你们也可以,并希望你和我一起参与下一轮的游戏。

原文链接:https://bertcmiller.com/2021/09/05/mev-synthetix.html

标签:GASETHSHBASHVEGAS币ETH合法吗SHBT币STASH价格

币安下载热门资讯
Huobi Global将于9月18日17:30开放SPA币币交易

尊敬的用户:HuobiGlobal“创新区”定于2021年9月18日17:30(GMT8)开放SPA(Sperax)的币币交易.

1900/1/1 0:00:00
GAT:天天理财第二十一期-7天ETH定期理财

尊敬的用户:天天理财,稳稳收益!天天理财第二十一期惊喜上线!7天ETH定期理财,预期最高年化收益10%!活动详情如下:?认购说明:1.本次认购仅支持APP端.

1900/1/1 0:00:00
加密货币:彭博社:美国财政部确认稳定币风险,或引发对加密更严格监管

据彭博社9月17日消息,美国财政部官员已经确定了由Tether和其他稳定币构成的最紧迫的风险,并准备了对加密货币进行更严格监管的建议.

1900/1/1 0:00:00
NFT:NFT周刊|Dapper Labs和Google合作;OpenSea发布NFT移动客户端

在过去的一周里,NFT出现了一些重要的事件。ArtBlocks和CryptoPunks的销量都出现了很大的反弹,而AxieInfinity和BoredApeYachtClub的销量低于了每周的平.

1900/1/1 0:00:00
KSM:Gate.io 支持一键参与KSM插槽拍卖活动火热进行中(目前Altair领先)

第八次波卡插槽拍卖正在火热进行中。目前Altair以70,915.7915KSM的质押量排名靠前,截至2021年9月17日14:00,Gate.ioAIR锁仓理财已锁7.149868KSM,剩余.

1900/1/1 0:00:00
FEX:AOFEX于9月20日首发上线TWFI(Trister's Lend)

尊敬的用户:AOFEX将于2021年9月20日上线TWFI,具体时间安排如下:TWFI充提业务均已开启TWFI交易时间:9月22日01:00提示:以下内容来源于公告发布时的网络现有资料.

1900/1/1 0:00:00