Új 280M USD-s Ethereum smart contract bug
Prelógus:
Az ethereum olyan programok (aka smart contract-ok) létrehozását teszi lehetővé, amik a P2P hálózatban minden gépen lefutnak és trustless módon konszenzus jutnak annak eredményéről.
"Build unstoppable applications
Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference." - mondja az oldaluk
Pár órája, egy magát "kísérletezgető newbie"-nek hívó user véletlenül talált egy bugot az egyik smart contract-ban amivel azt működésképtelenné tette.
“I’m eth newbie… just learning… sending kill() destroy() to random contracts you can see my history”
“I’m walking randomly becaue i’m a newbie. I even don’t know how to code, I’m just a consultant, user interface.”
Ezt a smart contract a mai értéken kb 280M USD-t érő ethereumot tett elérhetetlenné.
https://github.com/paritytech/parity/issues/6995
https://blog.comae.io/the-280m-ethereums-bug-f28e5de43513
Extra pontok:
- Mindezt azután, hogy júliusban ugyanebben a contract-ban egy másik hibát kihasználva loptak el 46M USD értékű ethereumot. (Igazából 150M USD értékűt érintett, de a hacker valamiért csak egy részét rakta el magának)
- A hibás smart contractokat az Ethereum egyik alapítója és a contract programozási nyelvének (solidity) kifejlesztője Dr. Gavin Wood írta.
kb egy ~300 soros programról beszélünk.
Bug bounty volt és elmondásuk szerint "underwent extensive peer review, created and audited by the Ethereum Foundation's DEV team" valamint a júliusi hiba óta külön kiemelték, hogy rengeteg "Solidity expert" nézte át a kódot és mindenki mindent rendben talált.
Ez felveti a kérdéseket:
- Hol a hiba?
- A programozási nyelv a rossz?
- A programozók akik írták és átnézték?
- Az API?
- Vagy csak egyszerűen maga az emberi agy alkalmatlan arra, hogy leírjon és értelmezzen egy párszáz soros szabályrendszert?
- Te egy 300 soros programra vagy egy cégre (pl. PayPal) bíznád a pénzed?
- Tovább (Új 280M USD-s Ethereum smart contract bug)
- 2094 megtekintés