BTC
% 1h
0.43
% 24h
0.46
% 7d
1.14
BTC
USD
8,275.5
EUR
7,504.1
NOK
75,509

BTC
% 1h
0.43
% 24h
0.46
% 7d
1.14
BTC
USD
8,275.5
EUR
7,504.1
NOK
75,509

Segwit: Oppgradering av Bitcoin!

Formålet med lightning network er å tilby raske mikrotransaksjoner raskere og billigere ved å gjøre mye av “jobben” såkalt “off chain” det vil si, ikke på selve blockchainen. Det skalerer på denne måten for å bevare desentraliseringen av bitcoin-nettverket, samtidig som man tillater flere transaksjoner til en lavere pris.

Det er mange grunner til at lightning network i kombinasjon med segwit har blitt den foretrukne løsningen for skalering av bitcoin. Dersom man skal legge til rette for et enormt antall mikrobetalinger, er det helt klart en fordel at ikke alt dette bruker plass på selve blockchainen.

Segregated Witness, Segwit

Segwit er ikke kun noe som til en viss grad skalerer bitcoin, segwit har faktisk en viktig og høyst nødvendig funksjon, både med tanke på lightning network, men også generelt. I tillegg til å øke “blokkstørrelsen” ganger fire,  samtidig som blokkene på selve kjeden forblir på samme størrelsen så fikser Segwit noe som heter “transaction maleability”.

I Bitcoin nettverket har hver transaksjon en unik ID, en hash. Tidligere ble all data i en transaksjon tatt i betraktning når man regnet ut denne hash-en, eller ID-en.

Det høres kanskje bra ut, men inntil transaksjonen er minet og har blitt umulig å endre på, ville det vært mulig å endre denne ID-en ved å modifisere signaturen. Det vil si at beløp og til og fra vil kunne forbli det samme, men ID-en blir annerledes, men transaksjonen vil fortsatt være gyldig.  Dette er problematisk siden transaksjoner i bitcoin nettverket er avhengige av hverandre og tidligere transaksjoner sin ID. Dette gjør det mulig å fremstille det som om en transaksjon aldri fant sted. Dette kan nyttiggjøres i et angrep der man endrer signaturen bittelitt, så den fortsatt er gyldig, får bekreftet denne først, og deretter den originale transaksjonen, en slags modifisert double spend.

To teknologier avhengig av hverandre

Segwit løser dette ved å ikke ta signaturen i betraktning når denne ID-en.
Dette gjør det mulig og langt enklere å implementere lightning network på en sikker måte og er sånn sett en nødvendighet og et stort fremskritt. Grunnen til at Lightning network trenger segwit er kort og enkelt at lightning trenger en transaksjon som er signert av begge parter som tar del i kanalen, samt en transaksjon som dunder denne transaksjonen slik at man kan sende beløp likt fundingen fra begge parter frem og tilbake før resultatet signeres til slutt.

Grunnen til at det gjøres slik med to transaksjonene er at man ikke ønsker at midlene man har fundet kanalen med holdes som gissel av en part som ikke ønsker å samarbeide. Dermed er det kritisk at signaturen som er signert av begge sendes før transaksjonen som funder kanalen. Måten dette gjøres på er nettopp gjennom at transaksjonen som er signert av begge, refererer til transaksjons-IDen til transaksjonen som funder kanalen. Dersom man kan endre denne IDen slik man kunne før med å tukle litt med signaturen, så vil transaksjonen som er signert av begge bli ugyldig.  Det er en potensiell sikkerhetsrisiko, samtidig som det gjør implementasjonen av lightning network langt vanskeligere.

Signaturene i segwit transaksjoner er fortsatt sjekket, men den tas ikke med i beregningen som gir transaksjons-IDen, nettverket har dermed fortsatt samme integritet, men er sikrere å bruke.

Forrige

Neste