Hva er blokkjedeteknologi? Den ultimate guiden
Innholdsfortegnelse
Kapittel 1 – Blokkjede 101
Hva er en blokkjede?
Hvordan kobles blokker sammen?
Blokkjeder og desentralisering
Problemet med bysantinske generaler
Hvorfor må blokkjeder desentraliseres?
Hva er P2P (peer-to-peer)-nettverket?
Hva er blokkjedenoder?
Offentlige kontra private blokkjeder
Hvordan fungerer transaksjoner?
Slik utføres Bitcoin-transaksjoner
Hvem fant opp blokkjedeteknologien?
Fordeler og ulemper med blokkjedeteknologi
Kapittel 2 – Hvordan fungerer blokkjeder?
Hvordan legges det til blokker på blokkjeden?
Mining (Proof of Work / arbeidsbevis)
Staking (Proof of Stake / innsatsbevis)
Andre konsensusalgoritmer
Kan jeg reversere blokkjedetransaksjoner?
Hva er blokkjedens skalerbarhet?
Hvorfor må blokkjeden skaleres?
Hva er en blokkjede-fork?
Kapittel 3 – Hva brukes blokkjede til?
Blokkjede for forsyningskjeder
Blokkjede og spillindustrien
Blokkjede for helsevesenet
Blokkjede for pengeoverføringer
Blokkjede og digital identitet
Blokkjede og tingenes internett (IoT)
Blokkjede for styring
Blokkjede for veldedighet
Blokkjede for spekulasjon
Crowdfunding med blokkjede
Blokkjede og distribuerte filsystemer
Hva er blokkjedeteknologi? Den ultimate guiden
Hjem
Artikler
Hva er blokkjedeteknologi? Den ultimate guiden

Hva er blokkjedeteknologi? Den ultimate guiden

Viderekommen
Publisert Dec 30, 2019Oppdatert Dec 28, 2022
33m

Kapitler

  1. Blokkjede 101

  2. Hvordan fungerer en blokkjede?

  3. Hva brukes blokkjede til?


Kapittel 1 – Blokkjede 101

Innhold


Hva er en blokkjede?

En blokkjede er en spesiell type database. Du har kanskje også hørt begrepet teknologi for distribuert hovedbok (eller DLT) – i mange tilfeller refererer disse til det samme.

En blokkjede har visse unike egenskaper. Det finnes regler for hvordan data kan legges til, og når dataene først er lagret, er det praktisk talt umulig å endre eller slette dem.

Over tid blir data lagt til i strukturer som kalles blokker. Hver blokk bygges på toppen av den siste og inneholder et stykke informasjon som lenker tilbake til den forrige. Ved å se på den mest oppdaterte blokken kan vi sjekke at den ble opprettet etter den siste. Så hvis vi fortsetter hele veien nedover "kjeden", kommer vi til den aller første blokken – kjent som genesis-blokken.

Som en sammenligning: Tenk deg at du har et regneark med to kolonner. I den første cellen i den første raden legger du inn dataene du vil ha.

Dataene i den første cellen konverteres til en identifikator på to bokstaver, som deretter brukes som en del av neste inndata. I dette eksemplet må identifikatoren med de to bokstavene KP brukes til å fylle ut neste celle i den andre raden (defKP). Det betyr at hvis du endrer de første inndataene (abcAA), får du en annen kombinasjon av bokstaver i alle andre celler.

En database der hver oppføring er lenket til den siste.

En database der hver oppføring er lenket til den siste.


Ser vi på rad 4 nå, er den nyeste identifikatoren TH. Husker du at vi sa at du ikke kan gå tilbake og fjerne eller slette oppføringer? Det er fordi det ville være lett for alle å se at det er gjort, og de ville derfor ha ignorert forsøket på endring.

Sett at du endrer dataene i den aller første cellen – da får du en annen identifikator, noe som betyr at den andre blokken får andre data, som videre fører til en annen identifikator i rad 2, og så videre. TH er i bunn og grunn et produkt av all informasjon som kommer før den.


Hvordan kobles blokker sammen?

Det vi snakket om over – om identifikatorer på to bokstaver – er en forenklet sammenligning av hvordan en blokkjede bruker hash-funksjoner. Hashing er limet som holder blokkene sammen. Det består av å ta data av en hvilken som helst størrelse og sende dem gjennom en matematisk funksjon for å produsere en utdata (en hash) som alltid har samme lengde.

Hashene som brukes i blokkjeder, er interessante. Sjansen for at du finner to databiter som gir nøyaktig samme utdata, er astronomisk lav. I likhet med identifikatorene over, vil enhver liten endring av inndataene gi helt andre utdata.

La oss illustrere med SHA256, en funksjon som brukes mye i Bitcoin. Som du ser, er bare det å endre mellom store og små bokstaver nok til å forvrenge utdataene fullstendig.


Inndata

SHA256-utdata

Binance Academy

886c5fd21b403a139d24f2ea1554ff5c0df42d5f873a56d04dc480808c155af3

Binance academy

4733a0602ade574551bf6d977d94e091d571dc2fcfd8e39767d38301d2c459a7

binance academy

a780cd8a625deb767e999c6bec34bc86e883acc3cf8b7971138f5b25682ab181


Det faktum at det ikke finnes noen kjente SHA256-kollisjoner (dvs. to ulike inndata som gir samme utdata), er utrolig verdifullt i sammenheng med blokkjeder. Det betyr at hver blokk kan peke tilbake til den forrige ved å inkludere hashen, og at ethvert forsøk på å redigere eldre blokker umiddelbart blir synlig.

Hver blokk inneholder et fingeravtrykk av den forrige.

Hver blokk inneholder et fingeravtrykk av den forrige.


Blokkjeder og desentralisering

Vi har nå forklart den grunnleggende strukturen til en blokkjede. Men når du hører folk snakke om blokkjedeteknologi, snakker de sannsynligvis ikke bare om selve databasen, men om økosystemene som er bygget rundt blokkjeder. 

Som frittstående datastrukturer er blokkjeder egentlig bare nyttige i spesielle bruksområder. Det som er interessant, er når vi bruker dem som verktøy for at fremmede skal kunne koordinere seg imellom. Kombinert med andre teknologier og litt spillteori kan en blokkjede fungere som en distribuert hovedbok som ingen har kontrollen over.

Det betyr at ingen har makt til å redigere oppføringene utenfor systemets regler (mer om reglene snart). Man kan derfor argumentere for at hovedboken eies av alle: deltakerne oppnår enighet om hvordan den ser ut til enhver tid.


Problemet med bysantinske generaler

Den virkelige utfordringen som står i veien for et system som det som beskrives ovenfor, er noe som kalles problemet med bysantinske generaler. Det oppstod på 1980-tallet og beskriver et dilemma der isolerte deltakere må kommunisere for å koordinere handlingene sine. Det spesifikke dilemmaet involverer en håndfull generaler i en hær som omringer en by, og som skal bestemme seg for om de skal angripe den. Generalene kan bare kommunisere via budbringer. 

Hver enkelt må bestemme seg for om de skal angripe eller trekke seg tilbake. Det spiller ingen rolle om de angriper eller trekker seg tilbake, så lenge alle generalene blir enige om en felles beslutning. Hvis de bestemmer seg for å angripe, kan de bare lykkes hvis de gjør det samtidig. Så hvordan sørger vi for at de klarer det? 

Ja, de kan jo kommunisere via budbringer. Men hva om budbringeren blir avbrutt med en beskjed som sier "vi angriper ved daggry", og så erstattes den meldingen med "vi angriper i kveld"? Hva om en av generalene er ond og med vilje lurer de andre for at de skal bli beseiret?

Alle generalene lykkes når de angriper (venstre). Når noen trekker seg tilbake mens andre angriper, blir de beseiret (høyre).

Alle generalene lykkes når de angriper (venstre). Når noen trekker seg tilbake mens andre angriper, blir de beseiret (høyre).


Vi trenger en strategi der konsensus kan oppnås, også hvis deltakerne skulle bli onde, eller hvis beskjedene skulle bli avbrutt. Det å ikke kunne vedlikeholde en database er ikke en situasjon som gjelder liv og død, som å angripe en by uten forsterkninger, men det samme prinsippet gjelder. Hvis det ikke er noen som har tilsyn med blokkjeden og gir brukerne "riktig" informasjon, må brukerne kunne kommunisere seg imellom.

For å overvinne en potensiell feil fra én bruker (eller flere), må mekanismene til blokkjeden utformes nøye for å være motstandsdyktige mot slike tilbakeslag. Et system som kan oppnå dette, omtales som bysantinsk feiltolerant. Som vi snart skal se, brukes konsensusalgoritmer for å håndheve robuste regler.


Hvorfor må blokkjeder desentraliseres?

Du kan selvfølgelig drive en blokkjede selv. Men du ender opp med en database som er helt underlegen de bedre alternativene. Det virkelige potensialet kan utnyttes i et desentralisert miljø – altså ett der alle brukere er like. På den måten kan ikke blokkjeden slettes eller overtas av uærlige aktører. Det er én enkelt kilde til sannhet som alle kan se.


Hva er P2P (peer-to-peer)-nettverket?

P2P (peer-to-peer)-nettverket er laget av brukerne (eller generalene i det forrige eksemplet). Det finnes ingen administrator, så istedenfor å ringe til en sentral server når de ønsker å utveksle informasjon med en annen bruker, sender brukeren det direkte til de andre. 

Se på grafikken under. Til venstre må A rute meldingen sin gjennom serveren for å få den til F. Men til høyre er de koblet sammen uten en mellommann.

Et sentralisert nettverk (venstre) kontra et desentralisert (høyre).

Et sentralisert nettverk (venstre) kontra et desentralisert (høyre).


Vanligvis har serveren all informasjonen som brukerne trenger. Når du går inn på Binance Academy, ber du serverne om å gi deg alle artiklene. Hvis nettstedet mister tilkoblingen, vil du ikke kunne se artiklene. Men hvis du har lastet ned alt innholdet, kan du laste det inn på datamaskinen din uten å spørre Binance Academy. 

Det er egentlig det hver maskin gjør med blokkjeden: hele databasen lagres på datamaskinen deres. Hvis noen forlater nettverket, vil de gjenværende brukerne fortsatt ha tilgang til blokkjeden og kunne dele informasjon med hverandre. Når en ny blokk legges til i kjeden, spres dataene over nettverket, slik at alle kan oppdatere sin egen kopi av hovedboken.

Sjekk ut P2P (peer-to-peer)-nettverk forklart for en mer inngående forklaring av denne typen nettverk.


Hva er blokkjedenoder?

Noder er ganske enkelt det vi kaller maskinene som er koblet til nettverket – det er de som lagrer kopier av blokkjeden, og som deler informasjon med andre maskiner. Brukerne trenger ikke å håndtere disse prosessene manuelt. Generelt sett er alt de trenger å gjøre, å laste ned og kjøre blokkjedens programvare, og resten tas hånd om automatisk.

Ovenstående beskriver hva en node er i sin reneste forstand, men definisjonen kan også omfatte andre brukere som samhandler med nettverket på en eller annen måte. I kryptovaluta, for eksempel, kalles en enkel lommebokapplikasjon på telefonen din for en lett node


Offentlige kontra private blokkjeder

Som du kanskje vet, var det Bitcoin som la grunnlaget for at blokkjedeindustrien kunne vokse til det den er i dag. Helt siden Bitcoin begynte å hevde seg som et legitimt finansielt aktivum, har innovatører tenkt på potensialet som den underliggende teknologien har for andre områder. Dette har resultert i en utforskning av blokkjede for utallige bruksområder utenfor finans.

Bitcoin er det vi kaller en offentlig blokkjede. Dette betyr at alle kan se transaksjonene på den, og alt som trengs for å bli med, er internettilkobling og nødvendig programvare. Siden det ikke finnes noen andre krav til deltakelse, kan vi referere til dette som et miljø uten krav om tillatelse.

Men det finnes også andre typer blokkjeder der ute som kalles private blokkjeder. Disse systemene etablerer regler for hvem som kan se og samhandle med blokkjeden. Derfor omtaler vi dem som miljøer med krav om tillatelse. Private blokkjeder kan nok virke overflødige til å begynne med, men de har noen viktige applikasjoner – hovedsakelig i bedriftssammenheng.

For mer om emnet kan du se Offentlige, private og konsortiumblokkjeder – hva er forskjellen?


Hvordan fungerer transaksjoner?

Hvis Anne vil betale Benjamin via bankoverføring, varsler hun banken sin. La oss anta for enkelhets skyld at de to bruker samme bank. Banken sjekker at Anne har penger til å utføre transaksjonen, og så oppdaterer banken databasen (f.eks. - 500 kr til Anne, + 500 kr til Benjamin).

Dette er ikke så ulikt det som skjer med en blokkjede. Det er tross alt også en database. Hovedforskjellen er at det ikke finnes en eneste part som utfører kontrollene og oppdaterer saldoene. Alle nodene må gjøre det. 

Hvis Anne vil sende fem bitcoin til Benjamin, sender hun en melding om dette til nettverket. Det blir ikke lagt til på blokkjeden med en gang – nodene ser det, men det må utføres andre handlinger for at transaksjonen skal bekreftes. Se Hvordan legges det til blokker på blokkjeden?

Når transaksjonen er lagt til på blokkjeden, kan alle nodene se at den er utført. De oppdaterer sin kopi av blokkjeden for å gjenspeile dette. Nå kan ikke Anne sende de samme fem enhetene til Caroline (altså dobbeltforbruk), fordi nettverket vet at hun allerede har brukt dem i en tidligere transaksjon.

Det finnes ikke noe konsept med brukernavn og passord – kryptografi med offentlig nøkkel brukes til å bevise eierskap til pengene. For å motta pengene i det hele tatt må Benjamin generere en privat nøkkel. Det er bare et veldig langt tilfeldig tall som det ville være praktisk talt umulig for noen å gjette, selv med hundrevis av år til rådighet. Men hvis han forteller noen hva den private nøkkelen er, vil de kunne bevise eierskap til (og derfor bruke) pengene hans. Så det er viktig at han holder den hemmelig.

Men det Benjamin kan gjøre, er å utlede en offentlig nøkkel fra den private. Han kan deretter gi den offentlige nøkkelen til hvem som helst, for det er nesten umulig for dem å reversere den for å få tak i den private nøkkelen. I de fleste tilfeller utfører han en annen operasjon (som hashing) på den offentlige nøkkelen for å få en offentlig adresse.

hvordan en blokkjedetransaksjon fungerer


Han gir Anne den offentlige adressen slik at hun vet hvor hun skal sende pengene. Hun lager en transaksjon som sier at disse pengene skal betales til denne offentlige adressen. Deretter, for å bevise for nettverket at hun ikke prøver å bruke penger som ikke er hennes, genererer hun en digital signatur ved hjelp av sin egen private nøkkel. Hvem som helst kan ta Annes signerte melding og sammenligne den med den offentlige nøkkelen hennes og si med sikkerhet at hun har rett til å sende disse pengene til Benjamin.


Slik utføres Bitcoin-transaksjoner

For å illustrere hvordan du kan foreta Bitcoin-transaksjoner, kan vi forestille oss to forskjellige scenarioer. Det første består av at du tar ut bitcoin fra Binance, og det andre av at du sender penger fra din TrustWallet til Electrum-lommeboken din.


Slik tar du ut bitcoin fra Binance

1. Logg inn på Binance-kontoen din. Hvis du ikke har noen bitcoin ennå, kan du sjekke ut vår Bitcoin-guide om hvordan du kjøper noen.

2. Hold musepekeren over Lommebok og velg Spot-lommebok.

velge spotlommebok fra lommebok-rullegardinmenyen på binance


3. Klikk på "Ta ut" på sidefeltet til venstre.

4. Velg mynten du vil ta ut – i dette tilfellet BTC.

5. Kopier adressen du ønsker å ta ut bitcoin til, og lim den inn i Mottakers BTC-adresse.

binance uttaksskjerm


6. Spesifiser beløpet du ønsker å ta ut.

7. Klikk på Send.

8. Du mottar snart en e-postbekreftelse. Sjekk nøye om adressen er riktig. Hvis den er det, bekreft transaksjonen i e-posten.

9. Vent på at transaksjonen går gjennom på blokkjeden. Du kan overvåke statusen under fanen Innskudds- og uttakshistorikk eller ved å bruke en blokkutforsker.


Slik sendes bitcoin fra Trust Wallet til Electrum

I dette eksemplet sender vi noen bitcoin fra Trust Wallet til Electrum.


1. Åpne Trust Wallet-appen.

2. Trykk på Bitcoin-kontoen din.

3. Trykk på Send.

4. Åpne Electrum-lommeboken.

5. Klikk på fanen Receive i Electrum, og kopier adressen.

skjermbilde av elextrum-lommebok


Alternativt kan du gå tilbake til Trust Wallet og trykke på [–]-ikonet for å skanne QR-koden som peker til Electrum-adressen din.

skjermbilde av trustwallet


6. Lim inn Bitcoin-adressen din i mottakeradressen i Trust Wallet.

7. Angi beløpet.

8. Hvis alt virker riktig, bekrefter du transaksjonen.

9. Du er ferdig! Vent på at transaksjonen blir bekreftet på blokkjeden. Du kan overvåke statusen ved å kopiere adressen din inn i en blokkutforsker.


Hvem fant opp blokkjedeteknologien?

Blokkjedeteknologien ble formalisert i 2009 da Bitcoin ble lansert – den første og mest populære blokkjeden. Men skaperen med pseudonymet Satoshi Nakamoto hentet inspirasjon fra tidligere teknologier og forslag.

Blokkjeder benytter hash-funksjoner og kryptografi i svært stor grad, noe som eksisterte i flere tiår før lanseringen av Bitcoin. Interessant nok kan blokkjedens struktur spores tilbake til begynnelsen av 1990-tallet, selv om den bare ble brukt til tidsstempling av dokumenter slik at de ikke kunne endres senere.

For mer om emnet kan du se Blokkjedens historie.


Fordeler og ulemper med blokkjedeteknologi

Riktig konstruerte blokkjeder løser et problem som plager interessenter i mange bransjer – i alt fra finans til landbruk. Et distribuert nettverk har mange fordeler i forhold til den tradisjonelle klient-server-modellen, men det kommer også med noen kompromisser.


Fordeler

En av de umiddelbare fordelene som bemerkes i Bitcoin-rapporten, er at betalinger kan overføres uten å involvere en mellommann. Senere blokkjeder har dratt dette enda lenger og lar brukerne sende all slags informasjon. Det at motparter elimineres, betyr at de involverte brukerne utsettes for mindre risiko, og det resulterer i lavere gebyrer, ettersom det ikke er noen mellommann som tar sin andel.

Som nevnt tidligere er et offentlig blokkjedenettverk også uten krav om tillatelse – det er ingen adgangsbarrierer, for det er ingen som har ansvaret. Hvis en potensiell bruker kan koble seg til internett, kan vedkommende samhandle med andre på nettverket.

Mange hevder at den viktigste kvaliteten til blokkjeder er at de har en høy grad av sensurmotstand. Om ondsinnede aktører ønsker å lamme en sentraliser tjeneste, trenger de bare å angripe en server.Men i et P2P-nettverk fungerer hver node som en egen server. 

Et system som Bitcoin har over 10 000 synlige noder spredt rundt i verden, noe som gjør det praktisk talt umulig for selv en ressurssterk angriper å skade nettverket. Det må nevnes at det også finnes mange skjulte noder som ikke er synlige for det bredere nettverket.

Dette er noen generelle fordeler. Det finnes mange spesifikke bruksområder som blokkjeder kan benyttes til, som du kan se i Hva brukes en blokkjede til?


Ulemper

Blokkjeder er ikke et supervåpen mot alle problemer. Fordi de er optimalisert for fordelene som ble nevnt i forrige del, ender de opp med mangler på andre områder. Den mest opplagte hindringen for masseadopsjon av blokkjeder er at de ikke kan skaleres særlig godt.

Dette gjelder alle distribuerte nettverk. Siden alle deltakerne må være synkronisert, kan ikke ny informasjon legges til for raskt, for da vil ikke nodene kunne holde følge. Derfor har utviklere en tendens til å bevisst begrense hastigheten blokkjeden kan oppdateres med, for å sikre at systemet holder seg desentralisert.

For brukerne av et nettverk kan dette vise seg i lange venteperioder hvis for mange prøver å gjennomføre transaksjoner. Blokker kan bare inneholde en viss mengde data, og de legges ikke til kjeden umiddelbart. Hvis det finnes flere transaksjoner enn det er plass til i blokken, må eventuelle overskytende transaksjoner vente på neste blokk.

En annen mulig ulempe med desentraliserte blokkjedesystemer er at det ikke er lett å oppgradere dem. Hvis du bygger din egen programvare, kan du legge til nye funksjoner når du vil. Du trenger ikke å samarbeide med andre eller be om tillatelse til å gjøre endringer.

I et miljø med potensielt millioner av brukere er det mye vanskeligere å gjøre endringer. Du kan endre noen av parameterne i nodeprogramvaren, men du vil til slutt bli atskilt fra nettverket. Hvis den modifiserte programvaren ikke er kompatibel med andre noder, gjenkjenner de dette og nekter å samhandle med noden din.

Sett at du ville endre en regel om hvor store blokker kan være (fra 1 MB til 2 MB). Du kan prøve å sende denne blokken til noder du er koblet til, men de har en regel som sier "ikke godta blokker over 1 MB". Hvis de mottar en som er større, tar de den ikke med i sin kopi av blokkjeden.

Den eneste måten å få gjennom endringer på er å få flertallet i økosystemet til å akseptere dem. Med store blokkjeder kan det være måneder – eller til og med år – med intens diskusjon i forumer før endringene kan koordineres. Se Hard forks og soft forks for mer om dette.



Kapittel 2 – Hvordan fungerer blokkjeder?

Innhold


Hvordan legges det til blokker på blokkjeden?

Vi har snakket om mye hittil. Vi vet at nodene er sammenkoblet, og at de lagrer kopier av blokkjeden. De kommuniserer informasjon om transaksjoner og nye blokker til hverandre. Vi har allerede diskutert hva noder er, men du lurer kanskje på hvordan nye blokker legges til på blokkjeden?

Det finnes ingen enkelt kilde som forteller brukerne hva som skal gjøres. Fordi alle nodene har like mye makt, må det finnes en mekanisme for å bestemme hvem som kan legge til blokker på blokkjeden på en rettferdig måte. Vi trenger et system som gjør det dyrt for brukerne å jukse, men som belønner dem for å være ærlige. Enhver rasjonell bruker ønsker å opptre på en måte som er økonomisk lønnsom for dem.

Fordi nettverket er uten krav om tillatelse, må blokkopprettingen være tilgjengelig for alle. Protokoller sikrer ofte dette ved å kreve at brukeren investerer litt i dette – de må risikere sine egne penger. Når de gjør det, får de delta i blokkopprettingen, og hvis de genererer en gyldig blokk, får de utbetalt en belønning.

Men hvis de prøver å jukse, får resten av nettverket vite det. Uansett hva de har satset, taper de det. Vi kaller disse mekanismene konsensusalgoritmer fordi de gjør at nettverksdeltakerne kan oppnå konsensus om hvilken blokk som er neste som skal legges til.


Mining (Proof of Work / arbeidsbevis)

Proof of work


Mining er den desidert mest brukte konsensusalgoritmen. I mining brukes en Proof of Work (PoW)-algoritme. Dette innebærer at brukerne ofrer datakraft for å prøve å løse et puslespill protokollen har laget.

Puslespillet krever at brukerne hasher transaksjoner og annen informasjon som er inkludert i blokken. Men for at hashen skal anses som gyldig, må den falle under et visst tall. Siden det ikke finnes noen måte å forutsi hva en gitt utdata blir, må minerne fortsette å hashe litt modifiserte data helt til de finner en gyldig løsning.

Selvfølgelig krever det kostbar datakraft å hashe data gjentatte ganger. I Proof of Work-blokkjeder er "stakingen" (innsatsen) som brukerne legger frem, pengene de har investert i miningdatamaskiner, og elektrisiteten som brukes til å drive dem. De gjør dette i håp om å få en blokkbelønning

Husker du vi sa at det er praktisk talt umulig å reversere en hash, men enkelt å sjekke den? Når en miner sender en ny blokk til resten av nettverket, bruker alle de andre nodene den som inndata i en hash-funksjon. De trenger bare å kjøre den én gang for å bekrefte at blokken er gyldig i henhold til reglene for blokkjeden. Hvis den ikke er det, mottar ikke mineren belønningen og har kastet bort strøm for ingenting.

Den første Proof of Work-blokkjeden var Bitcoin sin. Etter at den ble opprettet, har mange andre blokkjeder tatt i bruk PoW-mekanismen.


Fordeler med Proof of Work

  • Prøvd og testet – til dags dato er Proof of Work den mest modne konsensusalgoritmen og har sikret verdier for hundrevis av milliarder av dollar.

  • Uten krav om tillatelse – hvem som helst kan bli med i miningkonkurransen eller bare kjøre en valideringsnode.

  • Desentralisering – minerne konkurrerer mot hverandre for å produsere blokker, noe som betyr at hashkraften aldri styres av én enkelt part.


Ulemper med Proof of Work

  • Sløsing – minerne bruker en enorm mengde strøm.

  • Stadig høyere inngangsbarriere – når stadig flere minere blir med på nettverket, øker protokollene vanskelighetsgraden for miningpuslespillet. For å være konkurransedyktige må brukerne investere i bedre utstyr. Prisen kan utkonkurrere mange minere.

  • 51 %-angrep – selv om mining fremmer desentralisering, finnes det en mulighet for at én miner får mesteparten av hashkraften. Hvis det skjer, kan vedkommende teoretisk sett gjøre om på transaksjoner og undergrave sikkerheten til blokkjeden.


Staking (Proof of Stake / innsatsbevis)

I Proof of Work-systemer er det som motiverer deg til å være ærlig, pengene du har betalt for mining-utstyr og for elektrisiteten. Du får ikke avkastning på investeringen din hvis du ikke miner blokker riktig.

Med Proof of Stake (PoS) finnes det ingen eksterne kostnader. Istedenfor minere har vi validatorer som foreslår (eller "smir") blokker. De kan bruke en vanlig datamaskin til å generere nye blokker, men de må satse en betydelig del av pengene sine for å få privilegiet. Staking gjøres med en forhåndsdefinert mengde av blokkjedens opprinnelige kryptovaluta, i henhold til reglene for hver protokoll. 

Forskjellige implementeringer har forskjellige variasjoner, men når en validator satser enhetene sine, kan de bli tilfeldig valgt av protokollen for å kunngjøre neste blokk. Hvis de gjør det riktig, får de en belønning. Alternativt kan det finnes flere validatorer som er enige om neste blokk, og deretter deles det ut en belønning proporsjonalt med innsatsen hver enkelt har gjort.

"Rene" PoS-blokkjeder er mindre vanlige enn DPoS (Delegated Proof of Stake / delegert innsatsbevis), som krever at brukerne stemmer på noder (vitner) for å validere blokker for hele nettverket.

Ethereum, den ledende blokkjeden for smarte kontrakter, går snart over til Proof of Stake i migreringen til ETH 2.0. 


Fordeler med Proof of Stake

  • Miljøvennlig – karbonavtrykket til PoS er en brøkdel av PoW-miningen. Staking fjerner behovet for ressurskrevende hashing-operasjoner.

  • Raskere transaksjoner – siden det ikke er behov for å bruke ekstra datakraft på vilkårlige oppgaver fra protokollen, mener noen tilhengere av PoS at det kan øke transaksjonsgjennomstrømningen.

  • Belønninger og renter for staking – istedenfor at belønninger går til minere, utbetales de direkte til tokenholderne for at de sikrer nettverket. I noen tilfeller lar PoS brukerne få passiv inntekt i form av airdrops eller rente, ganske enkelt ved staking av pengene.


Ulemper med Proof of Stake

  • Relativt uprøvd – PoS-protokoller er ennå ikke testet i stor skala. Det kan finnes noen uoppdagede sårbarheter i implementeringen eller kryptoøkonomien.

  • Plutokrati – noen bekymrer seg for at PoS fremmer et økosystem som vil gjøre at de rike bli rikere, ettersom validatorer med stor staking ofte får flere belønninger.

  • Ingenting-å-tape-problemet – i PoW kan brukere bare "satse" på én kjede – de miner på den kjeden de tror vil lykkes. Ved en hard fork kan de ikke satse på flere ved hjelp av samme hash-kraft. Men validatorer i PoS kan operere på flere kjeder med nesten ingen ekstra kostnad, noe som kan forårsake økonomiske problemer.


Andre konsensusalgoritmer

Proof of Work og Proof of Stake er de vanligste konsensusalgoritmene, men det finnes mange flere. Noen er hybrider som kombinerer elementer fra begge systemene, mens andre er helt forskjellige metoder. 

Vi kommer ikke inn på dem her, men hvis du er interessert, sjekk ut følgende artikler:


Kan jeg reversere blokkjedetransaksjoner?

Blokkjeder er designet som svært robuste databaser. De iboende egenskapene gjør det ekstremt vanskelig å fjerne eller endre blokkjededata etter at de er registrert.  Når det gjelder Bitcoin og andre store nettverk, er det nesten umulig. Så når du foretar en transaksjon på en blokkjede, er det best å tenke på det som skrevet i stein for alltid.

Når det er sagt, finnes det mange forskjellige implementeringer av blokkjeder, og den mest grunnleggende forskjellen mellom dem er hvordan de oppnår konsensus i nettverket. Det betyr at i noen implementeringer kan en relativt liten gruppe deltakere få nok kraft i nettverket til å reversere transaksjoner effektivt. Dette gjelder spesielt for altcoins som kjører på små nettverk (med lav hash-rate på grunn av liten mining-konkurranse).


Hva er blokkjedens skalerbarhet?

Blokkjedeskalerbarhet brukes vanligvis som et paraplybegrep som refererer til et blokkjedesystems evne til å håndtere økende etterspørsel. Selv om blokkjeder har ønskelige egenskaper (som desentralisering, sensurmotstand, uforanderlighet), har disse en kostnad.

I motsetning til desentraliserte systemer kan en sentralisert database drives med betydelig høyere hastighet og gjennomstrømning. Dette er fornuftig siden det ikke trengs tusenvis av noder som er spredt rundt i verden, for å synkronisere med nettverket hver gang innholdet endres. Men slik er det ikke med blokkjeder. Som resultat har skalerbarhet vært et svært omdiskutert tema blant blokkjedeutviklere i årevis.

En rekke forskjellige løsninger har enten blitt foreslått eller implementert for å løse noen av ytelsesproblemene til blokkjeder. Men på dette tidspunktet finnes det ikke en klar beste metode. Det er sannsynlig at mange forskjellige løsninger må prøves ut før man finner klarere svar på skalerbarhetsproblemet.

På et bredere nivå har vi et grunnleggende spørsmål om skalerbarhet: Bør vi forbedre ytelsen til selve blokkjeden (skalering på kjeden), eller bør vi tillate at transaksjoner kan utføres uten å fylle opp hovedblokkjeden (skalering utenfor kjeden)? 

Det kan være klare fordeler med begge. Skaleringsløsninger på kjeden kan redusere størrelsen på transaksjonene, eller til og med bare optimalisere hvordan data lagres i blokker. På den annen side involverer løsninger utenfor kjeden oppsamling av transaksjoner utenfor hovedblokkjeden, og så legges de bare til senere. Noen av løsningene utenfor kjeden som det er verdt å merke seg, kalles sidekjeder og betalingskanaler.

Hvis du ønsker å gå dypere inn i dette emnet, les Skalerbarhet for blokkjeder: Sidekjeder og betalingskanaler.


Hvorfor må blokkjeden skaleres?

Hvis blokkjedesystemer skal kunne konkurrere med de sentraliserte motpartene, må de ha minst like høy ytelse som dem. Realistisk sett må de sannsynligvis prestere enda bedre for å motivere utviklere og brukere til å gå over til blokkjedebaserte plattformer og applikasjoner. 

Det betyr at sammenlignet med sentraliserte systemer må bruk av blokkjeder være raskere, billigere og enklere for både utviklerne og brukerne. Dette er ikke lett å oppnå samtidig som man bevarer de definerende egenskapene til blokkjeder som vi snakket om tidligere. 


Hva er en blokkjede-fork?

Som med all programvare trenger blokkjeder oppgraderinger for å løse problemer, legge til nye regler eller fjerne gamle. Siden det meste av blokkjedeprogramvare har åpen kildekode, kan hvem som helst i teorien foreslå nye oppdateringer som skal legges til programvaren som styrer nettverket. 

Husk at blokkjeder er distribuerte nettverk. Når programvaren er oppgradert, må tusenvis av noder som er spredt rundt i verden, kunne kommunisere og implementere den nye versjonen. Men hva skjer om deltakerne ikke kan bli enige om hvilken oppgradering som skal implementeres? Vanligvis finnes det ikke en organisasjon med en etablert beslutningsflyt som da tar avgjørelsen. Dette tar oss over på soft og hard forks.


Soft forks

Hvis det finnes en generell enighet om hvordan en oppgradering skal se ut, er det en relativt enkel sak. I et slikt scenario oppdateres programvaren med en bakoverkompatibel endring, noe som betyr at noder som oppdaterer, fortsatt kan samhandle med noder som ikke har gjort det. Men i virkeligheten forventes det at nesten alle nodene oppgraderer etter hvert. Dette kalles en "soft fork" (mykt veiskille). 


Hard forks

En "hard fork" (hardt veiskille) er mer komplisert. Når den er implementert, er de nye reglene uforenlige med de gamle reglene. Så hvis en node som kjører de nye reglene, prøver å samhandle med en node som kjører de gamle reglene, vil de ikke kunne kommunisere. Dette fører til at blokkjeden deler seg i to – i den ene kjøres den gamle programvaren, og i den andre blir de nye reglene implementert.

Etter en hard fork finnes det egentlig to forskjellige nettverk som kjører to forskjellige protokoller parallelt. Det er verdt å merke seg at på tidspunktet for en fork blir saldoene til blokkjedens opprinnelige enhet klonet fra det gamle nettverket. Så hvis du hadde en saldo på den gamle kjeden på tidspunktet for en fork, har du også en saldo på den nye. 

Se Hard forks og soft forks for mer om dette.



Kapittel 3 – Hva brukes blokkjede til?


Innhold


Blokkjedeteknologi kan brukes i et bredt spekter av bruksområder. La oss gå gjennom noen av dem. 


Blokkjede for forsyningskjeder

Effektive forsyningskjeder er kjernen i mange vellykkede bedrifter og fokuserer på håndtering av varer fra leverandør til forbruker. Koordinering av flere interessenter i en gitt bransje har tradisjonelt vist seg å være vanskelig. Men blokkjedeteknologien kan legge til rette for nye nivåer av åpenhet i mange bransjer. Et interoperabelt økosystem for forsyningskjeden som dreier seg om en uforanderlig database, er akkurat det mange bransjer trenger for å bli mer robuste og pålitelige.

Hvis du vil lese mer, sjekk ut Bruksområder for blokkjeder: Forsyningskjede.


Blokkjede og spillindustrien

Spillindustrien har blitt en av de største underholdningsindustriene i verden, og den kan ha stor nytte av blokkjedeteknologi. Som regel er spillerne prisgitt spillutviklerne. I de fleste nettspill blir spillerne tvunget til å stole på utviklernes serverplass og følge det stadig skiftende settet med regler. I denne sammenhengen kan blokkjede bidra til å desentralisere eierskap, administrasjon og vedlikehold av nettspill.

Men det som kan være det største problemet, er at spillobjekter ikke kan eksistere utenfor selve spillet, noe som eliminerer sjansene for ekte eierskap og sekundærmarkeder. Ved å gå for en blokkjedebasert tilnærming kan spillene bli mer bærekraftige i det lange løp, og gjenstander i spillet som utstedes som kryptosamleobjekter, kan oppnå virkelig verdi.

Hvis du vil lese mer, sjekk ut Bruksområder for blokkjeder: Gaming.

blockchain i spill


Blokkjede for helsevesenet

Oppbevaring av medisinske journaler på en pålitelig måte er avgjørende for helsevesenet, og avhengigheten av sentraliserte servere setter sensitiv informasjon i en sårbar posisjon. Blokkjedeteknologiens gjennomsiktighet og sikkerhet gjør den til en ideell plattform å lagre medisinske journaler på.

Ved kryptografisk sikring av oppføringene på en blokkjede kan pasientene ivareta personvernet, samtidig som de kan dele medisinsk informasjon med en hvilken som helst helseinstitusjon. Hvis alle deltakerne i det nåværende fragmenterte helsevesenet kunne benyttet seg av en sikker, global database, ville informasjonsflyten mellom dem vært mye raskere.

Hvis du vil lese mer, sjekk ut Bruksområder for blokkjeder: Helsevesen.


Blokkjede for pengeoverføringer

Internasjonale pengeoverføringer er noe styr i tradisjonelle banker. Hovedsakelig på grunn av et innviklet nettverk av mellommenn gjør gebyrene og oppgjørstidene det både dyrt og upålitelig å bruke tradisjonelle banker ved hastetransaksjoner.

Kryptovaluta og blokkjeder eliminerer dette økosystemet av mellommenn og kan gjennomføre billige, raske overføringer rundt om i verden. Det er riktig at blokkjeder ofrer ytelse for noen av de ønskelige egenskapene, men det finnes mange prosjekter som utnytter teknologien til å foreta billige, nesten umiddelbare transaksjoner.

Hvis du vil lese mer, sjekk ut Bruksområder for blokkjeder: Pengeoverføringer.


Blokkjede og digital identitet

Sikker håndtering av identitet på internett har stort behov for en rask løsning. En vanvittig mengde personopplysninger lagres på sentrale servere og analyseres av maskinlæringsalgoritmer uten at vi vet eller har godtatt det. 

Blokkjedeteknologien lar brukerne ta eierskap i dataene sine og selektivt oppgi informasjon til tredjeparter bare når det er nødvendig. Denne typen kryptografisk magi kan gi en bedre opplevelse på nettet uten at personvernet ofres.

Hvis du vil lese mer, sjekk ut Bruksområder for blokkjeder: Digital identitet.

 blokkjede og digital identitet


Blokkjede og tingenes internett (IoT)

En vanvittig mengde fysiske enheter kobles til internett, og dette tallet kommer bare til å øke. Noen spekulerer i om kommunikasjon og samarbeid mellom disse enhetene kan bli betydelig forsterket av blokkjedeteknologien. Automatiserte mikrobetalinger mellom maskiner (M2M) kan skape en ny økonomi som benytter en sikker databaseløsning med høy gjennomstrømming.

Hvis du vil lese mer, sjekk ut Bruksområder for blokkjeder: Tingenes internett (IoT).


Blokkjede for styring

Distribuerte nettverk kan definere og håndheve sine egne former for regulering i form av datakode. Det er ikke overraskende at blokkjede kan gi muligheter til å fjerne mellomledd i ulike styringsprosesser på lokalt, nasjonalt eller til og med internasjonalt nivå. 

Dessuten kan det løse et av de største problemene som utviklingsmiljøer med åpen kildekode står overfor – mangel på en pålitelig mekanisme for distribusjon av finansiering. Blokkjedestyring sikrer at alle deltakerne kan være involvert i beslutningstakingen, og gir en transparent oversikt over hvilke retningslinjer som implementeres.

Hvis du vil lese mer, sjekk ut Bruksområder for blokkjeder: Styring.


Blokkjede for veldedighet

Veldedige organisasjoner hemmes ofte av begrensningene for hvordan de kan ta imot penger. Enda mer frustrerende kan det være hvis det er vanskelig å spore den endelige destinasjonen til de donerte pengene, noe som utvilsomt hindrer mange i å støtte disse organisasjonene.

"Krypto-filantropi" dreier seg om bruken av blokkjedeteknologi for å omgå disse begrensningene. Ved å utnytte teknologiens iboende egenskaper for å sikre større åpenhet, global deltakelse og reduserte kostnader søker dette fremvoksende feltet å øke innvirkningen til veldedige organisasjoner. En slik organisasjon er Blockchain Charity Foundation.

Hvis du vil lese mer, sjekk ut Bruksområder for blokkjeder: Veldedighet.


Blokkjede for spekulasjon

Et av de mest populære bruksområdene for blokkjedeteknologi er uten tvil spekulasjon. Friksjonsfrie overføringer mellom børser, ikke-depotbaserte handelsløsninger og et voksende økosystem av derivatprodukter gjør dette til et ideelt område for alle typer spekulanter.

På grunn av blokkjedens iboende egenskaper er den et utmerket instrument for de som er villige til å ta risikoen med å delta i denne spirende aktivaklassen. Noen tror til og med at når teknologien og reguleringene rundt den modnes, kan alle de globale spekulasjonsmarkedene tokeniseres på blokkjeden.

Hvis du vil lese mer, sjekk ut Bruksområder for blokkjeder: Prognosemarkeder.

blokkjede og prognosemarkeder


Crowdfunding med blokkjede

Nettbaserte crowdfunding-plattformer har lagt grunnlaget for person-til-person-økonomien i nesten et tiår nå. Suksessen til disse nettstedene viser at det er en reell interesse der ute for produktutvikling innen crowdfunding. Men ettersom disse plattformene fungerer som depoter for fondene, kan de ta en betydelig del av dem i gebyrer. I tillegg har de hvert sitt regelsett for å legge til rette for avtalen mellom de forskjellige deltakerne.

Blokkjedeteknologien, og mer spesifikt smarte kontrakter, kan gi sikrere, automatisert crowdfunding der vilkårene i avtalene er definert i datakode. 

En annen anvendelse av crowdfunding ved bruk av blokkjede er første mynttilbud (Initial Coin Offerings / ICO) og første børstilbud (Initial Exchange Offerings / IEO). I slike tokensalg samler investorer inn penger i håp om at nettverket skal lykkes i fremtiden, og at de skal få avkastning på investeringen.


Blokkjede og distribuerte filsystemer

Distribuert fillagring på internett har mange fordeler sammenlignet med konvensjonelle sentraliserte alternativer. Mye av dataene som er lagret i skyen, er avhengige av sentraliserte servere og tjenesteleverandører, som har en tendens til å være mer sårbare for angrep og tap av data. I noen tilfeller kan brukere også oppleve tilgjengelighetsproblemer på grunn av sensur fra sentraliserte servere.

Fra et brukerperspektiv fungerer fillagringsløsninger for blokkjede akkurat som andre skylagringsløsninger – du kan laste opp, lagre og få tilgang til filer. Men det som skjer i bakgrunnen, er ganske annerledes.

Når du laster opp en fil til en blokkjedelagring, blir den distribuert og replikert på flere noder. I noen tilfeller lagrer hver node forskjellige deler av filen din. De kan ikke gjøre noe særlig med bruddstykkene av data, men du kan senere be nodene om å levere hver del, slik at du kan sette dem sammen for å få tilbake hele filen.

Lagringsplassen kommer fra deltakere som sørger for lagring og båndbredde til nettverket. Vanligvis er disse deltakerne økonomisk motivert til å tilby disse ressursene, og de blir økonomisk straffet hvis de ikke følger reglene eller unnlater å lagre og levere filer.

Du kan tenke på denne typen nettverk som at det ligner på Bitcoin. Men i dette tilfellet er hovedmålet med nettverket ikke å støtte overføringer av pengeverdi, men å tilrettelegge for sensurbestandig, desentralisert fillagring.

Andre protokoller med åpen kildekode som InterPlanetary File System (IPFS) baner allerede vei for dette nye, mer permanente og distribuerte nettet. Selv om IPFS er en protokoll og et P2P-nettverk, er det ikke akkurat en blokkjede. Men de benytter noen prinsipper fra blokkjedeteknologien for å forbedre sikkerheten og effektiviteten.