5/18/2017

Dialogic Blockchain Serie #1

Du ville måske ikke forvente det, men fundamentet for en blockchain ligner meget noget, vi alle besidder: en fingeraftryk. Digitale fingeraftryk forhindrer, at én part kan overtage kontrol over en blockchain. Men hvordan fungerer det præcist? Det er tid til lidt matematik...

Denne tekst er automatisk oversat og kan derfor afvige fra originalen. Der kan ikke drages rettigheder på baggrund af denne oversættelse.

💬 Click here to read this page in English.

Sådan fungerer en blockchain? Del 1: fingeraftryk

Et fingeraftryk er unikt. Hvis du har en persons fingeraftryk, kan du nemt verificere, om dette fingeraftryk tilhører den pågældende person. Har du kun et fingeraftryk, er det (uden en tidligere indsamlet liste af fingeraftryk) praktisk talt umuligt at identificere personen uden at gennemgå fingeraftrykkene fra alle personer. Matematisk set kan du også bestemme et stykke informations fingeraftryk.

Hash

Denne digitale fingeraftryk, også kaldet et hash, danner grundlaget for en blockchain. For at forstå, hvorfor digitale fingeraftryk er så vigtige, er det vigtigt først at forstå, hvordan de fungerer.

Enhver kan bestemme det digitale fingeraftryk af et stykke information ved at beregne en (kompleks) matematisk ligning. Det spiller ingen rolle, hvor lang informationen er (ligesom menneskers fingeraftryk ikke er specifikt afhængige af deres højde!). Når du har informationen og fingeraftrykket, kan du nemt verificere, om de passer sammen.

Bitcoin, en blockchain for finansielle transaktioner, bruger den såkaldte ‘SHA-256’-hashmetode. Du kan f.eks. selv beregne SHA-256-fingeraftrykket for en tekst her: her. Fingeraftrykket af teksten “Tommy” er for eksempel:

5bee7cef227fe327178bd04bb7cc75ba9a36f1b8867ba1025430761a226539e9.

Lad os ændre store bogstav til et lille bogstav: hvad er fingeraftrykket af “tommy”?

044f4b3501cd8e8131d40c057893f4fdff66bf4032ecae159e0c892a28cf6c8e

Selvom kun ét bogstav er forskelligt, er fingeraftrykket helt anderledes! Ikke overraskende: dit og din brors eller søsters fingeraftryk vil, selvom I ligner hinanden meget, også være helt forskellige.

Hvis jeg kun gav dig hash’en “044f4b..” fra ovenstående, ville den eneste metode at finde ud af, hvilken tekst den hører til, være at gennemgå alle mulige tekster. Kun efter mange forsøg ville du finde ud af, at fingeraftrykket passer til teksten “tommy”. Matematikere kalder fingeraftryksmetoden derfor one-way: at bestemme et informations fingeraftryk er enkelt, men at finde informationen ud fra et fingeraftryk er næsten umuligt.

Proof of work

Fingeraftrykkenes tilfældighed gør det muligt at bruge dem til en interessant anvendelse. Som du så ovenfor, er bogstaverne og tallene i fingeraftrykket meget tilfældige. Matematisk set er sandsynligheden for, at et fingeraftryk af en bestemt tekst begynder med en ‘0’ 1 ud af 16. Hvis jeg beder dig om at finde en tekst, hvor hash’en begynder med en ‘0’, vil du i gennemsnit skulle prøve seksten tekster (og måske endnu flere, hvis du har uheld!). Hvis jeg bad om en hash, der begynder med to nuller, ville det tage dig i gennemsnit 16 x 16 = 256 forsøg; for hvis det første tal er en ‘0’, er der kun en sandsynlighed på 1/16e, at det andet tal er nul.

Antallet af nuller, som en hash begynder med, siger noget om antallet af tekster, du (i gennemsnittet) har måttet prøve, før du fandt dette fingeraftryk. En sådan hash kan derfor bruges som en form for ‘bevis for indsats’ (proof of work). Hvis du viser mig en tekst, hvor hash’en begynder med to nuller, ved jeg, at du cirka har beregnet en hash 256 gange.

Nu tilbage til blockchain: hvad bruger vi disse fingeraftryk til? I blockchain accepteres kun nye blokke, når du har bevist, at du har udført en vis mængde beregningsarbejde. Dette forhindrer alle i blot at tilføje blokke: regnekraft koster penge, og selve beregningen tager tid. Fordi det er meget dyrt altid at have mere regnekraft end de andre deltagere, er det praktisk talt umuligt at få kontrol over en blockchain alene!

For at forstå, hvordan noget virkelig fungerer, foretrækker jeg at skille det helt ad og prøve at samle det selv igen.

Vil du vide mere om dette emne?

Tommy van der Vorst, partner

Mød Tommy

Anmod om tilbud?

Har du et konkret forskningsspørgsmål eller -opgave og ønsker du et tilbud fra os? Så kan du sende dit spørgsmål pr. e-mail til tenderdesk@dialogic.nl. Du kan også informere os via denne adresse om (offentlige) udbud. Vi svarer inden for fem hverdage.

Mere information