Det er såre simpelt at lave sin egen blockchain. Det forklarer Ole Tange, PROSAs it-politiske rådgiver, og giver her et eksempel på, hvor simpelt han selv opretter en blockchain til software:
Jeg downloader programmet GIT på nettet.
Jeg kører derefter ”git init” og laver så en ”readme”-fil.
Den tjekker jeg ind: Jeg skriver ”git add readme”.
Derefter skriver jeg ”git commit -a -m” og first version”.
Så enkelt er det at lave en blockchain!
Hele readme-filen ligger altså inde i transaktionen og har fået en ”hash”.
Hash er en kryptografisk funktion, der konverterer inputdata af variabel længde til en fast længde output, der normalt er en unik streng af tegn – et digitalt fingeraftryk af en fil.
Kæmpe fordel for udvikling af software
Ovenstående betyder, at Ole Tange vil kunne gå tilbage til lige præcis den version, uanset hvilke ændringer der senere laves i den software, han skriver på. Alle senere versioner kan altså føres tilbage til hans version.
Hvis Ole Tange signerer versionen, vil alle kunne se, at hans version var udgangspunktet, og at han er ophavsmand.
Andre kan ”forke” Oles version og lave deres egen version baseret på hans. De bliver hermed en ny forgrenet block i kæden. Når deres version sendes videre og downloades af andre, vil de så kunne se hele historikken tilbage til Oles start. Den kan der ikke ændres på.
Der er altså en ”kæde”, som fører tilbage til det oprindelige udgangspunkt, som senere versioner ikke kan ændre på.
Det kan være en kæmpe fordel for udvikling af netop software, fordi alle kan se historikken og hele kæden baglæns, og dermed også hvilke ændringer som eventuelt har introduceret en fejl undervejs.
Det gælder ikke bare software.
Brugbart i mange sammenhænge
Blockchain kan sådan set bruges i mange sammenhænge, hvor ophav og autencitet er vigtig for at kunne verificere hele vejen tilbage. Tænk bare på design.
Eller for den sags skyld økologiske råvarer, det kan være fotos eller videoer, eller andet hvor ophav og ejerskab er vigtig.
Gælder det fotos eller videoer, vil teknologien eksempelvis kunne sikre en kæde af troværdighed undervejs.
Dog vil en ondsindet stadig kunne kopiere og manipulere foto og udgive det som sit eget.
Men der vil ikke være en troværdighedskæde, hvilket burde vække opsigt.
For kryptovaluta er sikkerheden en anden. Fordi troværdighedskæden også er en transaktionskæde.
Man kan altså ikke kopiere en bitcoin og udgive den som sin egen.
Man kan (i princippet) kopiere softwaren og udgive en ny kryptovaluta.
Det er bare ikke en bitcoin.
Blockchain: En decentraliseret, distribueret database, der opretholder en voksende liste af transaktioner organiseret i blokke. Transaktioner kan være finansielle transaktioner, men kan også være ændringer i software.
Blockchainen: Den blockchain, som ligger bag kryptovalutaen Bitcoins. Andre senere kryptovalutaer bruger en smule anderledes block chains.
Transaktion: Den ændring, der sker fra en tilstand til anden tilstand. Eksempelvis bitcoins overføres fra A til B eller i tilfældet softwarekode, at der er sket en ændring i en fil.
Miner: En person eller enhed, der bruger computerkraft til at løse matematisk problem for at validere transaktioner og tilføje nye blokke til blockchainen. Det er en sikring mod, at simple kriminelle kan lave deres egne transaktioner i systemet. Bydesign er det lavet sådan, at det kræver store ressourcer at lave en transaktion, som så skal valideres af 51 procent, for at transaktionen kan finde sted. Derfor genereres der en matematisk kode, som kræver store ressourcer: proof of work, proof of space og proof of stake.
Hash: En kryptografisk funktion, der konverterer inputdata af variabel længde til en fast længde output, der normalt er en unik streng af tegn – et digitalt fingeraftryk af en fil.
Proof-of-Work (PoW): Algoritme, der kræver, at minearbejdere løser beregningstunge problemer for at validere transaktioner og oprette nye blokke.
Proof-of-Space (PoSpace): Algoritme, der kræver, at deltagerne allokerer en vis mængde diskplads for at deltage i netværket og validere transaktioner.
Proof-of-Stake (PoS): Algoritme, hvor ”vinderen” bliver valgt til at oprette en ny blok baseret på deres andel af coins og nogle gange kombineret med andre faktorer som alderen på deres stake.
Smart Contracts: Selvudførende kontrakter, hvor betingelserne for aftalen er skrevet i kode og kan automatiseres på blockchainen.
Decentralisering: En fundamental egenskab ved blockchain, hvor magt og kontrol ikke ligger hos én central enhed, men er spredt ud på netværket.
Ledger: En optegnelse over alle transaktioner, som er offentlig og uforanderlig i en blockchain.
Node: En computer eller server, der deltager i blockchain-netværket og hjælper med at validere og sprede data.
Fork: En ændring i blockchainens protokol, som kan føre til to separate versioner af blockchainen.
Token: En digital enhed på en blockchain, som kan repræsentere en værdi, aktiver, eller rettigheder. Der findes flere typer af tokens, fx utility tokens, security tokens og NFT'er (Non-Fungible Tokens).
Consensus Algorithm: Algoritmen, der bruges til at sikre, at alle deltagere i blockchainen er enige om validiteten af data og transaktioner. Proof of work, Proof of Space, og Proof of stake er forskellige eksempler på konsensusmekanismer.
51 procent Attack: En situation, hvor en angriber får kontrol over mere end 50 procent af netværkets miner eller validatorer og dermed kan manipulere blockchainen. Det giver en magt til reelt at beslutte, hvilken block, der skal sættes på og dermed, hvem der får ”minergevinsten”. Med andre ord, du kan godt have vundet ”minergevinsten”, men hvis 51 procent ikke anerkender det, så er det ikke din alligevel. Det kunne eksempelvis være karteller, som ”rotter sig sammen”, eller minere som samarbejder og deler gevinsten.
GAS: En måleenhed for de ressourcer (ofte beregning og tid), der bruges til at udføre operationer på en blockchain, f.eks. Ethereum. Gas bruges til at betale transaktionsgebyrer.