Tech Blog

Vad är blockchain?

En teknik som diskuterats flitigt under de senaste åren är blockchain. Blockchain är mest känt som tekniken som banade väg för Bitcoin. Bitcoin fick sitt genombrott redan år 2010, men har funnits sedan år 2009. Det har visat sig att användningsområdet för blockchain är betydligt större än enbart tillhandahållandet av en kryptovaluta och tekniken spås revolutionera hur vi delar med oss av data och skyddar våra uppgifter.

I detta inlägg ska vi kortfattat ge en introduktion till hur tekniken bakom blockchain fungerar och beskriva de möjligheter som tekniken för med sig. Det bör här framhållas att detta inlägg syftar till att ge en grundläggande förståelse för tekniken samt dess användningsområden. För att detta ska vara möjligt presenteras en något förenklad blid av tekniken. Vi kommer i senare inlägg dyka djupare i hur tekniken utvecklats, hur den i praktiken används och de legala frågetecken som denna utveckling för med sig.

Distributed Ledger Technology

Distributed Ledger Technology (”DLT”) och blockchain beskrivs ofta som synonymer, något som dock inte stämmer. Istället bör blockchain snarare ses som en underkategori till DLT, men för att förstå hur blockchain och annan liknande teknik fungerar måste man först förstå vad DLT är.

DLT är en metod att distribuera register (eller med ett annat ord – databaser) med information på ett säkert sätt. Istället för ett system där en (1) central enhet för register över de transaktioner som genomförs sker detta i ett decentraliserat register som samtliga användare har tillgång till. Ett exempel på detta är att alla Bitcoin-användare som är anslutna till kedjan har tillgång till en fullständig kopia av registret, vilket medför att det blir tydligt för alla användare vilka transaktioner som genomförs i registret. Denna transparens och gemensamma kontroll är en bidragande faktor till varför DLT är en av de säkraste tekniker som finns för lagring av data.

Hur fungerar blockchain?

Blockchain bygger på ett decentraliserat nätverk där samtliga användare säkerställer (validerar) nya transaktioner som adderas till registret. Information adderas till kedjan i form av ett block, och detta block kan beskrivas som en post i registret. Blocken adderas ett efter ett och ges ett specifikt identifikationsnummer (s.k. hash). Detta hashnummer är alltid kopplat till det föregående blocket vilket gör att de block som adderas länkas ihop till en kedja. Detta är även en aspekt som bidrar till att blockchain är otroligt säkert, vilket vi kommer att beskriva närmare sedan.

Blockchain beskrivs enklast genom exemplifiering och vi kommer därför här gå igenom de centrala aspekterna i hur en transaktion genomförs på Bitcoins blockchain.

En transaktion inleds genom att en part vill genomföra en betalning av kryptovaluta. Vi kallar denna part A. A registrerar en ny betalning till B i den programvara som är kopplad till kedjan. Denna nya transaktion skickas då ut till en användare i kedjan som skapar det nya blocket för denna specifika transaktion.

Användaren som skapar det nya blocket ersätts för detta genom att en liten andel nya Bitcoin utfärdas till användaren samt en liten mängd befintliga Bitcoins betalas i transaktionsavgift. Processen att skapa nya block kallas mining och användarna som skapar nya block kallas miners. Det är dessa miners som tillför den processorkraft som är nödvändig för att hålla kedjan tillgänglig. Det kan beskrivas som att miners arbetar för att upprätthålla kedjan och får betalt för sitt arbete i form av nya Bitcoins – det skapas på så sätt ett incitament att arbeta för kedjan. Då miners har en central roll i blockchains funktion är det viktigt att inte en och samma miner skapar alla nya block. Den användaren skulle då kunna få ett allt för stort inflytande över vilken information som läggs in i kedjan. För att förhindra detta får alla miners ett komplicerat kryptografiskt problem att lösa i samband med varje ny transaktion. Den miner som löser problemet snabbast belönas med att få skapa nästa block. Processen att skapa nya block genom att lösa dess problem kräver stora mängder energi och processorkraft. Detta har resulterat i att den mining som sker idag görs i datorcenter som är byggda för detta specifika ändamål.

De stora mängder energi som krävs är ett av blockchains största problem. Enligt grova uppskattningar konsumerar den blockchain som driver Bitcoin lika mycket energi per år som hela Danmark. Det är svårt att avgöra hur nära verkligheten denna frekvent använda liknelse ligger, det står dock klart att blockchain-tekniken kräver enorma mängder energi.

När blocket skapas får det sitt hashnummer. Detta nummer skapas med hjälp av kryptografisk programvara och baseras på det föregående blockets hashnummer samt innehållet i blocket. Säkerheten som skapas genom detta bygger på att varje block är länkat till övriga genom dessa hashnummer. Detta gör att det är väldigt enkelt att upptäcka om någon mot förmodan skulle lyckas ändra innehållet i ett block eller rent av radera ett block helt, då detta resulterar i att hashnummren i kedjan inte längre hänger ihop. Med andra ord håller hashnumren ihop kedjan och modifiering av ett block bryter kedjan.

När en miner har skapat ett nytt block distribueras detta till samtliga användare i nätverket för godkännande. Först efter att blocket har godkänts adderas det till kedjan. Det distribuerade blockets innehåll granskas inte i detalj utan det är de övriga användarnas mjukvara som validerar att det nya blocket följer de regler som finns i kedjan. Först efter att blocket har lagts in i kedjan genomförs den faktiska överföringen av kryptovalutan från A till B.

Ytterligare en aspekt som bidrar till den höga säkerhetsnivån är att all information krypteras då den läggs in i kedjan. För att låsa upp informationen används privata och publika nycklar. Varje användare har en privat och en publik nyckel. Den publika nyckeln kan ses som en adress i kedjan tillhörande den specifika användaren. För att genomföra den exemplifierade transaktionen ger B sin publika nyckel till A. På så sätt kan både A och B förbli anonyma då den publika nyckeln fungerar som en användares adress eller identifikation. B använder sedan sin privata nyckel för att ”låsa upp” och få tillgång till transaktionen. När det gäller Bitcoin har en användare en så kallad wallet, en digital plånbok där ens tillgångar sparas. Den privata nyckeln låser upp denna wallet. Det är otroligt viktigt att man inte tappar bort sin privata nyckel då det inte är möjligt att återskapa den. Tappas nyckeln bort går alla tillgångar som finns i ens wallet förlorade. Nyligen gick kryptovaluta till ett värde av ca. 135 miljoner dollar förlorade då grundaren av det kanadensiska kryptobolaget Quadriga plötsligt gick bort. Många frågetecken kvarstår kring hur bolagets verksamhet hanterats och hur det är möjligt att endast en person har tillgång till nyckeln. Exemplet belyser dock vikten av dessa nycklar.

Processen där miners skapar nya block för att sedan distribuera blocken för godkännande av övriga användare i närverket kallas proof of work respektive network consensus. Detta är två centrala begrepp då blockchain diskuteras. Det är denna process i kombination med krypteringen som tillhandahåller den höga nivå av säkerhet som blockchain-tekniken erbjuder. Processen är dock långsam vilket innebär att antalet transaktioner som kan genomföras samtidigt är förhållandevis få. Bitcoinkedjan har en maxkapacitet kring 7 transaktioner per sekund vilket kan jämföras med en normal kreditkortsleverantör vars maxkapacitet ligger runt 25 000 transaktioner per sekund. Detta är ytterligare ett av de större problemen som blockchain-tekniken står inför, vilket normalt refereras till som ”the scalability problem”. För att tekniken ska kunna tillämpas inom nya områden och få ett stort genomslag måste kapaciteten ökas.

Vad som ovan har beskrivits är den första generationens blockchain som introducerades för världen i samband med att Bitcoin lanserades. Den första generationen fungerar egentligen endast som en decentraliserad databas där transaktioner eller annan typ av information registreras av användarna. I dagsläget arbetar ett stort antal företag och entreprenörer med att utveckla den tredje generationen av blockchain. Den är denna tredje generation som av många spås förändra hur vi ser på informationshantering i grunden. Innan vi kommer dit ska vi kortfattat beskriva den andra generationen som nu ligger till grund för större delen av de blockchain-baserade projekt som företag utvecklar.

Andra generationens blockchain

Den andra generationens blockchain centrerar runt begreppet decentraliserad applikation (”DAPP”). En DAPP skiljer sig inte från en vanlig applikation (”APP”) på något annat sätt än att den är baserad på blockchain-teknik. Medan den första generationens blockchain endast fungerade som en databas har den andra generationens blockchain en ytterligare nivå. Den andra nivån utgörs av mjukvara som kan läsa och exekvera all form av kod vilket innebär att man kan skapa applikationer som drivs på en blockchain. Det var först med andra generationen av blockchain som en större mängd människor började se den vidare potentialen i blockchain. Utvecklare kan nu skapa exempelvis sociala nätverk där informationen sparas i en decentraliserad databas som innebär att varje användare får verklig kontroll över sina uppgifter. En av de stora fördelarna med blockchain är, som nämnts ovan, säkerheten vilket är av stor betydelse vid utvecklingen av nya applikationer. Fördelarna med en DAPP är många. Dock kvarstår den problematik som berörts ovan. Den andra generationen av blockchain är även den enormt energikrävande vilket innebär att det inte är hållbart från varken ett kommersiellt perspektiv eller ett miljöperspektiv.

Ett av bolagen som var tidiga med att tillhandahålla en plattform för utvecklare att bygga och lansera sina DAPP:s var Ethereum. Ethereum är visserligen ett av många bolag men blev snabbt, och är fortfarande, ledande inom branschen. Ethereum tillhandahåller en blockchain-baserad plattform med i princip obegränsade möjligheter att utveckla olika typer av decentraliserade applikationer.

Ethereum och en mängd andra bolag arbetar just nu med att lösa de problem som i dagsläget hindrar att blockchain kan utnyttjas till sin fulla potential.

Tredje generationens blockchain

Vad som kommer härnäst är svårt att förutspå. Det finns dock en mängd potentiella lösningar på de olika problem som blockchain-tekniken står inför, men ännu har inga konkreta lösningar avseende energikonsumtionen eller skalbarheten dykt upp på marknaden. Här bör nämnas att blockchain används flitigt redan idag. I regel sker det genom mindre kedjor där energikonsumtionen och skalbarheten inte får lika stor påverkan. Dock finns även flertalet större projekt så som IBM Food Trust, vilket är en tjänst där användarna kan spåra livsmedelsprodukters produktions- och leveranskedja . Genom att använda sig av en öppen blockchain för produktion och leverans tillhandahålls en transparens gentemot konsumenterna som tidigare inte varit möjlig. Vidare har tjänsten bidragit till att matsvinnet minskat samt att konsumtionsmönster kunnat förutses på ett bättre sätt.

I kommande inlägg kommer vi att titta närmare på de positiva aspekterna såväl som de problem som i korthet beskrivits ovan, och även de möjliga lösningarna som bolag aktiva inom det här området arbetar med. Vi kommer såklart även diskutera de legala frågetecken som tekniken för med sig.