with Geen reacties

 

De DAO Hack uitgelegd

 

The DAO hacker behind his laptop. The DAO Hack. De DAO hacker achter zijn laptop. DAO Hack.

 

 

Hoe ging de aanval op The Dao in zijn werk?

Het nieuws verscheen groot in de media: de decentrale autonome organisatie The DAO was gehackt. Maar wat was er in juni 2016 nu precies gebeurd? Wat stelde De DAO Hack nu eigenlijk voor. De Ethereum blockchain is een netwerk van computers. De blockchaintechnologie stelt mensen in staat om identificatie-eenheden van waarde, de ether, uit te wisselen. Ether is op dit moment na de bitcoin de tweede grote en populaire cryptocurrency. Met Ethereum kun je bijvoorbeeld slimme contracten schrijven en in het netwerk laten draaien. Op iedere computer (node) in het netwerk worden  codes uitgevoerd. De programma’s worden uitgevoerd door middel van het versturen van Ether.

 

Decentrale structuur

DAO zijn Decentrale Autonome Organisaties. The DAO is daar een voorbeeld van. Het doel van een DAO is het codificeren van regels en voorwaarden. Ook het automatiseren van het beslissingsproces, is een belangrijke doelstelling. Hierdoor wordt het mogelijk om een decentrale structuur te creëren. Er is dan dus geen bestuur meer waar één individu de scepter zwaait.

 

Hoe werken de Decentrale Autonome Organisaties (DAO) precies?

Eén of meerderen personen schrijven de slimme contracten die binnen het Ethereum blockchain moeten gaan draaien. Dan is het uiteraard erg belangrijk dat de financiën goed geregeld worden. Leden kunnen fondsen toevoegen aan de DAO, door middel van het aankopen van identificatie-eenheden, die het eigendom van een gebruiker vertegenwoordigen. Als de financiering in orde is dan kan een DAO , zoals bijvoorbeeld The DAO, in werking treden. Mensen kunnen voorstellen doen aan de DAO, over de wijze waarop zij hun geld kunnen spenderen. De leden die zich hebben ingekocht, kunnen dan stemmen over de goedkeuring van deze voorstellen.

 

Consensus tussen de nodes

Het is belangrijk om goed te begrijpen dat er veel inspanningen zijn geleverd om van de identificatie-eenheden dit soort bijzondere vermogensaandelen te maken. Je moet de identificatie-eenheden echt zien als een soort bijdragen die de leden stemrecht geven, maar zeker geen controle. Een DAO is van niemand. Het is eenvoudigweg een stukje software dat draait binnen het Ethereum netwerk. De bitcoin was min of meer de eerste vorm van een DAO. Het systeem wordt bestuurd door middel van consensus tussen de nodes. De “miners” en hun “mining” spelen hierbij een belangrijke rol.

 

Slock.it

The DAO” is de naam van een specifieke DAO. The DAO is ontwikkeld en geprogrammeerd door het team achter de Duitse startup Slock.it. Op 30 april 2016 was het dan zover: The DAO werd gelanceerd. Er gold een financieringsperiode van 28 dagen. Direct vanaf het begin werd duidelijk dat The DAO enorm populair was, omdat er in de eerste financieringsperiode al meer dan 100 miljoen dollar werd opgehaald. The DAO was het grootste crowdfunding project in de geschiedenis, waarbij uiteindelijk zo’n slordige 150 miljoen dollar bij elkaar werd gesprokkeld, door meer dan 11.000 enthousiaste deelnemers. The DAO haalde meer geld op, dan waar de ontwikkelaars op hadden gerekend.

 

Een bug in de software

De marketing van The DAO was uitstekend op poten gezet. Over de uitvoering van The DAO waren vooraf bij verschillende mensen wel zorgen aanwezig. Zij waren onder andere bezorgd over de vraag of de code wel bestand was tegen aanvallen van hackers. Toen de crowdsale eenmaal was afgesloten, was daar dan ook veel discussie over. Was het namelijk niet veel verstandiger om eerst de kwetsbaarheden aan te pakken, voordat de voorstellen gefinancierd zouden gaan worden? Eén van de ontwikkelaars van The DAO kondigde op 12 juni 2016 aan dat er een “bug” was gevonden in de software, maar dat er geen risico bestond voor de DAO-fondsen.

 

Stemming

Op dat moment stonden er ongeveer 50 voorstellen voor diverse projecten te wachten, op de goedkeuring (of afkeuring) door de houders van de identificatie-eenheden, door middel van stemming. Ik wil graag benadrukken dat het Ethereum blockchain tot op dat moment nog nooit met een dergelijke bug te maken had gehad. Het netwerk had daarvoor altijd prima gefunctioneerd. Ieder systeem is in principe kwetsbaar voor verschillende soorten aanvallen. Het Ethereum netwerk dat zo ongeveer een bedrag van 1 miljard dollar draagt (afhankelijk van de prijs uiteraard), is natuurlijk een interessant object voor individuen met minder goede intenties. De DAO Hack drukte ons in ieder geval weer even met de neus op de feiten.

 

Testen en certificeren

Iedereen die een slim contract schrijft die weet, dat als dit soort toepassingen in staat zijn om grote hoeveelheden “waarde” te transporteren, ze op heel veel belangstelling van kwaadwillenden kunnen rekenen. Het is dan snel een populair “target” voor een aanval. Het testen en certificeren van slimme contracten zal essentieel zijn, om het Ethereum blockchain veilig te houden. Op het moment dat de programmeurs druk bezig waren, met het oplossen van de problemen die veroorzaakt werden door de bug, zag een onbekende aanvaller zijn kans schoon om toe te slaan.

 

Child DAO

De DAO Hack was goed voorbereid. Hij of zij begon met het “wegsluizen” van ether uit The DAO. Ether die afkomstig was van de verkoop van zijn of haar identificatie-eenheden. Op 18 juni 2016 had de aanvaller het gepresteerd om nog veel meer ether te laten “weglekken”. Meer dan 3.6 miljoen ether om precies te zijn. De ether werd afgevoerd naar een zogenaamde “child DAO”. Deze child DAO was door de hacker zelf opgezet en heeft dezelfde structuur als The DAO. Het duurde niet lang of de prijs van ether daalde met een rotgang van 20 dollar naar onder de 13 dollar.

 

Opsplitsen van The DAO

Verschillende mensen hebben toen geprobeerd om de schade van de Dao Hack te beperken, door middel van het opsplitsen van The DAO. Echter lukte het niet om snel de benodigde stemmen voor die noodmaatregel te verkrijgen. De ontwikkelaars hadden gewoonweg niet zoveel geld (ether) op één adres verwacht. Er wordt nu vanuit gegaan dat de aanvaller uit eigen beweging is gestopt met zijn frauduleuze praktijken, toen hij of zij hoorde dat er sprake was van een “fork voorstel”.

 

Ultieme tussenpersoon

Slimme contracten zijn bedoeld om autonoom (dus helemaal zelfstandig) afspraken te maken, die op geen enkele wijze worden beïnvloed door factoren van buiten de blockchain. De code binnen de slimme contracten fungeert eigenlijk als de ultieme tussenpersoon, van de deal die hij vertegenwoordigt. Voordat de DAO Hack plaatsgevonden had, waren er bij juristen al zorgen over het feit dat The DAO weleens voorbij zou kunnen gaan, aan het crowdfunding-mandaat. Hierdoor zou The DAO in de war kunnen raken over de wetgeving omtrent de beveiliging, in de verschillende landen.

 

Verantwoordelijkheid

Advocaten hebben de ontwikkelaars van The DAO er ook op gewezen dat ze in potentie verantwoordelijk zijn, in gevallen dat zulke problemen zich voordoen. Een aantal van hen gaf aan bezorgd te zijn over de factor verantwoordelijkheid. Het is namelijk heel goed mogelijk dat de houders van een identificatie-eenheid een verantwoordelijkheid accepteren, waarvan zij helemaal niet precies weten, wat die verantwoording dan precies inhoudt. The DAO bevindt zich op dit moment natuurlijk nog een beetje in een grijs gebied. Dat geldt zeker voor wat de wet- en regelgeving betreft. De ontwikkelaars van het Ethereum blockchain en The DAO zijn momenteel druk bezig met het bedenken van oplossingen. Geen enkele technologie wordt tenslotte ontwikkeld zonder kinderziektes. De DAO Hack is in ieder geval weer een mogelijkheid om te leren, en een paar wijze lessen te trekken.

 

Financieringsperiode van 28 dagen

De child DAO heeft dezelfde structuur, beperkingen en kwetsbaarheden als de reguliere DAO. De ether in de nieuw gecreëerde child DAO is niet toegankelijk voor een tijdsbestek van 28 dagen. Dat is namelijk de eerste financieringsperiode. Iedereen kan de ether in de child DAO zien. Als ook maar iemand een poging doet om de ether te bemachtigen, dan gaan alle alarmbellen rinkelen en volgt er direct een onderzoek. Waarschijnlijk lukt het een aanvaller niet om bij de ether te komen. Het zal niet mogelijk zijn om ook maar een fractie van de ether te spenderen. Er zijn zeker een aantal dingen die de ontwikkelaars van het Ethereum platform al kunnen doen, om de ether in The DAO te vernietigen. Dit zijn echter geen eenvoudige procedures.

 

Het soft fork voorstel

Eerder had ik het al even over een zogenaamd “soft fork voorstel”, maar wat bedoel ik daar nu precies mee? Ongeveer 15 % van alle ether bevindt zich in de The DAO. Een fout in de The DAO heeft dus direct een negatieve invloed op het Etereum blockchain netwerk en de daaraan verbonden cryptocurrency. Heel veel start-ups werken op dit moment aan voorstellen voor producten en diensten, die kunnen draaien binnen het netwerk. Iedereen die vol passie meewerkt aan de ontwikkeling van DAO, heeft een aandeel in hetgeen er nu gaat gebeuren, op het gebied van de blockchain technologie. Alles valt of staat waarschijnlijk met de veiligheid en betrouwbaarheid van het systeem. Gaat het lukken om DAO “waterdicht” te krijgen? Kunnen aanvallen zoals de DAO Hack in te toekomst worden voorkomen?

 

Kettingen die de waarheid vertegenwoordigen

Om goed te kunnen beseffen wat er nu moet gebeuren, moet je eigenlijk bekend zijn met de basis van de blockchain. De basis is een netwerk van nodes dat ervoor zorgt dat transacties in blokken geplaatst worden. Deze blokken worden op hun beurt dan weer aan enkelvoudige kettingen “vastgemaakt”. Kettingen die de waarheid vertegenwoordigen, dus datgene wat er binnen de blockchain precies gebeurd is.

 

Gedistribueerd grootboek

Als er bijvoorbeeld twee concurrerende transacties op hetzelfde moment plaatsvinden, dan zal het netwerk dit probleem oplossen door er één uit te kiezen en de andere af te wijzen. Op deze manier krijgen alle nodes binnen het netwerk, exact dezelfde kopie van het gedistribueerde grootboek. De enige manier om de geschiedenis te herschrijven, is ervoor zorgen dat op zijn minst 51% van alle nodes, het eens is met zo’n samenzwering. Zoiets is nog nooit gebeurd sinds de ontwikkeling van de bitcoin of Ethereum. Het doel van een decentraal netwerk is dat niemand bij machte is om dat te doen, anders zou het netwerk zelf onbetrouwbaar worden.

 

Vitalik Buterin

Op 17 juni 2016 kwam Vitalik Buterin, een van de oprichters van Ethereum, met een belangrijke mededeling: The DAO werd aangevallen. De DAO Hack was wereldnieuws. Vitalik Buterin gaf direct aan dat er al aan een oplossing gewerkt werd. Er was binnen het netwerk een voorstel gedaan voor een “fork”. Het fork-voorstel houdt in dat er in de basiscode van Ethereum, een soort van “schakelaar” moet worden geïnstalleerd. Een switch die ervoor zorgt dat er geen ether meer vanuit The DAO kan “weglekken”. Ook niet uit de uit de child DAO’s. Dit beveiligingsmechanisme wordt een fork genoemd en vindt eenmalig plaats, ten aanzien van een bepaalde gebeurtenis. De ether wordt voor altijd geborgen, in het desbetreffende adres.

 

Bevroren

Dat betekent dus dat er een zwarte lijst wordt ingebouwd in de Ethereum code, om ervoor te zorgen dat de hacker zijn ether niet kan verzilveren. De ether wordt in principe bevroren. Er is bij de “soft fork” dus geen sprake van transacties of blokken die helemaal teruggedraaid worden. Hoe dan ook: de DAO Hack had er in ieder geval voor gezorgd dat iedereen zich realiseerde, dat die onveranderbaarheid van het netwerk, misschien toch iets minder gegarandeerd was, dan ze tot op dat moment verondersteld hadden.

 

Open brief

Het frappante van de DAO Hack was een open brief die de aanvaller schreef aan The DAO en de Ethereum community. In de brief schreef hij of zij dat de “beloning” volgens hem of haar gewoon legaal was. Hij of zij dreigde juridische stappen te gaan ondernemen, tegen iedereen die maar zou proberen om zijn handelingen ongeldig te verklaren. Verschillende mensen wezen erop dat de cryptografische versleuteling van de boodschap niet geldig was en dat ze het vermoeden hadden dat de cryptografische handtekening weleens vals zou kunnen zijn. Desalniettemin was de brief erg goed geschreven en op sommige punten best wel juist beredeneerd. De belangrijkste voorwaarde van slimme contracten is immers, dat ze hun eigen scheidsrechter zijn en dat niets buiten de code ook maar iets aan de regels van de transactie kan veranderen.

 

Het hard fork voorstel

Een ander voorstel dat werd gedaan om de schade van de hack te beperken, de zogenaamde ‘hard fork‘ was iets agressiever. Alle miners (nodes) binnen het netwerk zou dan worden gevraagd, om al hun ether te retourneren naar The DAO. Hierdoor zou de diefstal volledig worden teruggedraaid. De houders van een identificatie-eenheid kunnen dan hun eigendommen weer inlossen. Uiteindelijk werd er consensus bereikt over het toepassen van de harde methode.

 

Terugvorderen

Dus ook de ether die bij de diefstal was buitgemaakt, zou teruggevorderd kunnen worden door een slim contract. Een slim contract met maar één opdracht: trek alle ether terug! De harde methode zou het voor alle deelnemers in The DAO eenvoudiger maken om hun financiering terug te trekken. Dit alles dankzij de miners, en omdat er nog niets gespendeerd was tot nu toe, zal er niets verdwijnen.

 

Interessante materie

En hier begint het hele verhaal natuurlijk wel een beetje te schuren. Want wat is er nu zo bijzonder aan de blockchain en de smart contracts? Uiteraard is dat het gegeven dat de regels en voorwaarden van een slim contract, binnen het netwerk in principe niet veranderbaar zijn. Zouden de ontwikkelaars van de slimme contracten hier van af moeten wijken, als dit een oplossing kan zijn tegen aanvallen zoals de DAO-hack? Veel houders van een identificatie-eenheid zullen daar wellicht positief tegenover staan. Anderen zullen echter faliekant tegen ingrijpen in de blockchain zijn. Dit wordt in de komende tijd interessante materie, waar de mensen bij The DAO en Ethereum heel hard over zullen gaan nadenken.

 

Tegenstanders

Op zich was het voorstel van de soft fork best redelijk. Het was een directe oplossing voor het probleem op dat moment. Het allerbelangrijkste ten aanzien van de blockchain moet de betrouwbaarheid zijn. Er zijn dan ook behoorlijk wat geluiden van tegenstanders. Zij stellen dat de deelname van Ethereum aan een project als The DAO, een vergissing is. Ethereum heeft als taak: het zorgen voor een stevige blockchain infrastructuur, waar allerlei soorten projecten en experimenten op kunnen floreren.

 

Schipperen

Ze zien de hard fork methode als “schipperen”, en dat komt de integriteit van de blockchain niet ten goede. Er zou door deze manier van handelen een signaal afgegeven kunnen worden, dat projecten zoals The DAO invloed kunnen uitoefenen, op de onderliggende structuur van de blockchain, ten gunste van henzelf. Dat is voor heel veel mensen absoluut niet acceptabel. Er zou volgens hen dan te veel van het basisprincipe van Ethereum worden afgeweken.

 

Ethereum protocol

De hard fork methode is een geschikte mogelijkheid tot een oplossing bij dit soort aanvallen. Echter zou het dan ook echt en alleen toegepast moeten worden als er sprake is van een situatie, waarbij een noodaanpassing van het Ethereum protocol zelf, aan de orde is. Niet voor projecten die op Ethereum draaien. Ik ben in ieder geval erg benieuwd hoe Ethereum hier in de toekomst mee om zal gaan.

 

Besturingsysteem van de toekomst

Het Ethereum platform heeft hier veel op het spel staan. Ze willen een blockchain netwerk neerzetten dat staat als een huis. Een stevig en solide systeem, dat weleens het besturingssysteem van de toekomst zou kunnen worden. Het lastige voor de ontwikkelaars van Ethereum is om nu goed te bepalen, welke weg ze precies moeten inslaan. Als ze namelijk niet adequaat handelen, dan wordt het blockchain platform direct een paar jaar terug in de tijd geworpen. Het zal niet gemakkelijk zijn om dan weer sterk terug te komen.

 

Onafhankelijkheid

Als er wordt ingegrepen in de blockchain, dan tast dat natuurlijk automatisch de onafhankelijkheid aan van de slimme contracten, die zijn opgezet in een netwerk van onafhankelijke nodes. Het Ethereum blockhain is tenslotte niet ontworpen om mensen in de gelegenheid te stellen, om in te grijpen of te handelen in welke situatie dan ook. Het is een veelbelovende technologie, maar de DAO Hack heeft in ieder geval laten zien dat we er voorlopig nog niet zijn, en dat het systeem nog verre van perfect is.

 

A hacker with a hood. The DAO hack. Een hacker met een capuchon. De DAO hack.

 

Aanklagen

Als een aanvaller zoals bij de DAO Hack wordt gezien als iemand die zijn Ether heeft verworven, als gevolg van bepaalde kenmerken van een slim contract, dan zou hij of zij in principe (en daar heeft de hacker van de DAO Hack ook mee gedreigd) de miners kunnen aanklagen. Hij of zij zou de miners het verwijt kunnen maken, dat ze juist hem proberen te beroven van hetgeen hem toebehoort. Een aanvaller zou zelfs het Ethereum platform kunnen aanklagen, als zij de software zouden schrijven, waarmee de “fork” wordt uitgevoerd.

 

Omkoping

Aan de andere kant is het uiteraard ook mogelijk dat de houders van een DAO identificatie-eenheid, de nodes kunnen aanklagen die niet vóór een fork methode stemmen. Ze zullen dan duidelijk maken dat zij vinden dat de nodes in hun taak verzuimen. Omdat mensen de nodes hanteren zoals geld, zou er ook een situatie kunnen ontstaan, waarbij de aanvaller geld aanbiedt om tegen de fork te stemmen. Een soort omkoping dus. Het is dan heel goed mogelijk dat overheden zich gaan roeren en zullen proberen om aanpassingen te maken, in het besturingssysteem van het Ethereum platform. En dat is natuurlijk juist niet de gedachte achter de blockchain.

 

Nieuw tijdperk voor Ethereum

Er is overduidelijk een enorme stimulans voor de community, om de aanvaller van de DAO Hack te identificeren. Ongetwijfeld is er meer dan genoeg informatie over hem of haar te vinden, om uit te vogelen wie het is. Het zal een kwestie van tijd zijn, maar uiteindelijk zullen ze er toch wel achter komen. De DAO Hack en de gebeurtenissen daaromheen, markeren in ieder geval het begin van een nieuw tijdperk voor de Ethereum blockchain.

 

Op de hoogte blijven van de ontwikkelingen op het gebied van de blockchaintechnologie, DAO of Ethereum? Meld je dan nu aan voor onze blogpost!

 

Meld je aan voor de blogpost!
Ik ga ermee akkoord dat mijn naam en e-mailadres worden gedeeld met Mailchimp.
Met de blogpost van Uitleg Blockchain blijf je automatisch op de hoogte van de nieuwste ontwikkelingen omtrent de blockchain technologie.
We hebben een hekel aan spam. Uw e-mailadres zal niet worden verkocht of gedeeld met anderen (afgezien van het marketing automation platform dat wij gebruiken voor onze e-maillijst).

Leave a Reply