2017-06-01

Dialogic Blockchain Series #2

En blockchain består, som namnet antyder, av på varandra följande block med information. I föregående del har vi sett hur proof of work kan förhindra att alla lägger till information godtyckligt i en blockchain. Men hur fungerar det exakt?

Denna text är automatiskt översatt och kan därför avvika från originalet. Ingen rätt kan härledas av denna översättning.

💬 Click here to read this page in English.

Hur fungerar en blockkedja? Del 2: block

I grund och botten kan en blockkedja bäst förstås som en sorts kalkylblad som finns online (i "molnet"). Det delas av flera personer, människor kan arbeta i det samtidigt och alla ändringar är synliga för alla. Detta gäller också för blockkedjan, där det också gäller att du endast kan lägga till information "nederst". Du kan alltså ändra saker, men historiken förblir alltid intakt. En blockkedja är på så sätt väldigt transparent.

Men låt oss börja från början: hur ser ett "block" egentligen ut? Ett block innehåller viss användbar information, såsom en digital transaktion eller en överenskommelse mellan två parter.

För att blockkedjan ska acceptera ditt block måste hashvärdet (eller den digitala fingeravtrycket, se föregående artikel i denna serie) av blocket börja med ett förbestämt antal "nollor". Som förklarades i föregående artikel visar du på så sätt att du har utfört en viss mängd beräkningsarbete när du skapade blocket. Det förhindrar, som vi såg förra gången, att en person tar full kontroll över en blockkedja.

För att få fingeravtrycket att börja med det föreskrivna antalet nollor, måste vi "försöka" ett stort antal varianter av blocket för att se om fingeravtrycket uppfyller kravet. För att kunna göra det lägger vi till ett (hittills oanvänt) nummer i blockets innehåll: en nonce. Noncen varieras tills fingeravtrycket på blocket börjar med det föreskrivna antalet nollor.

Den "double spend"

Blockkedjan är en kedja av block - kedjan kan endast förlängas med ett block åt gången. Det är naturligtvis möjligt att någon har lyckats räkna ut ett nytt block samtidigt med någon annan. Dessa block kan motsäga varandra: ett kan till exempel innehålla en transaktion där pengar spenderas till person A, medan det andra blocket kan innehålla en transaktion där pengar spenderas till person B. Naturligtvis kan bara en av transaktionerna vara giltig. Hur löser blockkedjan detta?

I en blockkedja "vinner" till sist den längsta kedjan. Lyckas du därför först med att skapa ett block som följer efter ett annat block, då är chansen större att det blocket till sist blir en del av "den längsta" kedjan. Exemplet nedan visar detta. Blocken 006406 och 006274 skapas samtidigt. Eftersom fler block följer på block 006406 blir detta block till sist en del av den längsta kedjan.

Denna princip hjälper även till att förhindra ändringar i äldre block. När blocken innehåller penningtransaktioner vill du naturligtvis inte att pengar som väl har spenderats ska kunna dras tillbaka!

Om jag vill ändra transaktionen i block "006406", vad måste jag göra? Att ändra transaktionen gör att blocket förändras, och därmed även blockets fingeravtryck (och som tidigare nämnts är det omöjligt att ändra blocket så att det har exakt samma fingeravtryck som det gamla blocket). Vad som kan göras är att försöka lägga till blocket igen och om möjligt även räkna om de efterföljande fyra blocken, vilket resulterar i en längre kedja än den nuvarande kedjan.

För att (totalt) bryta fem block måste du hitta fem gånger ett korrekt fingeravtryck. Ju längre kedjan är, desto svårare blir det. Jämför med de ryska matryoshkadockorna: om du vill byta ut den innersta måste du ta isär dem en efter en och sedan sätta ihop dem igen en efter en.

Samtidigt fortsätter de andra deltagarna naturligtvis att försöka förlänga den längsta kedjan (där den oönskade transaktionen ingår). För att vara snabbare än resten behöver du betydligt mer beräkningskraft (närmare bestämt behöver du en "majoritet" av >50% av den totala beräkningskraften i nätverket!).

Tack vare blockkedjan går historisk information inte att förändra och pengar kan bara spenderas en gång, tack vare den nödvändiga majoriteten av beräkningskraft. Smart tänkt!

För att förstå hur något verkligen fungerar, föredrar jag att ta isär det helt och hållet och försöka sätta ihop det igen själv.

Vill du veta mer om detta ämne?

Tommy van der Vorst, partner

Lär känna Tommy

Begär offert?

Har du en konkret forskningsfråga eller uppdrag och vill ha en offert från oss? Skicka i så fall din fråga via e-post till tenderdesk@dialogic.nl. Du kan också kontakta oss på denna adress angående (offentliga) upphandlingar. Vi svarar inom fem arbetsdagar.

Mer information