Hackul DAO

DAO Hacked

A existat un atac asupra DAO! Atacatorul sifonează în prezent Eterul din DAO într-un „DAO copil”. Mai simplu spus, această persoană a văzut o slăbiciune în platformă și a exploatat-o ​​astfel golind Ether în valoare de aproximativ 40 de milioane de dolari. Hack-ul a vizat problema reintrării în funcția Split DAO. Hackerul apelează funcția de împărțire în interiorul unei împărțiri și poate colecta de mai multe ori într-o singură tranzacție.

Până în prezent nu s-a întreprins nicio acțiune, dar hackerul nu va putea retrage niciun ETH, până nu au trecut 27 de zile, care este perioada stagnantă pentru copiii DAO. Aceasta este o problemă uriașă care afectează DAO. Platforma Ethereum în sine nu împărtășește această vulnerabilitate.

Ca urmare a acestui hack, a existat o propunere a unei furci moi; nu se vor inversa blocuri sau tranzacții odată ce software-ul este implementat. Acest lucru va forța tranzacțiile care efectuează apeluri delegate sau coduri de apel care minimizează soldul conturilor cu hash de cod.

Ce este un hack atunci când nu aveți specificații?

În primul rând, pentru a spune că ceva este un bug sau un hack, trebuie să existe specificații ale bugului sau comportament nedorit. Nu au existat astfel de specificații vocalizate pentru DAO. În plus, nu există specificații date pentru ca organizația să fie realizată pentru succes.

Nu există documentație în cod care să explice ce au făcut dezvoltatorii atunci când scriau codul. Oamenii spun că codul era singur, era propriul său părinte.

În mod colocvial, este posibil ca hackerul să fi citit amprenta mai bine decât dezvoltatorii înșiși.

Nu există un refugiu sigur în acest moment

S-ar putea să credeți că este ușor să vă retrageți toate fondurile de la DAO după ce vă confruntați cu un atac, dar acest lucru nu este întotdeauna cazul. Dezvoltatorii DAO au decis să îngreuneze oricui să-și retragă fondurile din DAO. Nu vi se oferă opțiunea de a vă scoate doar eterul. Ceea ce se întâmplă în mod normal este că trebuie să vă înscrieți pentru un nou cont DAO copil și să mutați Ether-ul în noul cont și să-l păstrați acolo timp de cel puțin 27 de zile. Deci, dacă atacatorul alege să monitorizeze creațiile de conturi, el ar putea intra în conturile de amatori și ar putea epuiza fondurile înainte ca acestea să fie actualizate. Nu este ușor să faci acest lucru, dacă se întâmplă acest lucru, el va invoca cenzura.

Mișcarea fondurilor are un cost

DAO nu a fost creat pentru a avea o funcție simplă de actualizare. Mai ales acum, nu există nicio modalitate de a restabili contul DAO din starea sa actuală într-un nou cod de contract. Contul extra-sold nu poate fi convertit în versiunea noului contract. Acest lucru înseamnă pur și simplu că un cont de sold suplimentar care are un milion de dolari din Ether este o scădere.

Este Ethereum ideal pentru contracte inteligente sigure?

Acum este clar că scrierea unui contract inteligent larg și sigur necesită multă sârguință și disciplină, la fel ca și scrierea unui cod al reactorului de energie nucleară. Cu toate acestea, limbajul solidității pare să fi fost conceput mai mult pentru coduri web libere. Următoarele sunt câteva dintre caracteristicile de ratare.

Un limbaj excelent pentru codificare ar asigura că nu există o stare dificil de recuperat.

Un limbaj excelent pentru codificare ar face clar cristalul când se pot face conversii de stare și când nu pot fi făcute.

Un limbaj incredibil pentru întreținerea sistemului ar avea caracteristici pentru îmbunătățirea securității unui contract live.

Un limbaj impecabil pentru codare ar prevedea în mod clar că nu ar trebui să existe nicio acțiune implicită, codul executându-se clar, după cum se citește.

Limba actuală din DAO nu abordează pe deplin niciuna dintre poruncile de mai sus. De fapt, porunca care implică execuții de cod și acțiuni implicite este ceea ce s-a întâmplat în DAO. Dezvoltatorii au avut chiar atât implementatorul, cât și proiectantul solidității să scrie o recenzie a codului. Dacă aceste persoane nu pot confirma securitatea DAO, atunci nimeni altcineva nu poate.

Atacuri copiat

În acest moment, principala problemă implică atacuri de copiat. Alte persoane pot învăța din acest eveniment și pot face același lucru exact.

Oprirea atacatorului

Problema principală este că nimeni nu știe cum va răspunde comunitatea Ethereum la acest eveniment. În plus, derularea blockchain-ului nu va face altceva decât să trimită un mesaj negativ. Dacă a fost ușor să inversați contractele, atunci cum sunt contractele inteligente mai sigure decât contractele obișnuite pe hârtie.

A vedea cum organizația este atacată de un hacker este într-adevăr deprimant și creează un set complet nou de emoții cu privire la DAO. Aparent, nu există o soluție fiabilă și pe termen lung. Poate că dezvoltatorii vor îngheța DAO și vor permite investitorilor să-și retragă Etherul pentru a reduce rău-sentimente. Însă, la final, nu există nicio abordare care să zâmbească pe toată lumea.

Concluzie

Contractele inteligente sunt revoluționare și vor rămâne unul dintre cele mai interesante domenii din lumea fintech. Am început doar să zgâriem suprafața. După cum se spune, fiecare proiect nou are durerea sa tot mai mare. Fiecare etapă inițială se confruntă, de obicei, cu unele eșecuri și este speranța oamenilor că Ethereum va găsi o soluție excelentă în următoarele câteva săptămâni – apărând mai puternic ca niciodată.