Allereerst mijn oprechte medeleven met het @Balancer-team en iedereen die door deze exploit is getroffen. Het is altijd een zware dag wanneer er een significante DeFi-hack plaatsvindt, laat staan van een OG-protocol. Meer dan de dollarwaarde van de gestolen fondsen, doet dit echt pijn aan het imago van crypto en DeFi als geheel en zet het onze industrie enkele maanden terug. Feit is dat Solidity gewoon te onveilig is als taal om echt de toekomst van financiën te kunnen hosten. Solidity heeft gewoon een te groot oppervlak dat het kwetsbaar maakt voor hacks, waarbij ontwikkelaars afhankelijk zijn van handmatige controles voor alles, van toegangscontroles tot precieze wiskunde, en dat is precies de reden waarom asset-first talen zoals Move zijn uitgevonden. Na wat onderzoek te hebben gedaan, zo werd Balancer gehackt: Aanvallers maakten gebruik van afrondingsfouten in stable pool swaps om de invariant van de pool te vervormen, een belangrijke wiskundige constante die gebalanceerde liquiditeit vertegenwoordigt. Ze begonnen met flash-loaned swaps van BPT (Balancer Pool Tokens) voor een onderliggend activum zoals cbETH, waarbij ze saldi naar exacte afrondingsgrenzen duwden (bijv. geschaald naar 9). Vervolgens wisselden ze tussen activa zoals wstETH en cbETH met zorgvuldig gekozen bedragen (bijv. ~8.918 afgerond naar beneden naar 8 door vaste puntenschaal), waarbij ze de veranderingen in reserves onderschatten en de invariant (D) kunstmatig deflatieerden. Dit deed de BPT-prijs kelderen (D / totalSupply), waardoor aanvallers reverse-swaps konden uitvoeren om goedkoop overtollige BPT te minten, het te verbranden om onderliggende activa tegen "normale" tarieven op te nemen, en het verschil in eigen zak te steken, wat in wezen stelen van liquiditeitsverschaffers is. Winst werd opgebouwd in de interne saldi van de Vault en werd uitbetaald via manageUserBalance met WITHDRAW_INTERNAL, zonder dat directe autorisatie omzeiling nodig was, aangezien de wiskundefout de diefstal subsidieerde. Het is een precisieverlies in de handmatige vaste-puntbibliotheken van Solidity dat leidt tot enorme drains. De manier waarop Move deze hack helemaal zou hebben omzeild, is door veiligheid in de kern te verankeren: Activa worden behandeld als middelen met lineaire types die strikte conservering afdwingen (geen onbedoelde duplicaten, verliezen of verliezen), en wiskunde gebruikt exacte u64/u128 gehele getallen met ingebouwde overflow-aborts, geen floats, geen uitbuitbare afrondingsfouten in complexe berekeningen. In een Move-gebaseerde DEX zouden swapfuncties atomair de invarianten controleren en bijwerken via de VM, aborterend bij elke onbalans, zoals: public entry fun swap(pool: &mut LiquidityPool, in: Coin, out_amt: u64): Coin { assert!(coin::value(&in) >= calculate_required_in(pool, out_amt), E_INSUFFICIENT_INPUT); coin::merge(&mut pool.coin_x_reserve, in); let out = coin::extract(&mut pool.coin_y_reserve, out_amt); assert!(check_invariant(pool), E_INVARIANT_VIOLATION); out } Bovendien elimineren atomaire transacties re-entrancy risico's. Dit is waarom Move-ecosystemen veel minder exploits hebben in vergelijking met de EVM. Het is tijd voor DeFi-bouwers om talen zoals Move te omarmen die veiligheid van de grond af prioriteren, zodat we eindelijk een veerkrachtige financiële toekomst kunnen bouwen zonder te voorkomen dat we terugvallen zoals deze.