The DAOs oppgang og fall

in norwegian •  8 years ago 

Starten på slutten. Hindenburg går opp i flammer over New York. Kilde: Wikipedia
Starten på slutten. Hindenburg går opp i flammer over New York. Kilde: Wikipedia

The DAO fikk voldsom pressedekning da den kun på et par uker samlet inn den enorme verdien $200M (1,6 milliarder kr). Fenomenet kan likevel ha gått deg hus forbi så her er en

Kjapp gjennomgang

  • Det finnes en ny type database som kalles blockchain. Databasen er desentralisert, distribuert og peer-to-peer.
  • Den første anvendelsen av blockchain var Bitcoin i 2009
  • Bitcoin gjør det mulig å overføre verdier direkte mellom personer uten en tredjepart, som en bank
  • De siste årene har man begynt å undersøke “blockchain 2.0” — å gjøre blockchain ansvarlig for mer enn kun enkle overføringer, men istedet hele kontrakter. Såkalt smarte kontrakter.
  • En smartkontrakt gjør det mulig å programmere en avtale og la blockchainen håndheve avtalen.
  • DAO står for Decentralized Autonomous Organization, altså en selvstyrende organisasjon

Dette var det ultimate beviset på hva blockchain gjorde mulig.

Nok innledning. The DAO er utviklet som en smartkontrakt. Kontrakten fungerte som en selvstyrende organisasjon. Hele verden puttet penger inn i kontrakten og fikk stemmesedler tilbake. Organisasjonens formålsparagraf og vedtekter ble altså programmert inn og overholdes av blockchain. The DAOs formål: crowdfunde blockchain-prosjekter og (forhåpentligvis) tjene penger på resultatene. Alle som puttet penger inn kunne være med på å stemme på hva The DAOs skulle prioritere.

Strukturen på The DAO: Medlemmene stemmer på hvilke Contractors de vil ha til å lage hvilke produkter. Bestillingen kommer med en slump penger for å kunne gjennomføre forespørselen. The DAO tjener så igjen penger på det utviklede produktet. Kilde: daohub.org
Strukturen på The DAO: Medlemmene stemmer på hvilke Contractors de vil ha til å lage hvilke produkter. Bestillingen kommer med en slump penger for å kunne gjennomføre forespørselen. The DAO tjener så igjen penger på det utviklede produktet. Kilde: daohub.org

Folk investerte hele 1,6 milliarder kroner i smartkontrakten The DAO. Dette er penger som ble låst inni en smartkontrakt på blockchain. Pengene ble ikke eid av noe enkeltmenneske og kunne heller ikke styres av noe annet enn et flertall. At personer fra hele verden, som ikke kjente hverandre, la inn så store verdier i en organisasjon for samarbeid viste en voldsom tillit til teknologien og var det ultimate beviset på hva blockchain gjorde mulig.

Så skjedde det som ikke måtte skje

Plutselig en dag begynte pengene å forsvinne ut av The DAO. $60M ble lekket ut av smartkontrakten i en voldsom fart. Noen av de mest prominente blockchain-utviklerne foreslo å fikse bugen før verdiene i realiteten var flyttet, og på den måten unngå at $60M ble stjålet.

Ethereums første store applikasjon gjorde et solid krasj på størrelse med Hindenburg-ulykken og dro med seg Ethereum i dragsuget.

Dette skapte furore hos rundt halvparten av alle blockchain-interesserte fordi hele poenget med blockchain var at det ikke skulle kunne stenges eller overstyres: “Koden er kontrakten!”. Ideen var at alt som var mulig å gjøre med kontrakten var lov til å gjøre.

To fix or not to fix

Se for deg en motorvei hvor alle bilene kjører i samme retning. Plutselig begynner rundt halvparten å ta av og kjøre ut på en ny motorvei. Antall biler halveres og det er uenighet om hva som er veien framover.

Kilde: www.cryptocoinsnews.com
Kilde: www.cryptocoinsnews.com

Det ble avholdt en avstemning og det ble besluttet å rette opp feilen. Håpet var at alle skulle bli med å ta til høyre ut på den nye motorveien hvor alt var fikset, men dette er jo desentralisert peer-to-peer teknologi, så alle gjør i større grad som de vil.

Mesteparten tok til høyre og gjennomførte bugfiksen, men mange fortsatte også å kjøre rett frem. Det vi har endt opp med nå er to forskjellige blockchains: henholdsvis med navnene Ethereum og Ethereum Classic. Dette åpner for at en transaksjon i den ene blockchainen også kan være gyldig i den andre, som åpner for nye sikkerhetsproblemer.

Verdien av 1 Ether (som en Bitcoin, bare på Ethereum-blockchainen) er også forvirrende:

  • 1 post-fork ETH (Ethereum) er kun 1 ETH. Perfekt
  • 1 post-fork ETC (Ethereum Classic) eksisterer ikke
  • 1 pre-fork ETH er både 1 ETH og 1 ETC nå, som vil si at verdien av 1 ETH (fra før forken), er verd både verdien av 1 ether og verdien av 1 ETC

Ethereums første store applikasjon gjorde et solid krasj på størrelse med Hindenburg-ulykken og dro med seg Ethereum i dragsuget.

Hva kan man lære av dette

Skal du programmere smartkontrakter er det flere tips for hvordan man kan gjøre dette sikrere. Her er en liste av de viktigste tipsene:

  • Ikke bruk send() til å overføre verdier. Gjør det istedet slik:
if (!msg.sender.call.value(amount)())
 throw;
  • Gjør den faktiske pengoverføringen til slutt i kontrakten, slik:
function withdraw(string key) {
  if (msg.sender == records[key].owner) { // Only owner withdraw
    uint earnings = records[key].vault;
    records[key].vault = 0; // Reset vault BEFORE sending!
    if (!msg.sender.call.value(earnings)()) // Sending
      throw;
  }
}

Det blir spennende å følge Ethereum-utviklingen videre. For videre lesning kan jeg anbefale R3s oppsummerings-post The Weekend Read.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
  ·  8 years ago Reveal Comment

Congratulations @ramvi! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 3 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!
  ·  7 years ago Reveal Comment