Vad är blockkedjeteknologi? Den ultimata guiden
Hem
Artiklar
Vad är blockkedjeteknologi? Den ultimata guiden

Vad är blockkedjeteknologi? Den ultimata guiden

Avancerad
Publicerad Dec 30, 2019Uppdaterad May 15, 2023
33m

Kapitel

  1. Grunderna om blockkedjan
  2. Hur fungerar en blockkedja?
  3. Vad används blockkedjan till?


Kapitel 1 - Grunderna om blockkedjan

Innehåll


Vad är en blockkedja?

En blockkedja är en speciell typ av databas. Du kanske också har hört talas om distribuerad orderbok-teknologi (eller distributed ledger technology/DLT) – i många fall syftar de på samma sak.

En blockkedja har vissa unika egenskaper. Det finns regler om hur data kan läggas till och när data väl har lagrats är det praktiskt taget omöjligt att ändra eller ta bort dessa.

Data läggs efter hand till i strukturer som kallas block. Varje block byggs ovanpå det sista och innehåller en del information som länkar tillbaka till det föregående. Genom att titta på det senast uppdaterade blocket kan vi kontrollera att det har skapats efter det senaste. Så om vi fortsätter hela vägen ner i "kedjan" kommer vi att nå vårt allra första block – känt som genesisblocket.

För att göra en liknelse kan du anta att du har ett kalkylblad med två kolumner. I den första cellen på den första raden lägger du vilka data du vill ha.

Den första cellens data omvandlas till en tvåbokstavs-identifierare, som sedan används som en del av nästa inmatning. I det här exemplet måste tvåbokstavs-identifieraren KP användas för att fylla i nästa cell i den andra raden (defKP). Det betyder att om du ändrar de första inmatningsdata (abcAA), får du en annan kombination av bokstäver i de andra cellerna.

En databas där varje post är länkad till den senaste.


Om vi tittar på rad 4 nu är vår senaste identifierare TH. Kommer du ihåg att vi sa att du inte kan gå tillbaka och ta bort eller radera poster? Detta beror på att vem som helst skulle kunna säga att det har gjorts och ditt försök till förändring skulle därför ignoreras.
Anta att du ändrar data i den allra första cellen – du skulle få en annan identifierare, vilket skulle innebära att ditt andra block skulle ha olika data, vilket skulle leda till en annan identifierare i rad 2 och så vidare. TH är i huvudsak en produkt av all information som kommer före den.


Hur är blocken anslutna?

Det vi diskuterade ovan – med våra tvåbokstavs-identifierare – är en förenklad analogi av hur en blockkedja använder hashfunktioner. Hashing är limmet som håller ihop blocken. Det består av att ta data av vilken storlek som helst och skicka dessa genom en matematisk funktion för att producera en utdata (en hash) som alltid är lika lång.

Hasharna som används i blockkedjor är intressanta eftersom oddsen för att du hittar två databitar som ger exakt samma utdata är astronomiskt låga. Liksom våra identifierare ovan ger varje liten modifiering av våra indata att en helt annan utdata.

Låt oss illustrera med SHA256, vilket är en funktion som används flitigt i bitcoin. Som du kan se räcker det att ändra bokstävernas versaler för att förvränga resultatet helt.


IndataSHA256-utdata

Binance Academy

886c5fd21b403a139d24f2ea1554ff5c0df42d5f873a56d04dc480808c155af3

Binance Academy

4733a0602ade574551bf6d977d94e091d571dc2fcfd8e39767d38301d2c459a7

Binance Academy

a780cd8a625deb767e999c6bec34bc86e883acc3cf8b7971138f5b25682ab181


Det faktum att det inte finns några kända SHA256-kollisioner (det vill säga två olika indata som ger oss samma utdata) är otroligt värdefullt i blockkedjornas sammanhang. Det betyder att varje block kan peka tillbaka till det föregående genom att inkludera dess hash och varje försök att redigera äldre block blir uppenbart direkt.

Varje block innehåller ett fingeravtryck av det föregående.


Blockkedjor och decentralisering

Vi har förklarat den grundläggande strukturen för en blockkedja. Men när du hör folk prata om blockkedjeteknologi talar de sannolikt inte bara om själva databasen, utan om ekosystemen byggda kring blockkedjor. 

Som fristående datastrukturer är blockkedjor bara verkligt användbara i nisch-applikationer. Det är när vi använder dem som verktyg för främlingar att koordinera sinsemellan som saker och ting blir intressanta. I kombination med andra teknologier och viss spelteori kan en blockkedja fungera som en distribuerad orderbok som inte kontrolleras av någon.
Vad detta betyder är att ingen har makten att redigera posterna utanför systemets regler (mer om reglerna inom kort). På det sättet kan du argumentera för att orderboken ägs av alla samtidigt: deltagarna kommer överens om hur den ser ut vid varje given tidpunkt.


Problemet med de bysantinska generalerna

Den verkliga utmaningen som står i vägen för ett system som det som beskrivs ovan är något som kallas det bysantinska generalproblemet. Det skapades på 1980-talet och beskriver ett dilemma där isolerade deltagare måste kommunicera för att samordna sina handlingar. Det specifika dilemmat involverar en handfull generaler i en armé som omger en stad och bestämmer sig för om de ska attackera den. Generalerna kan bara kommunicera via bud. 

Var och en måste bestämma sig för om de ska attackera eller dra sig tillbaka. Det spelar ingen roll om de attackerar eller drar sig tillbaka, så länge alla generaler är överens om ett gemensamt beslut. Om de bestämmer sig för att attackera lyckas de bara om de attackerar samtidigt. Så, hur säkerställer vi att de klarar av detta? 

De skulle kunna kommunicera via bud. Men, vad händer om budbäraren fångas med ett meddelande som säger "vi anfaller i gryningen" och det meddelandet ersätts med "vi anfaller ikväll"? Tänk om en av generalerna är en spion och avsiktligt vilseleder de andra för att säkerställa att de blir besegrade?

Alla generaler lyckas när de attackerar (vänster). När vissa drar sig tillbaka medan andra attackerar besegras de (höger).


Vi behöver en strategi där konsensus kan nås även om deltagarna är spioner eller meddelanden avlyssnas. Att inte kunna underhålla en databas är inte en situation på liv och död som i attacken av en stad utan handlar om förstärkningar, men samma princip gäller. Om det inte finns någon som övervakar blockkedjan och ger användarna "korrekt" information måste användarna kunna kommunicera denna sinsemellan.

För att övervinna det potentiella misslyckandet hos en (eller flera) användare måste blockkedjans mekanismer vara noggrant konstruerade för att vara resistenta mot dessa bakslag. Ett system som kan uppnå detta kallas bysantinsk feltolerant. Som vi kommer att se inom kort används konsensusalgoritmer för att genomdriva robusta regler.


Varför måste blockkedjor decentraliseras?

Du kan naturligtvis driva en blockkedja själv. Men du skulle få en databas som är klumpig i jämförelse med bättre alternativ. Dess verkliga potential kan utnyttjas i en decentraliserad miljö – det vill säga en miljö där alla användare är lika. På så sätt kan blockkedjan inte tas bort eller med tas över. Det är en enda äkta källa som alla kan se.


Vad är peer-to-peer-nätverket?

Peer-to-peer-nätverket (P2P) är vårt lager av användare (eller generalerna i vårt tidigare exempel). Det finns ingen administratör, så istället för att ringa till en central server för att utbyta information med en annan användare, skickar användaren den direkt till sina kamrater ("peers"). 

Se diagrammet nedan: Till vänster måste A dirigera sitt meddelande genom servern för att få det till F. På höger sida är de anslutna utan mellanhand.

Ett centraliserat nätverk (vänster) kontra ett decentraliserat (höger).


Normalt sett innehåller servern all information som användarna behöver. När du går in på Binance Academy ber du dess servrar att tillhandahålla dig artiklar. Om webbplatsen går offline kan du inte se dem. Men om du har laddat ned allt innehåll kan du se det på din dator utan att Binance Academy måste tillhandahålla dig dem igen. 

I grund och botten är detta vad varje kamrat gör med blockkedjan: hela databasen lagras på deras dator. Om någon lämnar nätverket kommer de återstående användarna fortfarande åt blockkedjan och kan dela information med varandra. När ett nytt block läggs till i kedjan sprids data över nätverket så att alla kan uppdatera sin egen kopia av orderboken.

Kolla in Vi förklarar Peer-to-Peer-närverk för en mer djupgående diskussion om denna typ av nätverk.


Vad är blockkedjenoder?

Noder är helt enkelt vad vi kallar maskinerna som är anslutna till nätverket – det är de som lagrar kopior av blockkedjan och delar information med andra maskiner. Användarna måste inte hantera dessa processer manuellt. I allmänhet behöver de endast ladda ned och köra blockkedjans programvara, varpå resten sköts automatiskt.

Ovanstående beskriver vad en nod är i dess enklaste mening, men definitionen kan även omfatta andra användare som interagerar med nätverket på något sätt. Inom kryptovaluta är till exempel en enkel plånboksapplikation på din telefon något som kallas en lätt nod


Offentliga kontra privata blockkedjor

Som du kanske vet lade bitcoin grunden för att blockkedjebranschen skulle växa till vad den är idag. Ända sedan bitcoin visat sig vara en legitim finansiell tillgång har innovatörer funderat på potentialen hos den underliggande tekniken inom andra områden. Detta har resulterat i en utforskning av blockkedjan för otaliga användningsområden utanför finansbranschen.

Bitcoin är vad vi kallar för en offentlig blockkedja. Detta innebär att vem som helst kan se transaktionerna på den och allt som krävs för att gå med är en internetanslutning och nödvändig programvara. Eftersom det inte finns några andra krav för deltagande kan vi hänvisa till detta som en miljö utan behörighet.
Däremot finns det andra typer av blockkedjor som kallas privata blockkedjor. Dessa system fastställer regler för vem som kan se och interagera med dessa blockkedjor. Därför hänvisar vi till dem som miljöer med behörighet. Även om privata blockkedjor kan verka överflödiga till en början har de några viktiga användningsområden – främst i företagsmiljöer.


Vill du komma igång med kryptovaluta? Köp bitcoin på Binance!


Hur fungerar transaktioner?

Om Alice vill betala Bob via banköverföring meddelar hon sin bank. Låt oss för enkelhetens skull anta att de två parterna använder samma bank. Banken kontrollerar att Alice har pengar för att utföra transaktionen innan banken uppdaterar sin databas (t.ex. -50 USD till Alice och +50 USD till Bob).

Detta är inte alltför olikt det som händer med en blockkedja. Den är trots allt också en databas. Den viktigaste skillnaden är att det inte finns en enda part som utför kontrollerna och uppdaterar balansen. Alla noder måste göra det. 

Om Alice vill skicka fem bitcoin till Bob skickar hon ett meddelande som säger detta till nätverket. Dessa kommer inte att läggas till blockkedjan direkt – noder kommer att se det, men andra åtgärder måste utföras för att transaktionen ska bekräftas. Se Hur läggs block till i en blockkedja?
När den transaktionen har lagts till i blockkedjan kan alla noder se att den har skapats. De uppdaterar då sin kopia av blockkedjan för att återspegla detta. Nu kan Alice inte skicka samma fem enheter till Carol (därmed dubbla utgifter), eftersom nätverket vet att hon redan har spenderat dem i en tidigare transaktion.
Det finns inget koncept med användarnamn och lösenord – kryptografi med offentlig nyckel används för att bevisa äganderätt till tillgångar. För att ta emot tillgångar i första hand måste Bob skapa en privat nyckel. Den är bara ett mycket långt slumpmässigt tal som skulle vara praktiskt taget omöjligt för någon att gissa, även om de försökte i hundratals år. Men om han berättar för någon om sin privata nyckel kommer hen att kunna bevisa äganderätt över (och därför spendera) hans tillgångar. Det är därför viktigt att han håller den hemlig.
Vad Bob däremot kan göra är att hämta en offentlig nyckel från sin privata. Han kan sedan ge den offentliga nyckeln till vem som helst, eftersom det är nära omöjligt för dem att omvända den för att komma åt den privata nyckeln. I de flesta fall kommer han att utföra en annan åtgärd (som hashing) på den offentliga nyckeln för att få en offentlig adress.


Han ger Alice den offentliga adressen så att hon vet vart hon ska skicka tillgångarna. Hon gör en transaktion med meddelandet betala dessa tillgångar till denna offentliga adress. För att bevisa för nätverket att hon inte försöker spendera tillgångar som inte är hennes skapar hon sedan en digital signatur med sin egen privata nyckel. Vem som helst kan jämföra Alices undertecknade meddelande med hennes offentliga nyckel och med säkerhet kunna säga att hon är berättigad att skicka dessa tillgångar till Bob.


Så här gör du bitcoin-transaktioner

Låt oss föreställa oss två olika scenarier för att illustrera hur du kan göra bitcoin-transaktioner. Den första består av att du tar ut bitcoin från Binance och den andra av att skicka tillgångar från din TrustWallet- till din Electrum-plånbok.


Så här gör du bitcoin-uttag från Binance

1. Logga in på ditt Binance-konto. Om du inte har några bitcoin än kan du kolla in vår bitcoin-guide om hur du köper dem.
2. Håll muspekaren över plånboken och välj spotplånboken.


3. Klicka på Uttag i sidofältet till vänster.
4. Välj det coin du vill ta ut – i det här fallet BTC.
5. Kopiera adressen du vill ta ut dina bitcoin till och klistra in den i mottagarens BTC-adress.


6. Ange beloppet du vill ta ut.
7. Klicka på Skicka.
8. Du får nu ett e-postmeddelande för verifiering i inkorgen. Kontrollera noga att adressen är korrekt. Om så är fallet bekräftar du transaktionen i e-postmeddelandet.
9. Vänta tills din transaktion går igenom på blockkedjan. Du kan övervaka dess status under fliken Insättnings- och uttagshistorik eller med hjälp av en blockutforskare.


Så här skickar du bitcoin från Trust Wallet till Electrum

I det här exemplet skickar vi några bitcoin från Trust Wallet till Electrum.


1. Öppna Trust Wallet-appen.
2. Tryck på ditt bitcoin-konto.
3.Tryck på Skicka.
4. Öppna din Electrum-plånbok.
5. Klicka på fliken Ta emot i Electrum och kopiera adressen.


Alternativt kan du gå tillbaka till Trust Wallet och trycka på [–]-ikonen för att skanna QR-koden som pekar till din Electrum-adress.


6. Klistra in din bitcoin-adress till Mottagarens adress i Trust Wallet.
7. Ange beloppet.
8. Om allt är korrekt bekräftar du transaktionen.
9. Klart! Vänta tills din transaktion bekräftas på blockkedjan. Du kan övervaka dess status genom att kopiera din adress till en blockutforskare.


Vill du komma igång med kryptovaluta? Köp bitcoin på Binance!


Vem uppfann blockkedjeteknologin?

Blockkedjeteknologin formaliserades 2009 i och med lanseringen av bitcoin – den första och mest populära blockkedjan. Dess pseudonyma skapare Satoshi Nakamoto hämtade dock inspiration från tidigare tekniker och förslag.

Blockkedjor använder hashfunktioner och kryptografi som redan funnits i decennier innan bitcoin släpptes. Intressant nog kunde blockkedjans struktur spåras tillbaka till början av 1990-talet, även om den bara användes för tidsstämpling av dokument som inte skulle kunna gå att ändras senare.

För mer info om ämnet kan du se Blockkedjans historia.


För- och nackdelar med blockkedjeteknologin

Rätt konstruerade blockkedjor löser ett problem som har varit intressant för ett antal branscher, inom allt från finans till jordbruk. Ett distribuerat nätverk ger många fördelar jämfört med den traditionella klient-server-modellen, men det har också vissa kompromisser.


Fördelar

En av de direkta fördelarna som observeras i bitcoin-vitboken är att betalningar kan överföras utan att involvera en mellanhand. Efterföljande blockkedjor har tagit detta ännu längre, vilket tillåter användarna att skicka all slags information. Att eliminera motparter innebär att det är mindre risk för inblandade användare och resulterar i lägre avgifter eftersom det inte finns någon mellanhand som tar en avgift.

Som vi nämnde tidigare är ett offentligt blockkedjenätverk också utan behörighet – det finns inget hinder för inträde eftersom det inte finns någon ansvarig. Om en potentiell användare kan ansluta till internet kan denne interagera med andra deltagare i nätverket.

Många skulle hävda att den viktigaste egenskapen för blockkedjor är att de har en hög grad av censurmotstånd. För att lamslå en centraliserad tjänst är allt som en hackare behöver göra att rikta in sig på en server. Men i ett peer-to-peer-nätverk fungerar varje nod som en egen server. 

Ett system som bitcoin har över 10 000 synliga noder utspridda runt om i världen, vilket gör det praktiskt taget omöjligt för en angripare att hacka nätverket, även om denne har goda resurser. Det bör noteras att det också finns många dolda noder som inte är synliga för det bredare nätverket.

Dessa är några allmänna fördelar. Det finns många specifika användningsområden som blockkedjor kan tillgodose som du kan läsa mer om i Vad används blockkedjan till?


Nackdelar

Blockkedjor är inte lösningen på alla problem. Genom att vara optimerade för fördelarna i föregående avsnitt, saknar de vissa saker inom andra områden. Det mest uppenbara hindret för att blockkedjor ska accepteras av allmänheten är att de inte skalas särskilt bra.

Detta gäller för alla distribuerade nätverk. Eftersom alla deltagare måste vara synkroniserade kan ny information inte läggas till så snabbt, eftersom noderna i så fall inte skulle kunna hänga med. Därför tenderar utvecklare att avsiktligt begränsa hastigheten med vilken blockkedjan kan uppdateras för att säkerställa att systemet förblir decentraliserat.

För användare av ett nätverk kan detta yttra sig i långa väntetider om för många andra försöker göra transaktioner. Block kan bara innehålla en begränsad mängd data och de läggs inte till i kedjan direkt. Om det finns fler transaktioner än vad som får plats i blocket måste eventuella ytterligare transaktioner vänta på nästa block.

En annan möjlig nackdel med decentraliserade blockkedjesystem är att de inte enkelt kan uppgraderas. Om du bygger din egen programvara kan du lägga till nya funktioner om du vill. Du behöver inte arbeta med andra eller be om tillåtelse för att göra några ändringar.

I en miljö med miljontals potentiella användare är det betydligt svårare att göra ändringar. Du kan ändra några av parametrarna för din nodmjukvara, men du skulle så småningom bli separerad från nätverket. Om den modifierade programvaran är inkompatibel med andra noder kommer dessa att känna igen detta och vägra interagera med din nod.

Anta att du vill ändra en regel om hur stora block kan vara (från 1 MB till 2 MB). Du kan försöka skicka detta block till noder du är ansluten till, men de har en regel som säger "acceptera inte block över 1 MB". Om de får något större inkluderas inte detta i kopian av blockkedjan.

Det enda sättet att driva på förändringar är att få majoriteten av ekosystemet att acceptera dessa. Med stora blockkedjor kan det ta månader – eller till och med år – av intensiva diskussioner i forum innan förändringarna kan koordineras. Se Hårda och mjuka gafflar för mer om detta.



Kapitel 2 – Hur fungerar en blockkedja?

Innehåll


Hur läggs block till i en blockkedja?

Vi har gått igenom mycket hittills. Vi vet att noder är sammankopplade och att de lagrar kopior av blockkedjan. De kommunicerar information om transaktioner och nya block med varandra. Vi har redan diskuterat vad noder är, men du kanske undrar hur nya block läggs till i blockkedjan?

Det finns ingen enskild källa som talar om för användarna vad som ska göras. Eftersom alla noder har samma kraft måste det finnas en mekanism för att rättvist bestämma vem som kan lägga till block till blockkedjan. Vi behöver ett system som gör det dyrt för användare att fuska, men som belönar dem som agerar ärligt. Varje rationell användare kommer att vilja agera på ett sätt som är ekonomiskt fördelaktigt för denne.

Eftersom nätverket är utan behörighet måste skapandet av block vara tillgängligt för alla. Protokoll säkerställer ofta detta genom att kräva att användaren lägger lite "ur egen ficka" - de måste sätta sina egna pengar på spel. Om de gör detta kommer de att kunna delta i att skapa block och om de skapar ett giltigt block kommer de att få en belöning.

Men om de försöker fuska kommer resten av nätverket att veta om detta. Vilken insats de än har bidragit med går då förlorad. Vi kallar dessa mekanismer för konsensusalgoritmer eftersom de tillåter nätverksdeltagarna att nå konsensus om vilket block som ska läggas till härnäst.


Utvinning (bevis på arbete)


Utvinning är den överlägset mest använda konsensusalgoritmen. Inom utvinning används en bevis på arbete (PoW)-algoritm. Detta innebär att användarna offrar datorkraft för att försöka lösa ett pussel som anges i protokollet.

Pusslet kräver att användare hashar transaktioner och annan information som ingår i blocket. Men för att hashen ska anses vara giltig måste den vara under ett visst nummer. Eftersom det inte finns något sätt att förutsäga vad en given utdata blir måste miners fortsätta hasha lätt modifierade data tills de hittar en giltig lösning.

Uppenbarligen är det dyrt att hasha data upprepade gånger. I blockkedjor med bevis på arbete är "insatsen" som användare lägger fram pengarna som investerats i utvinningsdatorer och elen som används för att driva dem. De gör detta i hopp om att få en blockbelöning

Kommer du ihåg hur vi tidigare sa att det är praktiskt taget omöjligt att vända en hash, men att det är lätt att kontrollera den? När en miner skickar ett nytt block till resten av nätverket använder alla andra noder det som indata i en hashfunktion. De behöver bara köra det en gång för att verifiera att blocket är giltigt enligt blockkedjans regler. Om det inte är det får minern inte belöningen och denne kommer att ha slösat elektricitet för ingenting.

Den första blockkedjan med bevis på arbete var bitcoin. Sedan det skapades har många andra blockkedjor antagit PoW-mekanismen.


Fördelar med bevis på arbete

  • Beprövad – hittills är bevis på arbete den mest mogna konsensusalgoritmen och har säkrat värden på hundratals miljarder dollar.
  • Utan behörighet – vem som helst kan gå med i utvinningstävlingen eller helt enkelt köra en validerande nod.
  • Decentralisering – miners tävlar mot varandra för att producera block, vilket gör att hashkraften aldrig kontrolleras av en enda part.


Nackdelar med bevis på arbete

  • Slöseri – utvinning förbrukar en enorm mängd el.
  • Allt högre inträdesbarriärer – när fler miners ansluter sig till nätverket ökar protokollet svårigheten i utvinningspusslet. För att förbli konkurrenskraftiga måste användarna investera i ännu bättre utrustning. Detta kan bli för dyrt för många miners.
  • 51 %-attacker – även om utvinning främjar decentralisering, finns det möjlighet att en miner skaffar sig majoriteten av hashkraften. Om denne gör det kan hen teoretiskt sett ta tillbaka transaktioner och förstöra säkerheten för blockkedjan.


Staking (bevis på insats)

I bevis på arbete-system är det pengarna du har betalat för att underhålla datorer och köpa el som uppmuntrar dig att agera ärligt. Du får ingen avkastning på din investering om du inte bryter blocken korrekt.

Med bevis på insats (PoS) finns det inga externa kostnader. Istället för miners har vi validerare som föreslår (eller "smider") block. De kan använda en vanlig dator för att skapa nya block, men de måste sätta en betydande del av sina tillgångar på spel för privilegiet. Insättning görs med en fördefinierad mängd av blockkedjans egen kryptovaluta, enligt reglerna för varje protokoll. 

Olika implementeringar har olika varianter, men när en validerare har satsat sina enheter kan denne väljas slumpmässigt av protokollet för att meddela nästa block. Om valideraren gör detta på rätt sätt får denne en belöning. Alternativt kan det finnas flera validerare som kommer överens om nästa block och en belöning delas då ut proportionellt till den insats som var och en har gjort.

"Rena" PoS-blockkedjor är mindre vanliga än DPoS (Delegerat bevis på insats), som kräver att användare röstar på noder (vittnen) för att validera block för hela nätverket.
Ethereum, den ledande blockkedjan för smarta kontrakt, går snart över till bevis på insats i sin migrering till ETH 2.0. 


Fördelar med bevis på insats

  • Miljövänligt – koldioxidavtrycket för PoS är en bråkdel av det för PoW-utvinning. Staking tar bort behovet av resurskrävande hashoperationer.
  • Snabbare transaktioner – eftersom det inte finns något behov av att spendera ytterligare datorkraft på godtyckliga pussel som fastställs av protokollet hävdar vissa förespråkare av PoS att det kan öka genomströmningen av transaktioner.
  • Staking av belöningar och ränta – istället för att gå till miners, betalas belöningarna för att säkra nätverket ut direkt till tokeninnehavarna. I vissa fall tillåter PoS användarna att tjäna passiv inkomst i form av airdrops eller ränta, helt enkelt genom att satsa sina tillgångar.


Nackdelar med bevis på insats

  • Relativt oprövade – PoS-protokoll har ännu inte testats i stor skala. Det kan finnas några oupptäckta sårbarheter i dess implementering eller kryptoekonomi.
  • Plutokrati – det finns farhågor om att PoS uppmuntrar ett ekosystem där "rik blir rikare", eftersom validerare med en stor insats tenderar att tjäna fler belöningar.
  • Problem med att inget som står på spel – i PoW kan användare bara "satsa" på en kedja – de utvinner på den kedja som de tror är mest sannolikt att de kommer lyckas. Under en hård gaffel kan de inte satsa på flera med samma hashkraft. Validerare i PoS kan dock arbeta på flera kedjor med få extrakostnader, vilket kan orsaka ekonomiska problem.


Andra konsensusalgoritmer

Bevis på arbete och bevis på insats är de vanligaste konsensusalgoritmerna, men det finns många fler. Vissa är hybrider som kombinerar element från båda system, medan andra använder helt olika metoder. 

Vi tar inte upp dem här, men om du är intresserad kan du kolla in följande artiklar:


Kan jag återställa Ethereum-transaktioner?

Blockkedjor är tack vare sin design väldigt robusta databaser. Deras inneboende egenskaper gör det extremt svårt att ta bort eller modifiera blockkedjedata efter att de har registrerats.  När det handlar om bitcoin och andra stora nätverk är det nästan omöjligt. Så när du gör en transaktion på en blockkedja är det bäst att tänka på den som något som finns där för alltid.

Med detta sagt finns det många olika implementeringar av blockkedjor och den mest grundläggande skillnaden mellan dem är hur de når konsensus inom nätverket. Detta innebär att i vissa implementeringar kan en relativt liten grupp av deltagare samla tillräckligt med kraft inom nätverket för att effektivt återställa transaktionerna. Detta gäller särskilt för altcoin som körs på små nätverk (med låga hashhastigheter på grund av liten konkurrens inom utvinning).


Vad är blockkedjans skalbarhet?

Skalbarhet inom blockkedjan används vanligtvis som en övergripande term för att hänvisa till ett blockkedjesystems förmåga att möta ökande efterfrågan. Även om blockkedjor har önskvärda egenskaper (såsom decentralisering, censurmotstånd och oföränderlighet), har dessa ett pris.
Till skillnad från decentraliserade system kan en centraliserad databas arbeta med betydligt högre hastighet och genomströmning. Detta är logiskt, eftersom det inte finns något behov av att tusentals noder utspridda runt om i världen ska synkroniseras med nätverket varje gång dess innehåll ändras. Men så är inte fallet med blockkedjor. Som ett resultat av detta har skalbarheten varit ett mycket debatterat ämne bland blockkedjeutvecklare i flera år.

Ett antal olika lösningar har antingen föreslagits eller redan implementerats för att mildra några av prestanda-nackdelarna med blockkedjor. För närvarande finns det dock inte ett tydligt bästa tillvägagångssätt. Det är troligt att många olika lösningar måste testas tills det finns fler enkla svar på skalbarhetsproblemet.

På en bredare nivå finns en grundläggande fråga angående skalbarhet: ska vi förbättra prestandan för själva blockkedjan (skalning på kedjan) eller ska vi tillåta att transaktioner kan utföras utan att den huvudsakliga blockkedjan expanderar för mycket (skalning utanför kedjan)? 

Det kan finnas klara fördelar med båda sätten. En skalningslösning på kedjan kan vara att minska storleken på transaktionerna eller till och med bara optimera hur data lagras i block. Å andra sidan innebär lösningar utanför kedjan att du tar batchtransaktioner utanför den huvudsakliga blockkedjan och lägger till dem först senare. Några av de mest anmärkningsvärda lösningarna utanför kedjan kallas sidokedjor och betalningskanaler.

Om du vill veta mer om det här ämnet kan du läsa Blockkedjans skalbarhet - sidokedjor och betalningskanaler.


Varför behöver blockkedjan skalas?

Om blockkedjesystem ska konkurrera med sina centraliserade motsvarigheter måste de presterande minst lika bra som dem. Realistiskt sett måste de dock förmodligen prestera ännu bättre för att uppmuntra utvecklare och användare att byta till blockkedjebaserade plattformar och applikationer. 

Detta innebär att jämfört med centraliserade system måste användningen av blockkedjor bli snabbare, billigare och enklare för både utvecklare och användare. Det är inte ett lätt mål att uppnå, samtidigt som vi måste bibehålla de definierande egenskaperna hos blockkedjor som vi har diskuterat tidigare. 


Vad är en blockkedjegaffel?

Precis som med all programvara behöver blockkedjor uppgraderingar för att åtgärda problem, lägga till nya regler eller ta bort gamla. Eftersom de flesta blockkedjeprogram har öppen källkod kan i teorin vem som helst föreslå nya uppdateringar som ska läggas till programvaran som styr nätverket. 

Tänk på att blockkedjor är distribuerade nätverk. När programvaran väl har uppgraderats behöver tusentals noder utspridda runt om i världen kunna kommunicera och implementera den nya versionen. Men vad händer om deltagarna inte kan komma överens om vilken uppgradering som ska göras? Vanligtvis finns det inte en organisation med ett etablerat beslutsflöde för att besluta detta. Detta leder oss till mjuka och hårda gafflar.


Mjuka gafflar

Om det finns en allmän överenskommelse om hur en uppgradering ska göras är det en relativt enkel sak. I ett scenario som detta uppdateras programvaran med en bakåtkompatibel förändring, vilket innebär att noder som uppdateras fortfarande kan interagera med noder som inte har det. I praktiken förväntas dock nästan alla noder uppgraderas efter hand. Detta kallas för en mjuk gaffel. 


Hårda gafflar

En hård gaffel är mer komplicerad. När den har implementerats blir de nya reglerna oförenliga med de gamla reglerna. Om en nod som kör de nya reglerna försöker interagera med en nod som kör de gamla reglerna kommer de därför inte att kunna kommunicera. Detta resulterar i att blockkedjan delas upp i två – i den ena körs den gamla programvaran och i den andra implementeras de nya reglerna.

Efter den hårda gaffeln finns det i huvudsak två olika nätverk som kör två olika protokoll parallellt. Vid tidpunkten för gaffeln klonas balansen från blockkedjans egen enhet från det gamla nätverket. Så, om du hade en balans på den gamla kedjan vid tidpunkten för gaffeln, har du också en balans på den nya. 

Se Hårda och mjuka gafflar för mer info om detta.



Kapitel 3 - Vad används blockkedjan till?


Innehåll


Blockkedjeteknologi kan användas för ett brett spektrum av användningsområden. Låt oss gå igenom några av dessa. 


Blockkedjor för leveranskedjor

Effektiva leveranskedjor är kärnan i många framgångsrika företag som sysslar med hanteringen av varor från leverantör till konsument. Samordningen av flera intressenter i en viss bransch har traditionellt visat sig vara svårt. Blockkedjeteknologin kan dock möjliggöra nya nivåer av transparens i många branscher. Ett interoperabelt ekosystem för leveranskedjor som kretsar kring en oföränderlig databas är precis vad många branscher behöver för att bli mer robusta och pålitliga.

Om du vill läsa mer kan du kolla in Blockkedjans användningsområden: leveranskedjor.


Blockkedjor och spelindustrin

Spelindustrin har blivit en av de största underhållningsindustrierna i världen och den skulle kunna dra stor nytta av blockkedjeteknologin. Vanligtvis tenderar spelarna att vara utlämnade till spelutvecklarna. I de flesta onlinespel tvingas spelarna att förlita sig på utvecklarnas serverutrymme och följa deras ständigt föränderliga uppsättningar av regler. I detta sammanhang kan blockkedjan hjälpa till att decentralisera ägande, förvaltning och underhåll av onlinespel.

Det som kan vara det största problemet är dock att spelobjekt inte kan existera utanför spelen, vilket eliminerar chanserna till verkligt ägande och andrahandsmarknader. Genom att välja ett blockkedjebaserat tillvägagångssätt kan spel bli mer hållbara i det långa loppet och föremål i spelet som ges ut som kryptosamlarföremål kan få verkligt värde.
Om du vill läsa mer kan du kolla in Blockkedjans användningsområden: spel.


Blockkedjor för sjukvården

Att lagra journaler på ett tillförlitligt sätt är avgörande för alla sjukvårdssystem och beroendet av centraliserade servrar lämnar känslig information i en eventuell sårbar position. Transparensen och säkerheten för blockkedjeteknologin gör den till en idealisk plattform för att lagra medicinska journaler.

Genom att kryptografiskt säkra sina register på en blockkedja kan patienterna behålla sin integritet, samtidigt som de kan dela sin medicinska information med vilken vårdinstitution som helst. Om alla deltagare i det för närvarande fragmenterade sjukvårdssystemet skulle kunna utnyttja en säker, global databas skulle informationsflödet bli mycket snabbare mellan dem.

Om du vill läsa mer kan du kolla in Blockkedjans användningsområden: sjukvården.


Blockkedjor för överföringar

Att skicka pengar internationellt är krångligt med traditionell bankverksamhet. Främst på grund av ett invecklat nätverk av mellanhänder gör avgifterna och tiden det tar att använda traditionella banker både dyrt och opålitligt för brådskande transaktioner.

Kryptovalutor och blockkedjor eliminerar detta ekosystem av mellanhänder och kan möjliggöra billiga och snabba överföringar runt om i världen. Även om blockkedjor utan tvekan offrar prestanda för några av sina önskvärda egenskaper, utnyttjar en rad projekt tekniken för att möjliggöra billiga och nästan omedelbara transaktioner.

Om du vill läsa mer kan du kolla in Blockkedjans användningsområden: överföringar.


Vill du komma igång med kryptovaluta? Köp bitcoin på Binance!


Blockkedjor och digital identitet

Säker hantering av identitet på internet är i stort behov av en snabb lösning. En enorm mängd av våra personuppgifter lagras på centraliserade servrar och analyseras av maskininlärningsalgoritmer utan vår vetskap eller samtycke. 

Blockkedjetekniken tillåter användare att ta äganderätten över sina data och selektivt avslöja information till tredje part och endast när det behövs. Denna typ av kryptografisk magi kan möjliggöra en smidigare upplevelse online, utan att uppoffra sekretess.

Om du vill läsa mer kan du kolla in Blockkedjans användningsområden: digital identitet.


Blockkedjor och sakernas internet (Internet of Things/IoT)

En enorm mängd fysiska enheter har anslutits till internet och detta antal kommer bara att öka. Vissa spekulerar i att kommunikation och samarbete mellan dessa enheter avsevärt skulle kunna utökas av blockkedjeteknologin. Automatiserade maskin-till-maskin (M2M)-mikrobetalningar kan skapa en ny ekonomi som är beroende av en säker databaslösning med hög genomströmning.


Blockkedjor för styrning

Distribuerade nätverk kan definiera och genomdriva sina egna regleringsformer i form av datorkod. Det är då inte förvånande att blockkedjan kan ha en chans att eliminera olika förvaltningsprocesser på lokal, nationell eller till och med internationell nivå. 

Dessutom kan den lösa ett av de största problemen som utvecklingsmiljöer med öppen källkod för närvarande står inför – bristen på en pålitlig mekanism för fördelning av finansiering. Blockkedjestyrning säkerställer att alla deltagare kan vara delaktiga i beslutsfattandet och ger en transparent överblick över vilka policyer som implementeras.
Om du vill läsa mer kan du kolla in Blockkedjans användningsområden: styrning.


Blockkedjor för välgörenhet

Välgörenhetsorganisationer hindras ofta av begränsningarna för hur de kan ta emot tillgångar. Ännu mer frustrerande är att den slutliga destinationen för de donerade tillgångarna kan vara svår att spåra exakt, vilket utan tvekan avskräcker många från att stödja dessa organisationer.

”Krypto-filantropi” sysslar med användningen av blockkedjeteknologi för att kringgå dessa begränsningar. Genom att förlita sig på teknologins inneboende egenskaper för att säkerställa större transparens, globalt deltagande och minskade kostnader, strävar det framväxande området efter att maximera inverkan av välgörenhetsorganisationer. En sådan organisation är Blockchain Charity Foundation.
Om du vill läsa mer kan du kolla in Blockkedjans användningsområden: välgörenhet.


Blockkedjor för spekulation

En av de mest populära användningarna av blockkedjeteknologin är utan tvekan spekulation. Enkla överföringar mellan börser, handelslösningar utan förvaring och ett växande ekosystem av derivatprodukter gör det till en idealisk spelplan för alla typer av spekulanter.

Tack vare dess grundläggande egenskaper är blockkedjan ett utmärkt instrument för de som är villiga att ta risken att delta i en sådan speciell tillgångsklass. Vissa tror till och med att när tekniken och den omgivande regleringen mognar så kan de globala spekulativa marknaderna alla vara tokeniserade på blockkedjan.

Om du vill läsa mer kan du kolla in Blockkedjans användningsområden: spekulationsmarknader.


Crowdfunding med blockkedjor

Online crowdfunding-plattformar har lagt grunden för peer-to-peer-ekonomin i nästan ett decennium nu. Framgången för dessa sajter visar att det finns ett verkligt intresse där ute för produktutveckling med hjälp av crowdfunding. Men eftersom dessa plattformar fungerar som förvaringsinstitut för tillgångarna kan de ta en avsevärd del av dem som avgifter. Dessutom kommer de att ha sina egna regler för att underlätta överenskommelsen mellan de olika deltagarna.
Blockkedjeteknologin och mer specifikt smarta kontrakt, skulle kunna möjliggöra säkrare, automatiserad crowdfunding där villkoren för avtalen definieras i datorkod. 
En annan tillämpning av crowdfunding med blockkedjan är initiala coinerbjudanden (ICO:er) och initiala börserbjudanden (IEO:er). I tokenförsäljningar som dessa samlar investerare in tillgångar i hopp om att nätverket blir framgångsrikt i framtiden och att de ska få avkastning på sina investeringar.


Blockkedjor och distribuerade filsystem

Att distribuera fillagring på internet har många fördelar jämfört med konventionella centraliserade alternativ. Stora mängder data som lagras i molnet är beroende av centraliserade servrar och tjänsteleverantörer som tenderar att vara mer sårbara för attacker och dataförlust. I vissa fall kan användarna också möta tillgänglighetsproblem på grund av censur från centraliserade servrar.

Ur användarperspektiv fungerar fillagringslösningar på blockkedjan precis som andra molnlagringslösningar – du kan ladda upp, lagra och komma åt filer. Vad som händer i bakgrunden är dock helt annorlunda.

När du laddar upp en fil till en blockkedjelagringsplats distribueras och replikeras den över flera noder. I vissa fall lagrar varje nod en annan del av din fil. De kan inte göra mycket med dessa delar av data, men du kan senare begära att noderna tillhandahåller delarna så att du kan kombinera dem för att få tillbaka hela filen.

Lagringsutrymmet kommer från deltagarna som tillhandahåller sin lagring och bandbredd till nätverket. Vanligtvis har dessa deltagare ekonomiska incitament för att tillhandahålla dessa resurser och ekonomiska straff väntar om de inte följer reglerna eller misslyckas med att lagra och behålla filer.

Du kan föreställa dig den här typen av nätverk som ett nätverk som liknar bitcoins. I det här fallet är dock huvudmålet med nätverket inte att stödja överföringar av pengar, utan att möjliggöra censurbeständig, decentraliserad fillagring.

Andra protokoll med öppen källkod som InterPlanetary File System (IPFS) banar redan vägen för denna nya, mer permanenta och distribuerade webb. Även om IPFS är ett protokoll och ett peer-to-peer-nätverk, är det inte exakt en blockkedja. Men den tillämpar vissa principer för blockkedjeteknik för att förbättra säkerheten och effektiviteten.