mandag 6. november 2017

NOKIOS og Teknologiradar 2017

NOKIOS Teknologiradar 2017
Årets NOKIOS-konferanse (Norsk konferanse for IT i offentleg sektor) er nettopp avvikla i Trondheim og det var ein veldig bra konferanse. Det seier eg ikkje berre fordi eg var bidragsytar og ansvarleg for workshop om blokk-kjede (saman med Leif S. Flak, UiA, og Odd Ruud/Peter Frøystad, Evry), men fordi det gjennomgåande var gode presentasjonar og diskusjonar. Presentasjonar frå konferansen finn du her.

Gjennombrot for blokk-kjede
Det er også rett å seia at blokk-kjede (eller "blockchain" som dei fleste føretrekk å kalla det...") fekk det definitive gjennombrotet på årets konferanse. Eg har "masa" om å få Bitcoin og blokk-kjede på programmet dei siste tre åra, og i år skjedde det altså. I ettertid ser eg at det kanskje var like greitt å venta til i år. 2017 er det store gjennombrotsåret for blokk-kjede, også for offentleg sektor, i alle fall når det gjeld merksemd.

NOKIOS Teknologiradar 2017
Det som ikkje var så bra, var publikasjonen og presentasjonen Nokios Teknologiradar 2017. Teknologiradaren skal ta temperaturen på ny teknologi og i årets undersøking er det desse teknologiane som er løfta fram:

  • Robotisering
  • Blockchain
  • Kunstig intelligens
  • VR (Virtuell røynd/Virtual reality) og AR (Forsterka/utvida røynd/Augmented Reality)
Det er sjølvsagt blokk-kjede eg har hengt meg opp i. Den delen står til stryk i Teknologiradaren!
Det er særleg omtalen av teknologien som opprører meg. Og ein feilaktig og til dels forvirrande omtale gir grunn til å tru at spørjeundersøkinga har vorte "som ein ropar i skogen får ein svar".

Omtale av blokk-kjede
Eg vil ta for meg avsnitt for avsnitt i publikasjonen og gå kritisk gjennom teksten. Kommentarane mine er i raudt; originalteksten i svart.

Blockchain

Forklaring
En blockchain er en datastruktur som gjør det mulig å lage et digitalt register for transaksjoner (hovedbok), hvor kopier av registeret er lagret på et nettverk av datamaskiner. Den bruker kryptografi for å la hver deltaker i nettverket redigere hovedboken på en sikker måte, uten at den trenger god-kjennelse fra en sentral myndighet.

Før penger byttet folk varer og tjenester direkte. Hvis jeg har lyst på et eple, kunne jeg finne en annen person som hadde lyst til å bytte eple sitt med f.eks. en pære som jeg hadde i min beholdning. Det er ikke alltid man har byttevaren tilgjengelig, og dette forsto de som fant opp penger. Penger er egentlig et symbol på en verdi, og tilsvarer ulike varer som kan kjøpes ved at verdien på varen settes tilsvarende. En bank sørger for å garantere for pengenes verdi og integritet.

Når jeg bytter inn penger med et eple, så er det banken som garanterer for at pengene har en verdi. Hvis banken mangler penger, kan den i teorien trykke opp flere penger. Dette er regulert slik at ikke alle banker bare kan skape egne penger fritt, men prinsippet er det samme, penger garanteres av banken. Man har tillit til at banken garanterer for pengene man bruker.

Systemet er bygd opp slik at når jeg handler et eple, så har jeg tillit til at jeg får det jeg betaler for (jeg har fysisk et eple i hånden), selger har tillit til at pengene jeg gir ham har verdi (De er fysisk i hånden hans og banken garanterer for pengenes verdi). Dette fungerer utmerket når man har fysiske penger. Hva skjer hvis en datamaskin lagrer pengene dine? Det moderne bankvesen har for lengst digitalisert valutabeholdningen sin, og bare en brøkdel av pengene som finnes i verden er i fysisk form. Det meste er digitalt. Fortsatt er det banken som garanterer for verdien, du har bare ikke pengen fysisk i hånden, man har gjerne et bankkort.

Hva skjer hvis man fjerner banken? Hvis jeg ønsker å bytte inn et eple mot penger fra en vilt fremmed, hvordan kan jeg stole på ham uten penger fra banken? Og hva skal jeg bytte det mot, en post-it hvor det står «skylder deg et eple»? Dette er ikke en god løsning, og hvis man skal handle med mange så er det upraktisk.

Digital handel har enda et problem, det finnes ingen god løsning for å garantere for at ikke en av partene i en transaksjon utfører den på nytt med en kopi. Uten banken som garantist, kan jeg eller den jeg handler med opprette egne penger i det uendelige. Den digitale valutaen har ingen tillit når alle kan sette sin egen pengebeholdning. Da kan jeg i teorien bruke penger, og så kopiere opp nye.

Denne problemstillingen har et navn «the double spending problem », og var et uløst problem frem til Satoshi Nakamoto designet en blockchain database i 2008 og gjorde det til en komponent i den digitale valutaen bitcoin.

Eg trur ikkje denne forklaringa på pengar, og korleis dei oppstod, ville vorte godkjent i ein økonomi-eksamen, men eg skal la den gå. Det som er direkte feil, er at bankane garanterer for verdien av pengane. I eit land med fiat-basert pengesystem, er det ingen som kan garantera for verdien av pengane (spør folk i Venezuela, Brasil, Argentina, Zimbabwe...). Det er styresmaktene si styring av landet og økonomien som avgjer verdien av pengane, og styresmaktene har eit viktig instrument i form av ein sentralbank. Problemet med kopiering ("double spending") er korrekt, men ikkje at det var blokk-kjede forstått som lagringsstruktur, som løyste problemet. Det var konsensusmodellen som løyste det, ikkje blokk-kjeda!



Det er feil at kryptografi blir bruk til å la kvar deltakar i nettverket redigera hovudboka. For det første er blokk-kjeder "append-only", ikkje redigeringar i eksisterande data. For det andre er det i opne blokk-kjeder eit lotteri som avgjer kven som får lov til å leggja til blokker (lagra nye data).

Alt i alt ei litt omstendeleg og forvirrande innleiing til blokk-kjede.

Kort om historisk utvikling
Fra 2008 og til 2010 jobbet Nakamoto med utviklingen av bitcoin. Utviklingen av bitcoin gjorde den til den første digitale valutaen som løste ”double spending” problemet.

Siden 2008 har det blitt utviklet mange digitale valuta som alle baserer seg på blockchain, og verdien til en bitcoin har p.d.d. passert $5500.

Den nyeste utviklingen til blockchain er smarte kontrakter, som gjør det mulig å laste opp dokumenter og kriterier inn i blockchainen. Dette er en utvidelse fra bitcoin som er en ren valuta, og viser noe av det blockchain kan brukes til utover digital valuta.

Litt av problemet her er at forfattarane antydar ein slags Blockchain 1.0, 2.0 osv. I denne framstillinga ligg det ein påstand om at Bitcoin er den første og mest primitive av kryptovalutaene, medan seinare kryptovalutaer som Ethereum og andre er meir avanserte. Dette er ikkje tilfelle. Ethereum kompletterer Bitcoin og tilbyr noko anna. Det er ikkje dermed sagt at den er meir avansert. Den har t.d. endå større skaleringsproblem enn Bitcoin. Også andre kryptovalutaer gjer små og større endringar som totalt sett gjer kryptovaluta-økosystemet meir robust. Dei fleste av dei rundt 1000 kryptovalutaene (og eit veksande tal token/appcoins) vil døy ut fordi dei ikkje tilbyr interessante nok alternativ eller av andre grunnar ikkje får stort nok gjennomslag. Sjølv om det ikkje nødvendigvis er slik at "vinnaren tek alt", har Bitcoin ein enorm fordel som den første og mest robuste og sikre av alle kryptovalutaer.

Eksempel på mulighetsområde i offentlig sektor
En blockchain kan brukes til å holde på informasjon, ikke bare informasjon om digital valuta.
I offentlig sektor er det blant annet mulig å legge inn pasientdata, røntgenbilder, bilregister, eiendomsregister osv. inn i en blockchain.

En blockchain garanterer for integriteten til dokumentene og kan i tillegg kryptere dataene slik at alle som ikke er et medlem av den spesifikke blockchainen, ikke har tilgang til dataene. Sykehus kan sette opp en egen privat blockchain hvis medlemmer er hvert enkelt helseforetak. Slik kan de laste opp pasientdata som helseforetakene har tilgang til, mens andre ikke har det.

Et annet mulighetsområde er utstedelse av offentlige dokumenter til privatpersoner. Det offentlige kan legge en kryptert utgave av dokumentet på en blockchain og gi en privatperson tilgang til sitt dokument. Hvis denne personen ønsker å bruke dokumentet i f.eks en jobbsøknad, så kan hun gi midlertidig tilgang til firmaet hun søker jobb på, som ikke trenger verifisere at dokumentet er autentisk fordi det ligger på det offentliges blockchain og som ikke kan endres av jobbsøkeren eller andre.

Ei blokk-kjede kan ikkje garantera for integriteten til dokument utan vidare! Dette er ei av dei største og mest vanlege mistydingane om blokk-kjedeteknologi. Systemet med hash-peikarar gjer at forsøk på endringar er lett å oppdaga, men det betyr ikkje at det er umuleg. Det er sikkerheitsmodellen som avgjer kor lett eller vanskeleg det er, ikkje blokk-kjeda i seg sjølv. Her er skiljet mellom opne (public) og lukka (private) blokk-kjeder viktig. I ei privat/lukka blokk-kjede er det ingen som kan hindra dei kontrollerande aktørane å gjera endringar om dei bestemmer seg for det. Det kan også skje i ei opa blokk-kjede, men då vil det ofte resultera i ei splitting (jf. den omstridde splittinga av Ethereum i fjor sommar).

Eksemplet med verifisering av dokument, t.d. jobbsøknad, forstår eg rett og slett ikkje. Korleis kan dei forklara at dokumentet ikkje treng å verifiserast fordi det ligg på ei offentleg blokk-kjede?

Eksempler på praktisk bruk i dag
Et eksempel på praktisk bruk i dag er pantepenger i regi Røde Kors. Røde Kors opprettet en blockchain for egen digital valuta i en flyktningeleir, og gav de som leverte inn plastflasker sin egen digitale valuta. Fordelen ved dette, var at den digitale valutaen fulgte personen, og kunne dermed ikke stjeles av andre. Slik minsket de mulighetsrommet for korrupsjon i flyktningeleiren.

Noen banker har begynt å se på bruk av blockchain som intern digital valuta i ulike former, bla. overføringer mellom filialer eller til andre banker som er med i blockchain samarbeidet.

Eksempelet med Røde Kors er interessant.

Forutsetninger for å ta i bruk og grensesnitt mot annen teknologi
Forutsetningen for å ta i bruk blockchain i dag er forståelse for hvordan en blockchain fungerer. Mange kommersielle aktører har utarbeidet egne rammeverk som skal gjøre det enkelt å komme fort i gang med en egen blockchain, deriblant de mest kjente skyaktørene Amazon, Microsoft og IBM.

Utfordringen til bla. Bitcoin er at ledgeren, som alle som er medlemmer av blockchainen må ha en lokal kopi av, kan være ganske stor. For Bitcoin er denne nå på over 100 Gb (Januar 2017). Dette er et mindre problem for små private blockchains. Blockchains som har mange transaksjoner, slik som bilregisteret, vil kunne bli ganske store. Ingenting i «hovedboken» slettes, og alle transaksjoner er der for evig tid.

Blockchain er en relativt ny teknologi og grensesnittet mot annen teknologi er fortsatt litt variabel. En blockchain vil erstatte tradisjonelle databaser for sitt bruksområde.

Det stemmer at ei forståing av korleis teknologien fungerer, er viktig for dei som vil ta den i bruk. Forfattarane viser ikkje ei slik forståing. Det er avgjerande å forstå at blokk-kjedeteknologien er ein desentral teknologi. Den har fordelar og ulemper. Fordelane er ein svært robust teknologi mot manipulering og sensurering (opne blokk-kjeder). Ulempene er ineffektivitet. Tek du bort den første delen, eller ikkje treng desentraliseringa, står du att med eit ineffektivt system. For å sitera Gideon Greenspans "Do you really need a blockchain for that?": 
"If your requirements are fulfilled by today’s relational databases, you’d be insane to use a blockchain."
Og det verkar som forfattarane går i den fella. Bruksområdet dei omtalar (bilregister, helseopplysningar) blir handtert langt meir effektivt i tradisjonelle databasar.   

Viktige trender og forventet utvikling
Akkurat nå er man i startgropen med blockchain-teknologi. Mange leter etter bruksområder, og noen har prøvd ut brukstilfeller. Det er tydelig at blockchain-teknologi har mange bruksområder, men om det kommer til å være en fullgod erstatter til de systemene man allerede har gjenstår å se. Noe av utfordringene blockchain har er at «hovedboken» bare vokser og vokser. Når skal man «arkivere» de gamle transaksjonene og unngå at de vokser seg inn i himmelen? Dette jobbes det med, og hvis man finner et fullgodt skjæringspunkt mellom distribuert tillit og ytelse kan dette virkelig revolusjonere måten vi tenker på forflytting av dokumenter og verdipapirer mellom folk.

Igjen er det oppfatninga av at blokk-kjedeteknologien skal erstatta dagens database-løysingar. Det er ikkje nokon grunn til å gjera det. Tilbake til Gideon Greenspan, som det også må leggjast til er ein varm forsvarar for private/lukka blokk-kjeder. Han listar opp ein del essensielle vilkår som oppfyllast for at du skal vurdera å ta i bruk blokk-kjedeteknologi. Nokre av dei mest sentrale, er:

1. Du må ha behov for ein delt database 

2. Fleire aktørar må kunna skriva/leggja til (ikkje berre kan, men )

3. Fråver av tillit. Er det tillit mellom partane, er blokk-kjedeteknologi bortkasta.

4. Må vera eit behov for å fjerna tiltrudd tredjepart.

5. Det bør helst vera interaksjon mellom transaksjonane frå ulike aktørar.

6. Blokk-kjeda må ta hand om eit sett reglar (som ein aktør ikkje kan setja eller kontrollera åleine)

7. Det må vera ei godkjenningsordning (validering) av nye transaksjonar/blokker. I opne blokk-kjeder er det ein tilfeldig prosess (lotteri), i lukka blokk-kjeder går det på omgang ("round-robin")

8. Nokon må gå god for eigedelar ("Who stands behind the assets on the blockchain?")

Greenspan meiner at kvar og ein av desse åtte krava må vera oppfylte for at det skal vera noko poeng å bruka blokk-kjedeteknologi. Sjølv om dette kan diskuterast, viser han i alle fall at å erstatta ein tradisjonell database med blokk-kjede, slik mange prøver, er bortkasta.

Konklusjonen er at den delen av Teknologiradaren som handlar om blokk-kjede, er meir forvirrande enn oppklarande. Om du ikkje visste mykje om blokk-kjede på førehand, blir du garantert meir forvirra etter å ha lese dette. Og det er synd, for er det noko som er viktig i opphaussinga av blokk-kjedeteknologi, er det oppklarande informasjon. 

Ingen kommentarer: