Hacker DAO

DAO hacknutý

Došlo k útoku na DAO! Útočník v súčasnosti nasáva éter v DAO na „detský DAO“. Jednoducho povedané, táto osoba videla slabinu platformy a využila ju, čím vyprázdnila éter v hodnote asi 40 miliónov dolárov. Hack bol zameraný na problém opätovného vstupu do siete vo funkcii Split DAO. Hacker zavolá funkciu split vo vnútri split a môže inkasovať viackrát v jednej transakcii.

Doteraz neboli podniknuté žiadne kroky, ale hacker nebude môcť stiahnuť žiadny ETH, až kým neuplynie 27 dní, čo je pre detské DAO stagnácia. Toto je obrovský problém, ktorý ovplyvňuje DAO. Samotná platforma Ethereum túto zraniteľnosť nezdieľa.

V dôsledku tohto hacku došlo k návrhu mäkkej vidlice; po implementácii softvéru nebudú zrušené žiadne bloky ani transakcie. To vynúti transakcie uskutočňujúce delegované hovory alebo volacie kódy, ktoré minimalizujú zostatok účtov pomocou hašovania kódov.

Čo je to hack, keď nemáte špecifikácie?

Po prvé, aby sa dalo povedať, že niečo je chyba alebo hack, musia existovať špecifikácie chyby alebo nežiaduceho správania. Pre DAO neexistujú žiadne také vokalizované špecifikácie. Okrem toho neexistuje žiadna daná špecifikácia pre organizáciu, ktorá sa má realizovať pre úspech.

V kóde nie je dokumentácia, ktorá by vysvetľovala, čo vývojári robili pri písaní kódu. Ľudia hovoria, že kód bol sám o sebe, bol to jeho vlastný rodič.

Hovorovo by mohol byť hacker prečítaný drobným písmom lepšie ako samotní vývojári.

Momentálne neexistuje bezpečné útočisko

Možno si myslíte, že je ľahké vybrať všetky svoje prostriedky z DAO, keď čelíte útoku, ale nie je to tak vždy. Vývojári DAO sa rozhodli sťažiť každému výber prostriedkov z DAO. Nemáte možnosť jednoducho vytiahnuť svoj éter. Normálne sa stane, že sa musíte zaregistrovať na nový detský účet DAO a presunúť svoj Ether do nového účtu a uložiť ich tam najmenej na 27 dní. Ak sa teda útočník rozhodne monitorovať vytváranie účtov, mohol by sa dostať do amatérskych účtov a vyčerpať prostriedky skôr, ako budú inovované. Nie je ľahké to urobiť, ak sa tak stane, odvolá sa na vyslovenie nedôvery.

Pohyblivé prostriedky majú svoje náklady

DAO nebol vytvorený, aby mal jednoduchú aktualizačnú funkciu. Najmä teraz neexistuje spôsob, ako obnoviť účet DAO z jeho súčasného stavu na nový kód zmluvy. Účet zostatku nemožno previesť na novú verziu zmluvy. To jednoducho znamená, že zostatok na účte, ktorý má éter v hodnote miliónov dolárov, je odpisom.

Je Ethereum ideálne pre bezpečné inteligentné zmluvy?

Teraz je zrejmé, že vypracovanie širokej a bezpečnej inteligentnej zmluvy si vyžaduje veľkú starostlivosť a disciplínu, rovnako ako napísanie kódu pre jadrový reaktor. Zdá sa však, že jazyk solidity bol navrhnutý skôr pre voľný webový kód. Nasleduje niekoľko chýbajúcich funkcií.

Skvelý jazyk pre kódovanie by sa postaral o to, že neexistuje žiadny stav, ktorý by sa ťažko zotavil.

Skvelý jazyk pre kódovanie by objasnil, kedy je možné vykonať štátne prevody a kedy nie je možné ich vykonať.

Neuveriteľný jazyk pre údržbu systému by mal funkcie na zvýšenie bezpečnosti živého kontraktu.

Bezchybný jazyk pre kódovanie by jednoznačne stanovoval, že by nemalo dochádzať k žiadnym implicitným akciám, kód sa vykoná zreteľne po prečítaní.

Aktuálny jazyk v DAO nerieši úplne žiadne z vyššie uvedených prikázaní. V skutočnosti sa príkaz, ktorý zahŕňa vykonávanie kódu a implicitné akcie, stal v DAO. Vývojári dokonca nechali implementáciu aj dizajnéra solídnosti napísať recenziu kódu. Ak títo ľudia nemôžu potvrdiť bezpečnosť DAO, nemôže to urobiť nikto iný.

Napodobňovacie útoky

V súčasnosti hlavný problém spočíva v napodobňovaní útokov. Ostatní ľudia sa môžu z tejto udalosti poučiť a robiť presne to isté.

Zastavenie útočníka

Hlavným problémom je, že nikto nevie, ako na túto udalosť zareaguje komunita Ethereum. Vrátenie blockchainu ďalej neurobí nič iné ako odoslanie negatívnej správy. Keby bolo ľahké reverzné zmluvy, tak ako sú inteligentné kontrakty bezpečnejšie ako bežné papierové kontrakty.

Sledovanie organizácie napadnutej hackerom je skutočne depresívne a vytvára úplne nový rad emócií týkajúcich sa DAO. Zdá sa, že neexistuje spoľahlivé a dlhodobé riešenie. Možno vývojári iba zmrazia DAO a umožnia investorom stiahnuť svoj éter, aby znížili zlé pocity. Nakoniec však k tomu všetkému skutočne neexistuje prístup, ktorý každému vyčarí úsmev na tvári.

Záver

Inteligentné zmluvy sú revolučné a zostanú jedným z najvzrušujúcejších odvetví vo svete fintech. Povrch sme začali iba škriabať. Ako sa hovorí, každý nový projekt má čoraz väčšiu bolesť. Každá počiatočná fáza zvyčajne čelí určitým neúspechom a je nádej ľudí, že Ethereum príde v najbližších týždňoch so skvelým riešením – bude silnejšie ako kedykoľvek predtým.