我对 Balancer 漏洞的初步理解如下: 攻击者执行大规模的 "batchSwap",以便在整个批处理执行后才移动代币,利用给定 "out" 代币的 "in" 代币的计算。 在许多内部交换过程中,Balancer 计算的交换增量显著减少,并且两个代币的增量变为负值。 负增量 = 池子欠攻击者代币。 - 增量是如何减少的? 以下是三个连续的交换增量: (交换 n) A: -810057686826767072295 + 25626928172 = -810057686801140144123 B: -1188214603037651140957 - 17 = -1188214603037651140974 (交换 n + 1) A: -810057686801140144123 - 38000000000 = -810057686839140144123 B: -1188214603037651140974 + 142678241 = -1188214603037508462733 (交换 n + 2) A: -810057686839140144123 + 8793968805 = -810057686830346175318 B: -1188214603037508462733 - 142678224 = -1188214603037651140957 正如我们所看到的,净增量总体上减少了: ΔA: -1620115373657113247613...