Ensinnäkin suurin sympatiani @Balancer tiimille sekä kaikille, joihin tämä uroteko vaikuttaa. On aina rankka päivä, kun tällainen merkittävä DeFi-hakkerointi tapahtuu, puhumattakaan OG-protokollasta. Enemmän kuin varastettujen varojen dollarikustannukset, tämä vahingoittaa aidosti kaikkea kryptoa ja DeFin imagoa kokonaisuutena ja siirtää alaamme useita kuukausia taaksepäin. Tosiasia on, että Solidity on aivan liian epävarma kieli, jotta se voisi todella isännöidä rahoituksen tulevaisuutta. Solidityn pinta-ala on aivan liian suuri, mikä tekee siitä alttiita hakkeroinnille, ja kehittäjät luottavat manuaalisiin tarkistuksiin kaikessa kulunvalvonnasta tarkkaan matematiikkaan, ja juuri siksi Moven kaltaiset resurssipohjaiset kielet keksittiin alun perin. Pienen kaivamisen jälkeen Balancer hakkeroitiin näin: Hyökkääjät käyttivät hyväkseen pyöristysvirheitä vakaan poolin vaihdoissa vääristääkseen poolin invarianttia, joka on keskeinen matemaattinen vakio, joka edustaa tasapainoista likviditeettiä. He aloittivat BPT:n (Balancer Pool Tokens) pikalainauksilla kohde-etuuteen, kuten cbETH:hen, ja työnsivät saldot tarkkoihin pyöristysrajoihin (esim. skaalattuina 9:ään). Sitten he vaihtoivat omaisuuserien, kuten wstETH:n, välillä cbETH:ksi muotoilluilla määrillä (esim. ~8,918 pyöristettynä alaspäin 8:aan kiinteän pisteen skaalauksen vuoksi), aliarvioiden varannon muutoksia ja deflatoimalla keinotekoisesti invariantin (D). Tämä laski BPT:n hinnan (D / totalSupply), jolloin hyökkääjät tekivät käänteisen swapin lyödäkseen ylimääräisen BPT:n halvalla, polttivat sen nostaakseen kohde-etuuksiaan "normaaleilla" koroilla ja pussittivat erotuksen, mikä käytännössä varasti likviditeetin tarjoajilta. Holvin sisäisiin saldoihin kertyneet voitot kotiutettiin manageUserBalancen kautta WITHDRAW_INTERNAL, suoraa todennuksen ohitusta ei tarvittu, koska matemaattinen virhe tuki varkautta. Se on tarkkuusmenetys Solidityn manuaalisissa kiinteän pisteen kirjastoissa, joka putoaa massiivisiin viemäreihin. Move olisi ohittanut tämän hakkeroinnin kokonaan leipomalla turvallisuuden ytimessä: Resursseja käsitellään resursseina, joilla on lineaarisia tyyppejä, jotka pakottavat tiukan suojelun (ei tahattomia huijauksia, pudotuksia tai tappioita), ja matematiikka käyttää tarkkoja u64/u128-kokonaislukuja, joissa on sisäänrakennetut ylivuotokeskeytykset, ei kellukkeita, ei hyödynnettävissä olevia pyöristysluiskeita monimutkaisissa laskelmissa. Move-pohjaisessa DEX:ssä vaihtofunktiot tarkistavat ja päivittävät invariantit atomisesti virtuaalikoneen kautta ja keskeyttävät mahdolliset epätasapainot, kuten: public entry fun swap(pool: &mut LiquidityPool, in: Coin, out_amt: u64): Coin { väittää! (kolikko::value(&in) >= calculate_required_in(pool, out_amt), E_INSUFFICIENT_INPUT); kolikko::merge(&mut pool.coin_x_reserve, in); let out = coin::extract(&mut pool.coin_y_reserve, out_amt); väittää! (check_invariant(pool), E_INVARIANT_VIOLATION); ulos } Lisäksi atomitransaktiot tappavat markkinoille palaamisen riskit. Tästä syystä Move-ekosysteemeissä on paljon vähemmän hyväksikäyttöjä kuin EVM:ssä. DeFi-rakentajien on aika omaksua Moven kaltaiset kielet, jotka asettavat turvallisuuden etusijalle alusta alkaen, jotta voimme vihdoin rakentaa joustavan taloudellisen tulevaisuuden ilman tällaisia estettävissä olevia takaiskuja.