我對 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...