Bitcoin SegWit-implementering: viktiga lektioner för blockchain-utvecklare

Är du utvecklare av Bitcoin eller blockchain? Du tittar förmodligen på skalbarhet, nätverksfördröjning, transaktionsavgifter och liknande frågor och försöker förbättra offentliga blockkedjor. Implementeringen av Bitcoin SegWit har viktiga lärdomar, och jag kommer att förklara detta projekt i den här artikeln. Jag kommer dock först att förklara vad Segregated Witness (SegWit) är.

Adoption av Bitcoin och utmaningar som användare står inför

Bitcoin har lagt makten i händerna på människor med sitt disintermediated och säkra nätverk och har hög popularitet. Men du köper fortfarande inte din morgoncuppa, eller hur??

Trots popularitet finns dagliga transaktioner fortfarande inte i Bitcoin på grund av följande utmaningar:

  1. Varje nod i Bitcoin-nätverket måste lagra alla block och transaktioner och delta i transaktionsvalideringen. Ett Bitcoin-nätverk kan bara vara lika snabbt som den långsammaste noden. Bitcoin använder ‘Proof of Work’ (POW) konsensusalgoritm som föreskriver deltagande av varje nod. Läs mer om POW-algoritmen i “PoW Vs. PoS: En jämförelse mellan två blockchain-konsensusalgoritmer “.
  2. POW-algoritmen kräver att Bitcoin-gruvarbetare löser ett alltmer komplext kryptografiskt pussel, därför använder de tung datorkraft. Detta ökar nätverksbelastningen, förutom att den är mycket energiintensiv. Effekten är nätverkslatens.
  3. Bitcoin-användare vill att deras transaktioner ska gå igenom snabbt. Men nätverksfördröjning och brist på skalbarhet saktar ner dem. Bitcoin-block kan endast hantera ett begränsat antal transaktioner, och för att prioritera sina transaktioner betalar användarna höga mineralkostnader. Dessa avgifter fortsatte att öka.

Bitcoin SegWit löste problemet med transaktionsavgifter i betydande utsträckning, men det härstammar från en annan fråga, som jag kommer att förklara nu.

Ursprung för Bitcoin SegWit: Bitcoin-smidighet

Bitcoin hade också en annan potentiellt allvarlig fråga. Bitcoin använder datakryptering, som först konverterar en klartext till en krypterad ‘ciphertext’. Endast personen med den privata nyckeln kan dekryptera chiffertexten tillbaka till den ursprungliga klartexten med den privata nyckeln.

Smidbarhet är ett fel i en krypteringsteknik som gör det möjligt för cyberangripare att konvertera ciphertext till en annan ciphertext. Hackare kan sedan dekryptera den modifierade ciphertext till en helt annan, men relaterad, plaintext. Till exempel kan de ändra mottagaradress och betalningsbelopp i en betalningstransaktion! Bitcoin-kryptering hade detta smidighetsfel.

“Segregated Witness (Consensus Layer)”, dvs SegWit ‘Bitcoin Improvement Proposal’ (BIP) 141 handlade om att lösa detta smidighetsfel.

Hur Bitcoin SegWit-implementering löste problemet med smidighet

Bitcoin-utvecklaren Peter Wiulle kom med SegWit-förslaget i december 2015. Lösningen fungerade enligt följande:

  1. Det skapade en annan struktur som kallades ”vittnet”. Detta har data för att autentisera en transaktion men har inte transaktionsinformation.
  2. Den nya vittnesstrukturen är förpliktad till Bitcoin-blocket separat från resten av transaktionsuppgifterna, därav namnet “Segregated Witness”.
  3. Antag att hackare tar tag i transaktionsdata och försöker utnyttja smidigheten för smidighet. De kan inte komma åt den digitala signaturen längre med SegWit.
  4. Därför, även om de lyckas ändra chiffertexten till något annat, är deras ansträngning inte användbart utan den digitala signaturen.

Så planerade Bitcoin SegWit-förslaget att lösa smidighetsfelet. Förslaget innehöll dock fler förändringar, och dessa bidrog till en effektiv ökning av Bitcoin-blockstorleken. Läs vidare för att ta reda på hur.

Bitcoin SegWit ökar effektivt Bitcoin-blockstorleken

Bitcoin-blockstorlek är 1 megabyte (MB). Signaturinformationen utgjorde också en bra del av transaktionsdata, varför ett block endast kunde innehålla några få transaktioner.

SegWit-förslaget skapade en annan parameter som kallades “Weight Unit” (WU). Varje byte i transaktionsdatadelen av blocket motsvarar 4 WU. Varje byte i “Witness” -strukturen motsvarar dock 1 WU.

Förslaget definierade också den maximala vikten för ett Bitcoin-block som 4 miljoner WU. Gör din enkla matematik så kan du se hur de nya blocken med SegWit har mer än 1 MB storlek effektivt! Detta gjorde att gruvarbetare kunde inkludera fler transaktioner i ett block.

Eftersom varje block nu har mer effektivt utrymme minskar den hårda konkurrensen om att inkludera en transaktion i ett block. Detta minskar i sin tur transaktionsavgifterna!

Hade Bitcoin-communityn bestämt att överskrida 1 MB blockstorleksgräns uttryckligen, behövde de implementera en hård gaffel. Dock föredrar kryptosamhällen ofta inte hårda gafflar på grund av instabiliteten som de för med sig det totala nätverket och ekosystemet.

I fallet med Bitcoin SegWit-implementeringen förblev regeln om 1 MB blockstorleksgräns kvar, men den nya WU-parametern kringgick den. Därför fanns det ingen hård gaffel för att implementera SegWit.

Bitcoin SegWit fördelar och nackdelar och adoption

Du såg precis hur SegWit löste smidigheten och minskade Bitcoin-transaktionsavgifter. Det finns dock ytterligare fördelar. Tänk på exemplet med “Lightning Network”.

Lightning Network är en off-chain-lösning för att möjliggöra små, frekventa betalningstransaktioner. Detta körs ovanpå Bitcoin blockchain och registrerar inte alla transaktioner där. Denna lösning registrerar endast en periodisk sammanfattning av transaktioner i Bitcoin blockchain.

Eftersom systemet inte begår alla mellanliggande transaktioner i Bitcoin blockchain, behövde användarna förtroende för att deras mellanliggande transaktioner var säkra. Den smidiga buggen tillåter inte det förtroendet. Implementeringen av Bitcoin SegWit hjälpte utvecklingen av Lightning Network också.

Trots de många fördelarna med SegWit bör du inte betrakta det som en avancerad skalningslösning för Bitcoin. Detta är inte ett automatiskt skalbarhetsmått, det var bara en engångs förbikoppling av Bitcoin-blockstorleksgränsen. Dessutom kan en effektiv ökning av blockstorleken göra att långsammare noder tar längre tid att ladda Bitcoin-block i framtiden.

Bitcoin SegWit implementerades i augusti 2017, efter många debatter i Bitcoin-communityn om dess fördelar och nackdelar. Antagandet är dock långt ifrån fullständigt och du kan se statistiken här.

Som utvecklare av Bitcoin eller blockchain kan du hitta viktiga lärdomar av Bitcoin SegWit-implementeringen. Tänk på långsiktiga skalbarhets-, säkerhets- och decentraliseringsaspekter när du utvecklar dina förbättringsförslag.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map