Hvad er BlockChain, BitCoin, PoW og PoS ?

Dette er et ældre indlæg fra omkring 2016 – indholdet gælder dog stadig.

Hvad er BlockChain, BitCoin, PoW og PoS ?

Dette indlæg er ment for dem,‭ ‬der måske lige har stiftet bekendtskab med krypto-verdenen,‭ ‬og ikke føler,‭ ‬at de har helt styr på,‭ ‬hvad alle de forskellige ting er og betyder.
Visse elementer i denne gennemgang vil være yderst simplificerede,‭ ‬da målet er,‭ ‬at hjælpe den absolutte nybegynder med at opnå en mere grundlæggende viden om emnet.
Følgende er udelukkende skrevet om BlockChain og BitCoin,‭ ‬da den stadig er den mest kendte af alle de eksisterende krypto mønter.

Indlæget vil gennemgå følgende:

  1. Hvad er BlockChain og hvordan virker det.
  2. Hvad kan BlockChain bruges til og hvad er BitCoin egentligt‭?
  3. Hvad er kryptografiske nøgler‭?
  4. Hvordan skabes BitCoins,‭ ‬og hvordan holder det decentrale netværk styr på alle overførslerne‭?
  5. Hvad betyder PoW og PoS‭?

Denne gennemgang skrevet med simplificering for øje,‭ ‬for at kunne være let forståelig.‭ ‬Så skulle du finde en fejl,‭ ‬fordi det er simplificeret,‭ ‬eller noget der kan misforstås,‭ ‬så undskylder jeg dette.‭

Hvad er BlockChain ?

1‭) ‬Hvad er BlockChain‭ ?

Meget basalt sagt,‭ ‬er BlockChain et datasæt.‭ ‬Men i modsætning til datasæt som vi kender dem,‭ ‬der normalt er centraliserede og fysisk placerede på servere,‭ ‬f.eks.‭ ‬i en virksomhed eller i skyen ved en udbyder – ‬er BlockChain teknologien decentraliseret.‭ ‬Det betyder,‭ ‬at databasen er duplikeret over tusindvis af computere verden over.

Hvad er så hele humlen ved dette‭?

Der er utroligt mange fordele ved dette,‭ ‬og vi nøjes med at kigge på nogle få af dem:

  • et decentraliseret datasæt er teoretisk umulig at hacke
    Normale databsæt er sårbare overfor hackerangreb,‭ ‬da en hacker‭ – ‬hvis‭ ‬denne får adgang‭ – ‬vil kunne oprette,‭ ‬ændre og slette data.‭ ‬Selvfølgelig kan sikkerheds og fornuftige backup-løsninger forsøge at forhindre dette samt genetablere de originale data.‭ ‬Men dette er igen forbundet med store udgifter samt tidsforbrug‭ – ‬desuden er det langt fra altid,‭ ‬at et hackerangreb bliver opdaget,‭ ‬før der er gået rigtig lang tid.‭ ‬Og så er problemet lige pludselig så stort,‭ ‬at det kan virke uoverskueligt og blive rigtigt,‭ ‬rigtigt dyrt‭!
  • et decentraliseret datasæt kan ikke bare lukkes ned
    I det at dataene i den decentrale database findes på servere placeret over alt i verden,‭ ‬er dataene meget sikrere.‭ ‬Var dataene centralt placeret,‭ ‬er disse udsat for sårbarheder over for blandt andet strømafbrydelse,‭ ‬der vil kunne afbryde serverens adgang til Internettet,‭ ‬og derved også brugernes adgang til dataene.‭ ‬Ved et decentral datasæt betyder det intet,‭ ‬hvis en server skulle blive utilgængelig.‭ ‬Man benytter bare en af de andre servere i stedet.
  • data i et decentralt datasæt kan let verificeres
    Da dataene findes på mange servere,‭ ‬er det utroligt let at verificere,‭ ‬at dataene er gyldige – ‬umanipulerede og up-to-date.‭ ‬Dette giver et meget større trygheds-princip,‭ ‬og samarbejdsparterne kan derfor let benytte disse data i deres egne produkter,‭ ‬uden at skulle være nervøs for,‭ ‬at dataene er forkert.
  • opdateringer i et decentralt datasæt er endegyldige‭! (‬Immutable‭)
    Foretager du en ændring i et decentralt datasæt, så som BlockChain,‭ ‬kan denne ændring ALDRIG laves om.‭ ‬ALLE data gemmes for evigt.
  • dataene gemt i et decentralt datasæt er let tilgængelige
    Da dataene findes på utallige servere,‭ ‬er det lettere og hurtigere at tilgå disse.‭ ‬I stedet for at x antal systemer forbinder til den samme server – ‬der således under peak-belastning udsættes for store krav om ydeevne. ‬Kan alle samarbejdspartnere selv have en kopi af datasættet,‭ ‬eller forbinde til den der har det,‭ ‬med er den bedste forbindelse (‬laveste ping mm.‭)‬.
  • samarbejde om samme data bliver mere effektivt
    Skal flere parter samarbejde om samme data,‭ ‬er det langt lettere og mere effektivt,‭ ‬at alle parterne har adgang til de samme opdaterede data.
    I stedet for at skulle ændre data,‭ ‬og give modparten/samarbejdspartneren besked på,‭ ‬at nu har du altså udført dine ændringer,‭ ‬sker alle opdateringerne simultant over hele netværket,‭ ‬og alle parter har derfor altid de opdaterede data tilgængelige.

Hvis man ikke benytter et decentral datasæt (‬eller en af de mange løsninger,‭ ‬der ellers tilbydes‭)‬,‭ ‬er der desuden stor mulighed for,‭ ‬at der kan opstå fejl – ‬hvis samme dokument skal gennemses og redigeres rigtigt mange gange.‭ ‬Sender man dokumenter frem og tilbage,‭ ‬kan man let miste overblikket over,‭ ‬hvor det lige er,‭ ‬man er kommet til.

BlockChain gemmer ALLE oplysningerne.‭ ‬Lige fra at dokumentet blev oprettet,‭ ‬gennem alle redigeringsfaserne og slutteligt,‭ ‬til‭ ‬at‭ ‬dokumentet bliver godkendt som endeligt.

Jamen er BlockChain ikke BitCoin‭ ?

BlockChain er den underliggende teknologi,‭ ‬som BitCoin benytter sig af.

Simplificeret kan vi sammenligne BlockChain med Internettet.‭ ‬Internettet er en kæmpe og meget svært definerbar ting,‭ ‬da det understøtter enormt mange muligheder for udveksling af data på kryds og tværs.‭ ‬Hvis BlockChain er Internettet,‭ ‬så kunne BitCoin være http-protokollen‭ (‬den del af Internettet som vi bruger,‭ ‬når vi besøger hjemmesider‭)‬.‭ ‬Denne allegori er udelukkende brugt som eksempel på,‭ ‬at BlockChain teknologien understøtter enormt mange andre muligheder end blot BitCoin.

Hvad kan blockchain bruges til og hvad er bitcoin egentligt ?

2) Hvad kan BlockChain bruges til og hvad er BitCoin egentligt?

Kun fantasien sætter grænserne her.‭ ‬Jeg vil dog overlade dig til Google,‭ ‬hvor du kan finde talrige eksempler på,‭ ‬hvad BlockChain ellers kan bruges til.

BitCoin var ikke første gang,‭ ‬at BlockChain teknologien blev brugt.‭ ‬Vi skal tilbage til‭ ‬1991,‭ ‬hvor Stuart Haber og W.‭ ‬Scott Stornetta beskrev principperne bag det,‭ ‬der i dag er kendt som BlockChain.

Det første eksempel,‭ ‬som jeg har kunnet finde,‭ ‬på brug af BlockChain,‭ ‬er fra‭ ‬1992‭ ‬hvor Bayer,‭ ‬Haber og Stornetta benyttede denne teknologi,‭ ‬til at samle forskellige sider til en bog.

I‭ ‬2002‭ ‬skabte David Mazières og Dennis Shasha et decentraliseret filsystem,‭ ‬der via BlockChain teknologien havde indbygget tillid filerne imellem.‭ ‬Dog var dette system slet ikke sikkert nok,‭ ‬hvilket nok er grunden til,‭ ‬at vi ikke hørte mere om det.

Det næste store skridt kom i‭ ‬2008,‭ ‬hvor Satoshi Nakamoto‭ (‬det er stadig ukendt hvem Satoshi er‭) ‬konceptualiserede BlockChain og BitCoin,‭ ‬som vi kender dem i dag.‭

I folkemunde er BitCoin kendt som en digital/virtuel valuta eller et betalingsmiddel,‭ ‬der er opdelt i mindre dele‭ (‬lige som vores kroner er opdelt i‭ ‬100‭ ‬øre‭) ‬kaldet Satoshi‭ ‬(efter skaberen af BitCoin,‭ ‬Satoshi Nakamoto‭)‬.‭ ‬Hver BitCoin kan opdeles i enheder på helt ned til‭ ‬0,00000001‭ ‬BitCoin,‭ ‬hvilket man også kalder‭ ‬1‭ ‬Satoshi.

Mere præcist kan man sige,‭ ‬at BitCoin‭ ‬er en kryptografisk mønt.‭

Ja det‭ ‬lyder meget flot,‭ ‬men hvad betyder det‭?

BitCoin kan sammenlignes med et dokument,‭ ‬der beviser ejerskabet af en ting.‭ ‬I dette tilfælde beviser en BitCoin Satoshi ejerskabet af en del af de‭ ‬21.000.000‭ ‬BitCoins,‭ ‬som der maksimalt kan skabes.

Det kryptografiske element ligger i,‭ ‬at hele teknologien anvender avanceret kryptering,‭ ‬for at sikre og verificere transaktioner‭ (‬mere om dette senere‭)‬.

Hvordan virker dette ejerskab så‭?

Når du modtager en BitCoin transaktion,‭ ‬så fortæller afsenderen til BlockChain-netværket,‭ ‬at han ønsker at overføre ejerskabet af f.eks.‭ ‬1,23‭ ‬BitCoins til dig.‭ ‬Afsenderen indtaster din BitCoin adresse,‭ ‬og ved at bruge sin kryptografiske nøgle‭ (‬mere om dette senere‭) ‬godkender han overfor netværket,‭ ‬at ejerskabet,‭ ‬af de‭ ‬1,23‭ ‬BitCoins han ønsker at sende til dig,‭ ‬faktisk er hans.
Når du så modtager de‭ ‬1,23‭ ‬BitCoins,‭ ‬er det du modtager,‭ ‬en opdatering i BlockChain-netværket der underbygger,‭ ‬at ejerskabet af de‭ ‬1,23‭ ‬BitCoins nu er dine.

Hvor befinder alle BitCoins sig så‭?

Man kan gå så langt at sige,‭ ‬at alle BitCoins faktisk ikke findes.‭ ‬Det der findes,‭ ‬er en relation mellem BlockChain-netværket og ejerskabet af BitCoins,‭ ‬valideret via kryptografiske nøgleværdier.

Hvad er kryptografiske nøgler ?

3) Hvad er kryptografiske nøgler?

Som udgangspunkt skal der bruges to ting,‭ ‬for at kunne sende,‭ ‬modtage og holde styr på ejerskabet af alle BitCoins:

  • en privat nøgle
    Den private nøgle er den del,‭ ‬som du skal‭ ‬beskytte‭! ‬Vi kan sammenligne den med nøglen til dit hus,‭ ‬eller adgangskoden til din netbank.
    Lige som med nøglen til din dør og koden til din bank,‭ ‬kan den private nøgle kopieres.‭
    Den eller de personer der besidder den private nøgle,‭ ‬har som udgangspunkt adgang til alle de BitCoins,‭ ‬som tilhører indehaveren af nøglen.

Smider du nøglen til din dør væk,‭ ‬kan du skifte låsen.‭ ‬Ligeledes kan du bede banken,‭ ‬om at udstede en ny kode til dig,‭ ‬hvis du skulle glemme den.

Mister du derimod den private nøgle,‭ ‬så er dine BitCoins tabt‭! ‬Den private nøgle er unik og kan ikke genskabes igen‭! ‬Så sørg for at opbevare den private nøgle sikkert,‭ ‬og husk at tage sikkerhedskopier af den,‭ ‬som du opbevarer et eller flere sikre steder.

  • en offentlig nøgle
    Simpelt sagt er den offentlige nøgle,‭ ‬den som du bruger,‭ ‬når andre skal sende BitCoins til dig.‭ ‬Den offentlige nøgle er basalt set ikke din BitCoin adresse.‭ ‬De er dog matematisk forbundne,‭ ‬da man ud fra den offentlige nøgle kan generere adresse,‭ ‬som du via din private nøgle kan bevise ejerskabet af.

Du kan sende din offentlige nøgle til andre personer,‭ ‬som så ud fra denne kan se,‭ ‬hvilke adresse de kan sende mønter til dig via.

  • en BitCoin adresse
    Man kan som udgangspunkt have lige så mange BitCoin adresse,‭ ‬som man ønsker.

BitCoin adresserne er skabt ud fra en matematisk tilgang til værdierne indeholdt i din private nøgle.

Visse af disse værdier i din private nøgle,‭ ‬findes også i din offentlige nøgle.‭ ‬Men som navnene antyder,‭ ‬er den ene til offentligt brug‭ (‬den kan kun bruges til at se,‭ ‬hvilke adresse som du kan modtage BitCoin ejerskab via‭) ‬og den anden er udelukkende til privat brug‭ (‬den beviser ejerskabet af alle de modtagne BitCoins‭)

Hvordan skabes BitCoins ?

4) Hvordan skabes BitCoins, og hvordan holder det decentrale netværk styr på alle overførslerne?

I fagterminologien kaldes skabelsen af BitCoins for‭ ‬at‭ ‬mine‭ (‬mining‭)‬.‭ ‬Mining dækker også over konceptet,‭ ‬at sørge for at alle transaktionerne bliver holdt up-to-date.‭ ‬Sådan,‭ ‬at når du overfører ejerskabet af et antal BitCoins til modtageren,‭ ‬så sker denne overførsel af ejerskabet på kryds af hele netværket.

Mere praktisk fungerer dette ved,‭ ‬at et stort antal noder‭ (‬vi kan også kalde dem for servere‭)‬,‭ ‬der kører BitCoin softwaren,‭ ‬bruger en hulens masse systemresurser på at udregne svaret på et matematisk spørgsmål.

Dette matematiske spørgsmål går simpelt sagt ud på følgende:

Minerne skal udregne‭ (‬det er faktisk gætte‭) ‬et tal,‭ ‬der kombineret med værdier indeholdt i modtagne datastykker‭ (‬blokke‭)‬,‭ ‬og kørt gennem en hash-funktion,‭ ‬giver et resultat inden for et specifikt interval.

Ja,‭ ‬det var godt nok ikke særligt simpelt‭…

Når en miner finder et brugbart resultat‭ (‬nogle gange kan resultatet findes ud fra flere forskellige tal‭ – ‬andre gange kan resultatet slet ikke findes‭)‬,‭ ‬så modtager mineren‭ (‬den node der fandt et acceptabelt resultat‭) ‬en belønning.‭ ‬Belønningen kan enten være for at have minet en ny bitcoin,‭ ‬eller for at have verificeret en transaktion‭ (‬her er belønningen så en del af det gebyr‭ (‬fee‭)‬,‭ ‬som man betaler,‭ ‬for at overføre BitCoin fra en adresse til en anden‭)‬.

Hver gang et matematisk spørgsmål løses,‭ ‬sendes resultatet fra den node,‭ ‬som foretog beregningen,‭ ‬til et par andre noder.‭ ‬Disse sender så information videre til andre osv.

For at sikre,‭ ‬at overførslen af ejerskabet af de afsendte BitCoins er korrekt,‭ ‬er der behov for et vist antal bekræftelser på,‭ ‬at ovenstående resultat af udregningen er korrekt.‭ ‬Standarten inden for exchanges er seks bekræftelser.

Som tiden går,‭ ‬stiger sværhedsgraden på at udregne det matematiske spørgsmål.

BitCoin teknologien understøtter kun muligheden for,‭ ‬at der kan eksistere op til og med‭ ‬21.000.000‭ ‬BitCoins.‭ ‬Der går stadig nogle år endnu,‭ ‬før vi når dette antal‭ – ‬hvis vi nogensinde når præcist‭ ‬21.000.000‭ ‬og ikke stopper marginaler før‭ (‬det er lige som‭ ‬Zenos matematiske‭ ‬paradox med haren og skildpadden‭)‬.

Mining kan foretages enten via CPU‭ (‬processoren i computeren‭ = ‬utrolig langsomt‭)‬,‭ ‬GPU‭ (‬grafikkortet i computeren‭ = ‬væsentligt hurtigere‭)‬.

Hvad er BlockChain, BitCoin, PoW og PoS ?

5) Hvad betyder PoW og PoS?

PoW‭ (‬Proof of Work‭) ‬er en protokol,‭ ‬hvis formål er at forhindre hacker-angreb så som DDoS‭ (‬Distributed Denial‭ ‬of Service‭)‬.‭ ‬DDoS er en angrebsform,‭ ‬hvor serveren der angribes fyldes til randen‭ – ‬og mere til‭ – ‬med forespørgsler.‭ ‬Dette bevirker,‭ ‬at serveren bukker under på grund af den store arbejdsbyrde.

PoW konceptet stammer oprindeligt ikke fra BlockChain.‭ ‬Det blev først publiceret af Cynthia Dwork and Moni Naor tilbage i‭ ‬1993.‭ ‬Selve termet‭ ”‬proof of work‭” ‬blev dog skabt af Markus Jakobsson og Ari Juels i‭ ‬1999.‭

Dog skal det siges,‭ ‬at PoW er et af de underliggende parametre der gør,‭ ‬at BlockChain og derved BitCoin tillader‭ ‬tillidsløs og distribueret konsensus.

Hvad er‭ ‬tillidsløs og distribueret konsensus‭?

Det betyder kort sagt,‭ ‬at når du foretager og/eller modtager en overførsel via BlockChain,‭ ‬så er der intet behov for en tredjepart,‭ ‬som begge parter stoler på.

Et eksempel kan være en bank,‭ ‬der faciliterer overførsler mellem to parter.‭ ‬Når vi foretager en overførsel via en bank,‭ ‬så stoler vi på,‭ ‬at banken sørger for,‭ ‬at pengene for det første bliver trukket på afsenderens konto,‭ ‬men også at pengene derefter blive tilført til modtagerens konto.

Ved at benytte BitCoin‭ – ‬og derved BlockChain‭ – ‬er der ikke behov for en betroet tredje part,‭ ‬da alle kan hente en samlet kopi af dataene i BlockChainen indeholdende alle transaktionerne,‭ ‬der nogensinde har været foretaget.‭ ‬Alle overførsler bliver herved tillidsløse.

Desuden sørger noderne for,‭ ‬at alle overførsler af ejerskab bliver valideret‭ – ‬der af den distribuerede konsensus.

PoS‭ (‬Proof of Stake‭) ‬er generelt en anden måde at validere overførsler af ejerskab end ved PoW.

I modsætning til PoW,‭ ‬hvor minerne‭ – ‬der løser det matematiske spørgsmål‭ – ‬modtager en belønning for at validere overførslerne og skabe nye mønter,‭ ‬er alle mønterne allerede skabt fra lanceringsdagen ved kryptomønter,‭ ‬der benytter sig af PoS.‭ ‬Desuden sker betalingen for validering af overførslerne,‭ ‬ud fra en deterministisk‭ ‬variable der inkluderer velstanden af mineren‭ – ‬også kaldet stake.

PoS konceptet blev foreslået på bitcointalk forumet tilbage i‭ ‬2011.‭ ‬Vi skulle dog vente til‭ ‬2012,‭ ‬før de første mønter‭ ‬:‭ ‬Peercoin,‭ ‬Nav Coin,‭ ‬NuShares/NuBits,‭ ‬Nxt,‭ ‬ShadowCash,‭ ‬BlackCoin og Qora blev skabt ud fra denne idé.‭

En af de store fordele ved PoS frem for PoW er,‭ ‬at PoS er en meget mere energivenlig teknologi.‭ ‬I begyndelse af‭ ‬2017‭ ‬blev det estimeret,‭ ‬at den mænge af strøm det krævede for at validere én BitCoin transaktion,‭ ‬svarede til den mængde strøm,‭ ‬som‭ ‬1,57‭ ‬amerikanske husholdninger forbrugte på én dag.

Sammenholder vi dette med det samlede antal BitCoin transaktioner på daværende tidspunkt,‭ ‬blev det estimeret,‭ ‬at valideringen af samtlige BitCoin transaktioner,‭ ‬ville svare til det samlede strømforbrug i Danmark i‭ ‬2020‭…

Der er en del flere ting der spiller ind i forskellen mellem PoW og PoS,‭ ‬men de ligger uden for denne simple gennemgang.

Brug Google til at uddanne dig selv,‭ ‬hvis du har interesse i at lære mere om ovenstående.

Jeg håber,‭ ‬at du har fået noget ud af denne gennemgang‭ – ‬den har i hvert fald været underholdende at skrive‭ ‬:-‭)

Hav en god dag og god vind‭ ‬:-‭)