TL;DR
Blockkedjor kan bara hantera ett begränsat antal transaktioner per sekund. Bitcoin-nätverket kan till exempel behandla cirka sju transaktioner per sekund. Om blockkedjetekniken ska kunna användas globalt bör den kunna hantera mycket mer data och i snabbare hastigheter, så att fler kan använda nätverket utan att det blir för långsamt eller dyrt. Den grundläggande utformningen av många decentraliserade nätverk innebär dock att ökad skalbarhet tenderar att försvaga decentraliseringen eller säkerheten. Detta är vad som kallas blockkedjans trilemma. Utvecklare som vill lösa detta problem experimenterar med olika konsensusmekanismer och skalbarhetslösningar, såsom shardande, sidokedjor och state-kanaler.
Introduktion
I grund och botten är en blockkedja en distribuerad digital databas. Datablock är ordnade i kronologisk ordning. Blocken är länkade och säkrade med kryptografiska bevis. Implementeringen av denna teknik i olika branscher förändrar redan nu hur vi arbetar och lever.
Tanken är att decentraliserade och säkra blockkedjor möjliggör en värld där vi inte behöver förlita oss på tredje part för att nätverk eller marknader ska fungera. Men experter är i allmänhet överens om att om denna teknik ska godtas av fler så finns det ett grundproblem som behöver lösas. Problemet i fråga är känt som "blockkedjans trilemma".
Denna term lyftes fram av Ethereums grundare Vitalik Buterin. För att förstå detta måste du vara medveten om tre olika element som är önskvärda i en blockkedja: decentralisering, säkerhet och skalbarhet. Blockkedjans trilemma innebär att det är svårt för blockkedjor att uppnå optimala nivåer av alla tre egenskaper samtidigt. Att öka en egenskap leder vanligtvis till en försvagning av en annan.
Denna artikel kommer att undersöka alla tre elementen i detta trilemma och förklara vad var och ett är i mer detalj. Att diskutera var och ett mer ingående och hur de passar ihop kommer att resultera i en bättre förståelse för hur och varför blockkedjans trilemma existerar. Den här artikeln kommer också att lyfta fram några av de lösningar som har föreslagits av utvecklarna.
Vad är decentralisering?
Bitcoin och liknande blockkedjenätverk är decentraliserade i sin design. Hela strukturen är sådan att det inte finns någon person eller organisation som ansvarar för allt. Strukturen är snarare decentraliserad. Nätverkslagret är öppet för alla som vill vara med och delta. Som ett resultat av detta är kontrollen helt fördelad och innehas inte av en enda enhet. Alla har tillgång till samma data. Om någon försöker fuska i systemet genom att ändra posterna till dennes fördel avvisar resten av deltagarna dessa felaktiga data.
Detta kan låta ganska tekniskt, men låt oss ta Bitcoin-nätverket som ett exempel. Det finns ingen tredje part som har kontroll. Jämför detta med behovet av banker i det finansiella systemet. Bankerna upprätthåller förtroende mellan människor som gör överföringar och ser till att alla register hålls korrekt. Bitcoin-blockkedjan delar dock all den informationen med alla i nätverket, så att den kan kontrolleras och bekräftas innan den läggs till i den digitala databasen. Resultatet är ett system som kan existera utan behov av en tredje part.
Decentralisering erbjuder möjligheten till det som kallas Web3. Just nu har vi Web2 – dagens internet. Det är fullt av webbplatser och appar som kontrolleras av företag, fast med innehåll från användarna. Web3 är nästa steg. Det är ett internet där decentraliserad blockkedjeteknik låter människor styra sina egna data och liv på nätet.
En sak att tänka på är dock att på grund av hur dessa distribuerade system fungerar – med behovet av flera deltagare för att komma överens om giltigheten av alla data – kan transaktionstiderna bli långsamma på grund av hur informationen måste delas och bearbetas. Dessutom måste blockkedjor skalas, det vill säga kunna hantera mera data i snabbare hastigheter. Vi återkommer till detta när vi går igenom skalbarhet.
Dessutom fungerar den decentraliserade drömmen endast om de underliggande blockkedjorna är säkra. Om en blockkedja saknar säkerhet kan en bedragare ta kontroll över och ändra data till dennes fördel. Detta leder till den andra delen av detta trilemma: säkerheten.
Vad är blockkedjans säkerhet?
Det spelar ingen roll hur decentraliserad en blockkedja är om den saknar säkerhet. Ett bra blockkedjenätverk måste vara motståndskraftigt mot attacker från skadliga enheter. Centraliserade system får säkerheten från det faktum att systemet är stängt. Den som har kontrollen kan garantera att uppgifterna är fria från störningar. Men hur uppnås detta i ett decentraliserat system, där vem som helst kan delta?
Det är ett komplicerat ämne, men vi kan gå tillbaka till Bitcoin som ett exempel på decentraliserad blockkedjesäkerhet. Bitcoin-blockkedjan använder en kombination av kryptografi och en konsensusmekanism i nätverket som kallas arbetsbevis. När det gäller kryptografi har varje block en slags digital signatur (eller hash). Varje datablock är kopplat på ett sätt som inte kan manipuleras, eftersom eventuella ändringar skulle ändra ett blocks hash. Alla försök att ändra data skulle snabbt kunna identifieras av resten av nätverket.
Konsensusmekanismen arbetsbevis är en annan del av pusslet. Den hjälper till att säkra kryptovalutans huvudbok. Att förstå bevis på arbete är ett helt ämne i sig, men i den här artikeln räcker det med att veta att medlemmar i nätverket bara kan verifiera nya transaktioner och lägga till dem i huvudboken genom en aktivitet som kallas utvinning. Detta innebär att du använder beräkningskraft för att lösa ett matematiskt pussel. En del av processen kräver att dessa datorer utför massor av hashfunktioner. Detta har att göra med frågan om skalbarhet, eftersom arbetsbevis-mekanismen är säker men relativt långsam.
Observera även att ju fler deltagare (noder) det finns i nätverket, desto säkrare är det. Ju fler parter desto svårare blir det för en bedragare att ta kontroll över systemet. Det är detta som kallas 51 %-attacken. Kortfattat: Om en enda enhet (eller grupp av bedragare) kan kontrollera mer än 50 % av en blockkedjas totala nätverkshashhastighet, skulle de kunna åsidosätta dess konsensus och ändra kedjans data för att gynna dem själva, till exempel för token med dubbla utgifter.
Kort sagt är säkerheten ett grundläggande krav för att en blockkedja ska bli framgångsrik, eftersom angripare annars kan ta kontroll över kedjan, vilket gör den värdelös.
Vad är skalbarhet?
Skalbarhet innebär målet att bygga en blockkedja som kan stödja fler och fler transaktioner per sekund. Skalbarhet krävs om blockkedjetekniken ska kunna tjäna samhället i stort och eventuellt miljarder med användare. Men det är här som många blockkedjor fortfarande har problem.
Detta beror på att decentralisering och säkerhet är så grundläggande för blockkedjor att de tenderar att fokuseras på först. Decentralisering är så centralt för blockkedjans etos och mål att det är grunden för de flesta välkända blockkedjorna. Säkerheten är, som vi har nämnt, ett grundkrav för att en blockkedja ska vara framgångsrik och användbar.
Men genom att prioritera decentralisering och säkerhet blir skalbarheten en utmaning. Antalet transaktioner som en kedja kan hantera kan vara starkt begränsat. Ett centraliserat betalningssystem som Visa säger att det kan stödja 24 000 transaktioner per sekund. Detta beror på att nätverket är stängt och är fritt från överväganden som offentliga noder och konsensus. Jämför detta med några av de mest kända blockkedjorna.
Ur en artikel från Bloomberg 2022: "I september kunde Bitcoin inte hantera mer än sju transaktioner per sekund och Ethereum som är det näst mest populära nätverket var begränsat till cirka 15 per sekund – en evighet jämfört med konventionella börser."
Som nämnts tidigare är dessa transaktionshastigheter på blockkedjorna begränsade på grund av hur informationen måste behandlas av de olika deltagarna som utgör det decentraliserade nätverket, samt på grund av hur själva arbetsbevis-konsensusmekanismen fungerar. Om fler och fler människor i samhället börjar använda blockkedjeteknik kommer nätverken att fastna på grund av det begränsade antalet transaktioner de kan hantera.
Därför existerar blockkedjans trilemma
Den mest uppenbara och grundläggande lösningen på problemet som beskrivs ovan är att minska antalet deltagare som bekräftar och lägger till nätverksdata, i utbyte mot större skala och hastighet. Men att göra detta skulle leda till en försvagning av decentraliseringen, i och med att kontrollen överlämnas till ett mindre antal deltagare. Och det skulle också leda till en försvagning av säkerheten, eftersom färre deltagare innebär en högre risk för attacker.
Det är här trilemmat ligger – med tanke på sambandet mellan de önskade egenskaperna för decentralisering och säkerhet gör den grundläggande utformningen av hur blockkedjan fungerar den svår att skala. Ökar du en del så försvagas en annan. Hur ökar du skalbarheten utan att skada decentraliseringen, säkerheten eller båda?
Lösa blockkedjas trilemma
Det finns ingen gyllene lösning på detta trilemma. Men med tanke på vikten av att lösa detta problem har det funnits ett antal olika tillvägagångssätt inom communityn, med intressanta resultat. Låt oss gå igenom en översikt av några av de mest populära utvecklingarna, för att ge dig en förståelse för vad som händer i branschen:
1. Shardande
Detta är en metod för att dela upp blockkedjor (eller andra typer av databaser) i mindre och delvisa blockkedjor som hanterar specifika datasegment. Denna funktion tar bort överbelastningen från en enda kedja som hanterar alla transaktioner och interaktioner i ett nätverk. Varje uppdelad blockkedja kallas för en shard och har sin specifika huvudbok. Dessa sharder kan sedan bearbeta sina egna transaktioner, men en beacon-blockkedja eller huvudkedja hanterar interaktioner mellan dessa sharder. Detta gör shardande till en skalbarhetsuppgradering av lager 1-nätverk, eftersom det är en förändring av huvudnätet för en blockkedja.
2. En annan konsensusmekanism
En av anledningarna till att detta trilemma finns i Bitcoin-nätverket är på grund av hur arbetsbevis arbetar för att bekräfta säkerheten. Behovet av miners, kryptoalgoritmer och enorma mängder decentraliserad datorkraft leder till ett säkert men långsamt system. Att hitta ett annat sätt att säkra konsensus är ett sätt att lösa detta trilemma. Detta var en av anledningarna till Ethereums övergång från arbetsbevis till insatsbevis.
I insatsbevis-blockkedjor måste deltagarna som hanterar validering av transaktioner satsa (låsa) sina token. Det finns inget behov av högspecialiserade utvinningsmaskiner. Att lägga till fler validerare i nätverket är billigare, enklare och mer tillgängligt. Insatsbevis är bara ett av många olika tillvägagångssätt för konsensusmekanismer med skalbarhet i åtanke.
3. Lager 2-lösningar
Både shardande och olika konsensusmekanismer är så kallade lager 1-lösningar. De försöker ändra den grundläggande utformningen av det underliggande nätverket. Men andra utvecklare som försöker lösa detta trilemma har arbetat med lösningar som bygger på en befintlig nätverksstruktur. Med andra ord tror de att svaret ligger i ett andra lager, kallat lager 2. Exempel på detta är sidokedjor och state-kanaler.
En sidokedja är i grunden en separat blockkedja ansluten till huvudkedjan. Den är inställd på ett sätt så att tillgångar kan flöda fritt mellan de båda. Det är viktigt att sidokedjan kan fungera enligt olika regler, vilket möjliggör högre hastighet och skalbarhet. På samma sätt är state-kanaler ett annat sätt att ta bort transaktioner från huvudkedjan och förenkla processen för lager 1. En state-kanal använder ett smart kontrakt istället för en separat kedja, för att göra det möjligt för användarna att interagera med varandra utan att publicera sina transaktioner på blockkedjan. Blockkedjan registrerar bara början och slutet av kanalen.
Sammanfattningsvis
Skalbarhetstrilemmat står i vägen för blockkedjan att uppfylla sin potential som en teknik som kan förändra världen. Om blockkedjenätverk bara kan hantera ett litet antal transaktioner per sekund för att upprätthålla decentraliseringen och säkerheten blir det svårt att nå ut till allmänheten. De lösningar som för närvarande läggs fram av utvecklare som försöker lösa detta problem tyder dock på att de tekniska framstegen som redan gjorts i blockkedjan bara kommer fortsätta och dessa nätverk kan mycket väl komma att kunna hantera mycket mer data i framtiden.