Ethereums smarta kontrakt är fulla av hål

Lynne Carty





Datorprogram som körs på blockkedjor skakar om det finansiella systemet. Men mycket av hypen kring det som kallas smarta kontrakt är just det. Det är ett helt nytt område. Teknologer har precis börjat ta reda på hur man designar dem så att de kan lita på att de inte förlorar människors pengar, och - som en ny undersökning av Ethereums smarta kontrakt illustrerar - säkerhetsforskare kommer först nu till rätta med vilken sårbarhet det är för smarta kontrakt. ser till och med ut.

Detta stycke visas i vårt nyhetsbrev två gånger i veckan Chain Letter, som täcker världen av blockchain och kryptovalutor. Anmäl dig här - det är gratis!

Digitala varuautomater: Termen smart kontrakt kommer från digital valutapionjär Nick Szabo, som myntade det för mer än 20 år sedan (och som kan eller kanske inte är Satoshi Nakamoto ). Grundtanken, han skrev , är att många typer av avtalsklausuler (såsom säkerheter, bindning, avgränsning av äganderätter, etc.) kan bäddas in i hårdvaran och mjukvaran vi hanterar, på ett sådant sätt att ett avtalsbrott blir dyrt (om så önskas) , ibland oöverkomligt) för överträdaren. Szabo kallade fysiska varuautomater en primitiv förfader till smarta kontrakt, eftersom de tar mynt och levererar en produkt och den korrekta växeln enligt det visade priset.



Gå in i blockkedjan: Idag är den vanligaste uppfattningen om ett smart kontrakt ett datorprogram lagrat på en blockchain. En blockchain är i huvudsak en delad redovisningsbok som använder kryptografi och ett nätverk av datorer för att spåra tillgångar och säkra redovisningen från manipulering. För Bitcoin ger det två parter som inte känner varandra en järnklädd garanti för att en överenskommen överföring av medel kommer att ske som förväntat – det vill säga ingen kommer att bli lurad.

Smarta kontrakt är där saker och ting blir intressanta. Med hjälp av ett smart kontrakt kan två personer skapa ett system som tar ut pengar från en persons konto – en förälders, låt oss säga – och sätter in dem på ett barns konto om och när barnets saldo faller under en viss nivå. Och det är bara det enklaste exemplet – i teorin kan smarta kontrakt användas för att programmera alla typer av finansiella avtal, från derivatkontrakt till auktioner till blockchain-drivna depositionskonton.

ICO överallt: En av de mest populära tillämpningarna av smarta kontrakt har varit att skapa nya kryptovalutor. Några av dem har gett glimtar av en ny typ av ekonomi där en specialtillverkad digital valuta kan användas för en decentraliserad tjänst, som datalagring eller digital valutahandel. Investerarnas spänning över löftet om sådana applikationer har hjälpt till att underblåsa ICO-vurmen, som har samlat in över 5 miljarder dollar. (Vad fan är en ICO? ← Här är en primer)



Men håll dina hästar: Teknologer har fortfarande inte en fullständig bild av hur ett säkerhetshål i ett smart kontrakt ser ut, säger Ilja Sergey , en datavetare vid University College London, som var medförfattare en studie i ämnet publicerades förra veckan.

Användare lärde sig detta på den hårda vägen 2016 när en hacker stal 50 miljoner dollar från den så kallade decentraliserade autonoma organisationen, som var baserad på blockkedjan Ethereum. Och i november blev runt 150 miljoner dollar plötsligt otillgängliga för användare av plånbokstjänsten Parity, som också är rotad i Ethereum.

Sergey och kollegor använde ett nytt verktyg för att analysera ett urval av nästan en miljon Ethereum-smarta kontrakt, och flaggade runt 34 000 som sårbara – inklusive det som ledde till Parity-olyckan. Sergey jämför lagets arbete med att interagera med en varuautomat, som om forskarna slumpmässigt tryckte på knappar och registrerade de förhållanden som fick maskinen att agera på oavsiktliga sätt. Jag tror att ett stort antal sårbarheter fortfarande ska upptäckas och formellt specificeras, säger Sergey.



Dölj