DAO Hack

DAO hackad

Det har skett en attack mot DAO! Angriparen suger för närvarande upp Ether i DAO till en “underordnad DAO”. Enkelt uttryckt såg den här personen en svaghet på plattformen och utnyttjade den och tömde därmed cirka 40 miljoner dollar av Ether. Hacket riktades mot återinträdesproblemet i Split DAO-funktionen. Hackaren anropar splitfunktionen inuti en split och kan samla flera gånger i en transaktion.

Hittills har inga åtgärder vidtagits, men hackaren kommer inte att kunna dra tillbaka någon ETH, inte förrän har gått 27 dagar, vilket är den stillastående perioden för DAOs för barn. Detta är ett stort problem som påverkar DAO. Ethereum-plattformen i sig delar inte denna sårbarhet.

Som ett resultat av detta hack har det varit ett förslag om en mjuk gaffel; inga block eller transaktioner kommer att återföras när programvaran har implementerats. Detta kommer att tvinga transaktioner som gör delegerade samtal eller anropskoder som minimerar kontosaldot med kodhash.

Vad är ett hack när du inte har specifikationer?

För det första, för att säga att något är ett fel eller hack, måste det finnas specifikationer för felet eller oönskat beteende. Det har inte funnits några sådana vokaliserade specifikationer för DAO. Dessutom finns det ingen specifik specifikation för att organisationen ska kunna realiseras för framgång.

Det finns ingen dokumentation i koden som förklarar vad utvecklarna gjorde när de skrev koden. Folk säger att koden var ensam, den var sin egen förälder.

I allmänhet kanske hackaren har läst det finstilta bättre än utvecklarna själva.

Det finns ingen säker tillflyktsort för tillfället

Du kanske tror att det är lätt att ta ut alla dina medel från DAO när du står inför en attack, men så är inte alltid fallet. Utvecklarna av DAO bestämde sig för att göra det svårt för någon att ta ut sina medel ur DAO. Du får inte möjlighet att bara ta ut din Ether. Vad som normalt händer är att du måste registrera dig för ett nytt DAO-konto och flytta din Ether till det nya kontot och lagra dem där i minst 27 dagar. Så om angriparen väljer att övervaka skapandet av konton kan han komma in på amatörkontona och tömma pengarna innan de uppgraderas. Det är inte lätt att göra detta, om detta händer kommer han att åberopa misstro.

Rörliga medel har en kostnad

DAO skapades inte för att ha en enkel uppdateringsfunktion. Speciellt nu finns det inget sätt att återställa DAO-kontot från dess nuvarande tillstånd till en ny kontraktskod. Extrabalanskontot kan inte konverteras till ny kontraktsversion. Detta betyder helt enkelt att ett extrabalanskonto som har en miljon dollar i Ether är en avskrivning.

Är Ethereum perfekt för säkra smarta kontrakt?

Det är nu klart att skriva ett brett och säkert smart kontrakt kräver mycket flit och disciplin, det är precis som att skriva en kärnkraftsreaktorkod. Soliditetsspråket verkar dock ha utformats mer för lös webbkod. Följande är några av missfunktionerna.

Ett bra kodningsspråk skulle se till att det inte finns något tillstånd som är svårt att återhämta sig.

Ett bra kodningsspråk skulle göra det kristallklart när tillståndskonvertering kan göras och när de inte kan göras.

Ett otroligt språk för underhåll av systemet skulle ha funktioner för att förbättra säkerheten för ett levande kontrakt.

Ett oklanderligt språk för kodning skulle tydligt föreskriva att det inte borde vara någon implicit åtgärd, koden körs tydligt, som läst.

Det aktuella språket i DAO adresserar inte fullständigt något av ovanstående bud. Faktum är att budet som involverar kodkörningar och implicita åtgärder är vad som hände i DAO. Utvecklarna fick till och med både implementeraren och designern av solidity skriva en recension av koden. Om dessa personer inte kan bekräfta DAO: s säkerhet kan ingen annan göra det.

Copycat-attacker

Just nu är det största problemet med copycat-attacker. Andra människor kan lära av denna händelse och göra samma exakta sak.

Stoppar angriparen

Huvudfrågan är att ingen vet hur Ethereum-communityn kommer att reagera på denna händelse. Dessutom kommer rullning av blockkedjan bara att skicka ett negativt meddelande. Om det var lätt att återföra kontrakt, hur är smarta kontrakt säkrare än vanliga papperskontrakt.

Att se hur organisationen attackeras av en hackare är verkligen deprimerande och skapar en helt ny uppsättning känslor angående DAO. Tydligen finns det ingen pålitlig och långsiktig lösning. Kanske kommer utvecklarna bara att frysa DAO och låta investerarna dra tillbaka sin Ether för att minska illamående. Men i slutändan av allt finns det egentligen inget tillvägagångssätt som kommer att sätta ett leende på allas ansikte.

Slutsats

Smarta kontrakt är revolutionerande och kommer att förbli ett av de mest spännande fälten i fintech-världen. Vi har bara börjat skrapa på ytan. Som de säger har varje nytt projekt sin växande smärta. Varje inledande skede står vanligtvis inför vissa motgångar, och det är folks förhoppning att Ethereum kommer med en bra lösning de närmaste veckorna – framträder starkare än någonsin tidigare.