lørdag 11. november 2017

Bitcoins største problem er internt


Lenke til illustrasjonen
Innlegg i Dagens Næringsliv i dag (11.11.17) om det eg meiner er Bitcoins største problem: intern strid og splitting.

Dessverre har DN kutta innleiing og avslutning og innlegget blir dermed litt utan "hovud & hale". Her er original-innlegget slik eg sende det.



Bitcoins største utfordring er intern

Svein Ølnes, Vestlandsforsking

«If it doesn’t kill you it just makes you stronger» er eit uttrykk opprinneleg formulert av Friedrich Nietzsche, og utviklinga av Bitcoin ser ut til å følgja denne. Til meir kritikk og til fleire dommedags­profetiar utanfrå, til sterkare ser Bitcoin ut til å bli og til meir aukar kursen på valutaen.

Kina har strypt handelen med bitcoin og kryptovaluta, men etter ein kort dupp har vekslingskursen teke seg opp att til nye høgder. Jamie Dimon, toppsjefen for JPMorgan Chase (banken som fekk NOK 100 mrd. i bot for svindel i samband med finanskrisa!), er stadig ute med negative utsegner om Bitcoin, utan at det påverkar kursen i negativ retning. Og her heime meiner Finans Norge at Bitcoin kan rasera velferdsstaten! Dette utsagnet påverkar sjølvsagt ikkje den globale valutaen og er elles meir å rekna som ein skivebom.

Nei, dei største truslane for Bitcoin kjem heller innanfrå. Dei siste åra har diskusjonen rasa om korleis Bitcoin best bør auka kapasiteten. Frontane har vore steile og det har etter kvart resultert i splitting av sjølve blokk-kjeda («hard fork»). 1. august fekk vi den nye valutaen Bitcoin Cash, og i slutten av oktober fekk vi  Bitcoin Gold. Endå ei splitting, kalla SegWit2X, var planlagt i midten av november. Frå å ha eitt Bitcoin-system, får vi etter kvart mange! Om det var vanskeleg å forklara Bitcoin frå før, blir det ikkje akkurat enklare.

Skilnaden på valutaene som oppstår etter splitting, og andre kryptovalutaer som Ethereum eller Litecoin, er at dei har felles historie med Bitcoin. Det vil seia at dersom du eig Bitcoin før ei splitting, vil du etter splittinga ha same tal bitcoin både på den gamle og den nye Bitcoin-blokkjeda. Det høyrest jo flott ut; kven vil seia nei takk til gratis pengar? Men det er gratis pengar med ein bismak, for splittinga i stadig fleire valutaer skaper både forvirring og svekkjer tryggleiken til systemet. Det blir kamp om kva som er den “ekte” Bitcoin og har rett til å bruka namnet.

Såkalla vennlege splittingar, representerer ein mindre fare enn omstridde og til dels fiendtlege splittingar. Bitcoin Cash og Bitcoin Gold er relativt vennlegsinna splittingar der det er utvikla vern mot å gjennomføra feilaktige transaksjonar. Dersom det ikkje blir gjort noko for å skilja dei to bitcoin-variantane som oppstår etter ei splitting, vil nettverket ha problem med å vita kva for ein bitcoin du faktisk overfører. Då oppstår det fare både for å gjera feil og for å bli utsett for svindel («replay attack»). Vennlegsinna splittingar byggjer eit vern mot dette, medan andre splittingar ikkje gjer det.

Tidlegare i år kom ei gruppe kommersielle aktørar som i stor grad representerte graveindustrien og vekslingstenester, saman i New York og vart einige om ein avtale for å auka kapasiteten. Det første tiltaket var innføring av endringa SegWit, eit «knep» for å frigjera plass, men utan å bryta kompatibiliteten bakover. Den andre endringa var ei dobling av blokk-størrelsen. Den siste endringa ville krevja ei splitting (ein «hard fork»). SegWit vart innført 1. august i år, og etter planen skulle doblinga av blokk-størrelse skje rundt tre månader seinare, i midten av november. Men det var stor motstand mot doblinga av blokk-størrelsen. Enktel sagt har det vore vanlege Bitcoin-brukarar mot kommersielle aktørar, og særleg grave-interesser.

Frontane har vore steile i dei to leirane og miljøet bak New York-avtalen har ikkje villa byggja inn vern mot såkalla «replay»-angrep. Når i tillegg 80-90 % av grave­ressursane stilte seg bak avtalen, låg det an til ei veldig farleg splitting av Bitcoin. Det ville vore risikabelt å bruka Bitcoin i tida etter splittinga, og det ville også vorte ein «krig» for å kunna bruka Bitcoin-namnet. Seint onsdag kveld (08.11) kom meldinga om at SegWit2X vart trekt tilbake, og Bitcoin-miljøet kunne pusta letta ut – for denne gang.

Bak denne omstridde splittinga låg det også eit ønskje om å bli kvitt «brysame» utviklarar i Bitcoin-samfunnet. Bitcoin blir i dag vedlikehalde av ein liten kjerne på 3-4 utviklarar, tilsette av universitetet MIT. Det er mange fleire som kjem med endringsforslag til Bitcoin, men det er kjerne-utviklarane set endringane ut i livet når det er stor oppslutnad om det. Kjerne-utviklarane har lagt seg på ei forsiktig linje og har vore motstandarar av omdiskuterte splittingar. Det er ein del kommersielle interesser misnøgde med; dei vil ha større tempo i Bitcoin-utviklinga. Splittinga SegWit2X var difor også eit forsøk på å setja denne gruppa av utviklarar på sidelinja.


Uttrykket i starten kan også omskrivast til «if it doesn’t make you stronger, it just kills you», og det kan fort bli resultatet om slike interne kampar dukkar opp på nytt.

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.