Blockchain i et overblik

Blockchain er betegnelsen for en teknologi, der blev implementeret første gang i 2009 og er bedst kendt for sin anvendelse i forbindelse med kryptovaluta. Blockchain er blevet en meget udbredt teknologi, der hurtigt forstyrrer så forskellige sektorer som cybersikkerhed, valg, fast ejendom, analyser og ridesharing.

I forbindelse med kryptovaluta fungerer en blockchain som en distribueret offentlig hovedbog, en sikker metode til registrering af peer-to-peer-transaktioner og til at gøre dem offentligt verificerbare. Blockchain er ikke afhængig af en central myndighed, og vigtigst af alt gør den dobbeltudgifter og forfalskninger umulige. Teoretisk set er det muligt at bruge penge dobbelt og forfalsket, men det kræver længere tid end universets nuværende alder.

At forklare blockchain-teknologien grundigt på plads i denne artikel ville være endnu mere umuligt! I stedet vil vi forklare nogle få grundlæggende begreber i forbindelse med, hvordan Scrive bruger blockchain. Afhængigt af hvor teknisk kyndig du er, er det følgende enten et overblik på højt niveau eller et granulært dybdegående dyk.

Hvorfor Scrive bruger blockchain

Scrive garanterer integriteten af dit dokument ved at forsegle det med en digital signatur. Blockchain-teknologien giver en metode til at sikre den digitale signatur ved at indtaste den i en permanent, verificerbar offentlig registrering. Det betyder, at du i tilfælde af en tvist kan bevise, at dit dokument:

  • ikke er blevet ændret
  • ikke er en forfalskning
  • blev oprettet på den nøjagtige dato og det nøjagtige tidspunkt, der er angivet i den digitale signatur

Kryptografisk hash

Det er muligt at skabe et unikt, uforfalskeligt fingeraftryk af en digital fil ved at anvende en algoritme på de binære data. Det resulterende fingeraftryk er en værdi, der er kendt som en kryptografisk hash.

Et eksempel på en meget simpel hashing-funktion:

  • bruge hvert andet bogstav
  • højst 6 bogstaver i hash-koden
  • om nødvendigt med X som supplement

Blockchain –> BOKHIX
Tbe, onot to be, that is the question –> TBONTO

I betragtning af de mulige kombinationer af bogstaver ville denne algoritme ikke kunne skabe virkelig unikke fingeraftryk for disse tekstkæder. Der findes dog langt mere sofistikerede måder at gøre det på. Man kunne bruge binær repræsentation af bogstaver og anvende funktioner, der er langt mere interessante end “hvert andet bogstav”. I betragtning af at en simpel fil på 100 Kb kan repræsenteres af en 800 000-cifret streng af 1’er og 0’er, er det ikke overraskende, at folk laver ph.d.-projekter om hashing-funktioner.

I tilfælde af et Scrive-dokument er filen en PDF-fil af det elektronisk underskrevne dokument, bevispakken og eventuelle bilag. For at forsegle et elektronisk underskrevet dokument bruger Scrive algoritmen SHA-256, som gør det umuligt at generere en identisk hash fra et andet dokument eller en anden fil. Og en kryptografisk hash er af en sådan art, at det er umuligt at bruge den til at genskabe dokumentets indhold. Hash-koden sendes derefter til Scrives leverandør og partner Guardtime.

Merkle-træ

Hvis du vil sikre integriteten af flere filer, kan du indarbejde deres hash-værdier i en struktur kaldet et Merkle-træ. Hver hash er en knude i træstrukturen.

Hvert af bladene (knuderne på det laveste niveau i træet) er en hash, der repræsenterer en digital fil (ikke selve filen). Du kan kombinere hashværdierne for to tilstødende blade (Hash G og Hash H) og bruge den samme hashfunktion (SHA-256-algoritmen) til at beregne en tredje hashværdi, hvilket skaber en node et niveau højere oppe i træet (Hash C). Hvis man fortsætter denne proces opad i træet, kan man beregne hashværdien på det øverste niveau (Top).

Alle noder i træet (bladene og de mellemliggende hashværdier) er relateret til hinanden på en sådan måde, at man kun kan beregne den korrekte værdi på øverste niveau, hvis alle hashværdierne i træet er korrekte. Det vil sige: de er ikke blevet ændret eller forfalsket. Denne beregningsmetode gør forfalskning umulig, for hvis en enkelt hash ændres, kan man ikke kompensere ved at ændre en anden hash i træet for at nå frem til den korrekte hash på øverste niveau.

Hvis dit dokument er repræsenteret af Hash G i diagrammet, skal du bruge værdierne for Hash H, Hash D og Hash B for at beregne Top.

Blockchain: sikker opbevaring

En blockchain er en effektiv og sikker måde at opbevare registreringer af flere Merkle-træer på. Du kan se en blockchain som en database. I modsætning til de fleste konventionelle databaser, der består af tabeller med kolonner og rækker, består en blockchain af sekventielle blokke, der er sikkert forbundet med hinanden ved hjælp af kryptografi. En anden forskel er, at sikkerheden ikke afhænger af adgangstilladelser; i stedet verificeres dataene uafhængigt af hinanden.

I de fleste konventionelle databaser er der fire typer handlinger, som du kan udføre: oprette, læse, opdatere og slette (CRUD). Men med blockchain er det kun muligt at oprette og læse. For at oprette nye data tilføjes en ny blok til kæden, så den sidste blok i kæden er den nyeste. Når hver ny blok tilføjes, valideres den af flere uafhængige parter for at beskytte mod svindel.

En KSI-blockchain er i virkeligheden ét stort, kontinuerligt voksende Merkle-træ. Hver blok er en hash-værdi, der er knyttet til den foregående blok på en sådan måde, at hvis en post i kæden blev ændret, ville det være umuligt at beregne hash-værdierne for de blokke, der tilføjes senere, korrekt.

At tilføje nye data til blockchainen er det samme som at oprette en ny knude i et Merkle-træ. Man kombinerer hashværdien af roden af et Merkle-træ (som endnu ikke er forbundet med blockchainen) og hashværdien af den foregående blok. Derefter bruger man den samme hash-funktion (SHA-256-algoritmen) til at beregne hash-koden for den nye blok. Den nyeste blok er ubrydeligt kædet sammen med den foregående blok samt med det Merkle-træ, der netop er blevet tilføjet til blockchainen.

Hvis vi vender tilbage til eksemplet med kryptovaluta, indeholder hvert af bladene i Merkle-træet oplysninger om hovedbogen. Da hovedbogen er offentlig og uforanderlig, kan alle beregne saldoen på en individuel konto, og ingen kan vilkårligt ændre en saldo.

 

Kontrol af dokumenter

I tilfælde af forsegling og verifikation af et Scrive-dokument offentliggør Guardtime med jævne mellemrum (en gang om måneden) hash-koden på øverste niveau i det stadigt voksende Merkle-træ. Denne hash er knyttet til hashes af alle de Scrive-dokumenter, der er blevet underskrevet og forseglet i den foregående måned.

For at validere den nye blok offentliggør Guardtime hash-koden i Financial Times, som opfylder den juridiske standard for “bredt bevidnede medier”. Groft sagt er hash’en blevet indført i det offentlige register. Ændringen af et enkelt blad i et Merkle-træ ville bryde blockchainen. Offentliggørelsen af hash-koden i Financial Times er et middel til at verificere den korrekte værdi af en blok uafhængigt af Scrive eller Guardtime.

Ved offentliggørelsen forsegles alle Scrive-dokumenter, der er repræsenteret af den nye hash, en anden gang. Den anden forsegling giver en vej til toppen af træet, dvs. de mellemliggende hashværdier, som man skal bruge for at genberegne den offentliggjorte hash.

Verifikationen kræver kun det forseglede dokument og adgang til den hash, der er offentliggjort i Financial Times. Processen vil være som følger:

  • Den nye hash-værdi af dokumentet beregnes på ny.
  • Genoprettelse af Merkle-træet ved hjælp af oplysningerne i seglet.
  • Sammenligning af hash på øverste niveau med den hash, der er offentliggjort i Financial Times.

Ikke i sidste ende

I betragtning af de mange forskellige blockchain-applikationer, implementeringer og nye udviklinger inden for teknologien vil du sandsynligvis finde en række forskellige forklaringer på disse emner. Der er ingen hurtig og nem måde at forstå blockchain-teknologien på, og de fleste af os vil aldrig forstå de fine detaljer. Så hvis du er interesseret, skal du tage dig god tid og konsultere flere kilder.

Har du spørgsmål?

Fortæl os om, hvad du forsøger at løse i dag

Kontakt os