有人说科学家是币圈神一样的存在,也有人说币圈是上帝赐给程序员最好的贺礼。。
我也一直好奇,通过搜集学习资料,一点点扒开他们神秘的外衣~~
币圈 以太坊生态链上的科学家,大概这几种攻击方式
抢跑(Front-running),
尾随(back-running),
和三明治攻击(sandwich attack)
闪电贷 (flashloan) ,
套利(arbitrage),
**区块链是如何记录和确认交易的?
**区块链是一个分布式系统,所以物理上要达成共识,确保记录交易的顺序。。最初中本聪 采用了 工作量证明 与最长连原则来确保,即区块的先后顺序,代表了时间顺序也就是交易顺序。 所以算力节点只需要对区块顺序达成一致即可。
2.所以,要想抢占时间顺序,本质上是抢占区块时间。
普通用户在交易交易在被递交后,会进入一个交易池(MEMPool)的地方。
矿工从交易池中选择交易打包进入下一区块。
这些交易会有一个顺序。 物理时间只是一个因素,而更重要的是旷工费。更高的旷工费能更快的确定区块时间。只有区块打包完成变成区块时间,交易才算被确认。
所以,GAS 在和一个链上都很关键。
以太坊 ,BSC关于底层的机制是差不多的。但是币安智能链 和以太坊有一些不一样,也不是二层链。
—— 扩展阅读
币安智能链基于权益的权威证明
**抢跑(front-running)
定义:**指在同一个区块中,通过让某笔交易排在目标交易(被攻击交易)前而获利;在清算和套利交易中常发生。
冲土狗的时候,每次我们买不到。每次都被科学家抢了。网速快? 手速快?
其实网速再快,手速再快也是对物理事件毫秒秒级的影响,对区块时间影响忽略不计。。但是GAS 是可以到分秒的事件。
也就是你手速网速物理事件比人家快乐100ms,但是人家GAS 比你高,区块确认比你提前了30秒。 你就败下来了
不但败了。DEX是根据可用的流动性自动调整价格,你不但浪费了gas,没抢到交易,浪费了gas。第二次,你不得不以更高的价格去再次下单。
科学家可以手动调大GAS,比你跑的更快,然而他们还不是最快的。
以太坊上,最快的是是矿工。矿工是打包交易的人,他们不仅能看见交易,甚至知道哪些交易会进入下一个区块,以及这些交易在同一区块中的顺序。
从技术角度而言,矿工可以通过对交易次序的干预,把自己的交易插入到合适的位置。在 Front Running 这件事上,没有人比矿工更具优势。
——扩展阅读其实front running 在现实世界中证券法中是被禁止的, 历史上有一个男孩, 造成了全球股市最大的FlashCrash 闪崩事件。
视频:https://www.youtube.com/watch?v=za6-ykbukug
back-running
**定义:**尾随(back-running):指在同一个区块中,通过让特定交易排在目标交易后而获利;在Oracle交易或大额交易中常发生。
不知道大家有人玩pancake 上的 预言机猜涨跌。下图。
操控很简单。
就是利用区块back-running 发生在交易最后的无法控制的30秒内。。就能改变方向。
三明治夹击(sandwich Attacks):该方式是以上两种形式的结合,让被攻击的交易夹在两笔矿工“伪造”的特定交易中间而获利。
一般热门一点的盘子(交易量过百万),都会有夹子。
我举个例子。这是昨天我看 TITI 这个项目上夹子。。前几日交易量都在百万以上。
上图中 9cc1 就是一个夹子机器人, 而2a4f 就是被攻击的对象。
再来看 抢先交易的那个机器人:
再看那个正常交易的。
上述案例,同样两个针对某交易对的买单,先被执行的交易将获得更多代币。当一个投资者执行一笔单比金额较高、滑点设置较大、Gas 设置偏低的交易时,很容易遇到“被夹”的情况,
Bot 会在同一时间段发送两笔 Gas 更高的交易,抢在你前面买入,而又紧随你的订单之后卖出,就将投资者“夹”在中间,完成了低买高卖的一次套利行为,可谓是将“毫无风险”地获利。不少交易者可能从未注意,就一直在默默地被鱼肉着。
**闪电贷:是 DeFi无抵押贷款的新思路:**所有操作都在一笔交易(一个区块)中完成,它允许借款人无需抵押资产即可实现借贷(但需支付额外较少费用)。因为代码保证在一定时间内(以太坊大约是13秒)偿还借款,如果资金没有返还,那么交易会被还原,即撤消之前执行的所有操作,从而确保协议和资金的安全。
闪电贷本身是一个DeFI 一种借贷的功能方法。 正常操作其实并无不妥。。
然而,黑客总是想的更加深远。
攻击方法:
扩展阅读(闪电贷套利机器人的实现)
https://blog.infura.io/build-a-flash-loan-arbitrage-bot-on-infura-part-i/
https://blog.infura.io/build-a-flash-loan-arbitrage-bot-on-infura-part-ii/
由于他只是一项工具,功能和API都是现成的。
实际上,使用闪电贷也不是一定要编写代码,目前有许多的乐高式的闪电贷 DApp 能够让你以拼积木的形式使用闪电贷,就像我们日常使用的 Workflow 一样方便:
比起写具体的代码,通过这些工具来使用闪电贷,也能更好的使用体验。 (我还没试过)
搬砖套利的工作原理大致如下:
可以针对某一个特定币:
这就是典型的套利交易。俗称搬砖
也可以是某几个交易对:
程序员都是用程序扫描检测,
然后自动自动套利,也就是auto-arbitrage。 **这tmd 妥妥的印钞机啊。**这也是为什么主流币在各个链上虽然池子,流通数量不不一。但最终价格都是趋同。
要玩套利,还需要自己资金实力雄厚。一般至少每个链上有个几千几万U,可以做自动套利。可以有一些收益。
这里再次感谢LOWB社群(https://t.me/loser_coin) G总
给了我一套完成度很高的源代码。 目前通过自己的调整修改,能在BSC,ETH上跑起来了。
不得不说,LOWB社群确实大牛实在太多。 未来公链也是十分值得期待, 现在还是要多囤点lowb。
最后,祝,大家
暴富!
暴富!!
暴富!!!