第三不算是一种攻击,而是一种套利方式,也就是front-running。 在目前的DeFi生态中,很多去中心化交易所采用的是AMM的模式,也就是币币交易的定价是由供求关系决定的,也就是始终会受到新交易的影响而波动。于是,比如如果我想要用A币买B币,虽然现在是1换100,但在交易的时候很有可能不是这个比例了,所以我会设置一个区间,比如成交价格只要在1:90到1:110之间我都接受。这个区间当然是越小越好,但是设得太小,对于某些币价波动较大的币或者在币价波动剧烈的情况下,可能会造成一直无法成交。 而由于发交易本身是公开的,于是就给了front-running的余地:如果有个大客户突然要买一堆B币,那么这笔交易之后B币的价格一定暴涨。那么实现获知这件事的人就通过预先大量买入B币,在这笔交易之后再卖出这件事来发一笔横财。当然,买入B币的量不能太多,否则B币的价格就超过了那宗大笔交易的区间了。 而由于交易上链的顺序以及上链的交易都是矿工决定的,所以想要达成front-running需要收买矿工,把他们的交易加在那宗大笔交易之前。 当然,收买矿工其实并不保险——更保险的方法其实是矿工亲自下场。而实际上,矿工完全可以只要收到大额交易就来次front-running,这才是最大化自己收益的方式。 ———————————————————————————— 以上这三种攻击,都是矿工可以做的,而且,其实如果我们假设矿工只是单纯逐利,那么很多是理性的矿工必然会做的。 因此,其实有些已经有人在做了。 那么,是什么阻止了矿工都去做这些事呢? 是因为其实矿工并不仅仅是利己的,也会有“利他主义(altruistic)”的行为。并且,矿工除了在链上的利益,还有在链外的利益,比如声誉和长期利益。 又或者简单一点说,是因为矿工自认为对于以太坊的义务和对于未来的憧憬,和他们朴素的“不该做恶”的道德观念。 于是,大家认为一方面打压矿工在以太坊中的获利、否定他们对以太坊有义务、把他们完全排除在以太坊的未来之外、说“你们不过就是个临时工”,一方面污名化矿工,说他们在阻碍以太坊的发展,这种行为会导致什么样的结果呢? 很显然,这种行为的结果,也就是EIP-1559可能导致的后果就是矿工不再受到这种“利他主义”和朴素的道德观念的约束,以单纯逐利的标准来行动了。而首当其冲的问题,就是front-running——“既然你们不给我们交易费,那么我们干嘛不凭本事去抢呢?你不仁我不义嘛!”接下来的问题就是审查攻击——在矿工可能不合作的情况下,rollup还能放心地部署吗? (责任编辑:admin) |