Hva er Segwit (Segregated Witness)?
Contents
Hva er Segwit (Segregated Witness)?
Segwit er en oppgradering til Bitcoin-nettverket som ble introdusert i august 2017. Dette innlegget forklarer nøyaktig hva Segwit er, hvorfor det trengs og hvordan det kan hjelpe til med å skalere Bitcoin til masseadopsjon.
Liker du ikke å lese? Se vår videoguide i stedet
Hva er Segwit Sammendrag
Segwit er en oppgradering til Bitcoin-protokollen som skiller den digitale signaturen (også kjent som “vitnet”) fra transaksjonen. Dette skaper en løsning på flere problemer med Bitcoin-protokollen, og tillater også at flere transaksjoner passer inn i en 1 MB-blokk.
Det er Segwit i et nøtteskall. Hvis du vil ha en mer detaljert forklaring, fortsett å lese, her er hva jeg skal dekke:
1. Hva er Segwit?
Segwit, forkortelse for Segregated Witness, er en oppgradering til Bitcoin-nettverket som har som mål å løse flere problemer. Den ble først introdusert av utvikler Pieter Wiulle på Skalering av Bitcoin-konferanse i desember 2015.
Bitcoins skalerbarhetsproblem
Bitcoin-transaksjoner er skrevet på en uforanderlig hovedbok kjent som Blockchain. Det kalles “blockchain” fordi transaksjoner er samlet i blokker som er lenket til hverandre, for å bestemme rekkefølgen.
Disse blokkene av transaksjoner er begrenset i kapasitet opp til 1 MB. Som et resultat er en Bitcoin-blokk i stand til å ta imot rundt 2700 transaksjoner i gjennomsnitt.
Dette skaper et problem når mange mennesker prøver å sende Bitcoins (som under prisoppgjør), siden det dannes en lang kø med transaksjoner som venter på å komme inn i blockchain..
Mens Visa kan behandle 1700 transaksjoner per sekund, kan Bitcoin bare behandle 4, noe som gjør det uskalerbart for masseadopsjon. For at Bitcoin virkelig skal kunne brukes på verdensbasis, må den finne en måte å øke transaksjonskapasiteten på.
Transaksjonens smidighetsproblem
Et annet problem Bitcoin har, er transaksjonsmulighet.
Hver Bitcoin-transaksjon har 3 deler – hvem sendte den (også kjent som input), som mottok den (output), og en digital signatur som bekrefter at avsenderen er kvalifisert til å sende myntene.
Det viser seg at Bitcoins kode tillater at digitale signaturer endres når en transaksjon fremdeles ikke er bekreftet.
Signaturendringen gjøres på en måte som hvis du kjører en matematisk sjekk på den, er den fortsatt gyldig av nettverket. Men når du kjører en hashingalgoritme på den, gir den et annet resultat.
La meg forklare med et eksempel:
La oss si for enkelhets skyld at signaturverdien var “3”, men i stedet for “3” endrer jeg den til “03” eller “3 + 7-7”. Matematisk er det fortsatt den samme verdien, så det er en gyldig signatur, men hvis jeg har disse forskjellige versjonene, vil jeg få forskjellige resultater siden hashing avhenger av hvordan du skriver verdien og ikke selve verdien.
Siden hash er transaksjonens identifikator i blockchain, betyr dette at jeg effektivt kan endre hvilken som helst transaksjons-id til en annen id, og den vil fortsatt være gyldig.
Å opprette en ny transaksjons-ID for en eksisterende transaksjon kan være problematisk av flere årsaker:
For å forenkle ting, la oss bruke et eksempel på hvordan noen kan utnytte problemet med smidighet i transaksjonen:
Alice betaler Bob i transaksjon X som er ubekreftet. Bob bruker den ubekreftede betalingen til å betale for et produkt online fra Charlie (transaksjon Y). Charlie ventet ikke på noen bekreftelse på transaksjonen Y og sendte Bob sitt produkt.
Bob maler ondskapsfullt Alice’s betaling gjennom teknisk fiksing og transaksjonen hennes blir bekreftet med en annen txid.
Transaksjon Y er nå ugyldig siden den er avhengig av den opprinnelige txid for transaksjon X som ikke lenger eksisterer. Charlie er ikke betalt og har allerede levert varene.
Ytterligere problemer
Selv om de to problemene jeg har nevnt ovenfor er de mest brennende, adresserer Segwit en rekke andre tekniske problemer, som ikke alltid påvirker sluttbrukeren direkte..
Her er en komplett liste over problemene Segwit løser:
- Lineær skalering av sighash-operasjoner
- Signering av inngangsverdier
- Økt sikkerhet for multisig via pay-to-script-hash (P2SH)
- Reduserer UTXO-vekst
- Skriptsversjon
- Effektivitetsgevinster når man ikke bekrefter signaturer
- Blokkere kapasitet / størrelse
- Går mot en enkelt kombinert blokkgrense
En fullstendig forklaring om alle disse problemene kan bli funnet her.
2. Hvordan Segwit fungerer
Segwit er en økning i blokkstørrelse
Segregated Witness er en foreslått endring i hvordan blokker er strukturert. Ikke-segwit-blokker, også kjent som eldre blokker, har totalt 1 MB plass for alle blokkeringsdataene (innganger, utganger, signaturer osv.).
Segwit-blokker, derimot, er faktisk større blokker (opptil 4 MB) som består av en grunntransaksjonsblokk og en utvidet blokk. Så i motsetning til populær mening, er Segwit, akkurat som Bitcoin Cash, virkelig en økning i blokkstørrelsen.
Segwit-blokker flytter den digitale signaturen og andre data (kjent som “vitnet”) utenfor basistransaksjonsblokken. Vitnedataene vil fortsatt bli overført, men de plasseres inne i den utvidede blokken.
Basistransaksjonsblokken inkluderer informasjonen om avsenderen og mottakeren. Vitnedataene er tomme og tar derfor ikke plass. Dette gir mulighet for flere transaksjoner i 1 MB-blokken.
Den utvidede blokken (de ekstra 3 MB) inkluderer alle vitnedataene som ikke er obligatoriske i basistransaksjonsblokken.
Det nye blokkformatet Segwit introduserer oppnår to hovedmål:
Segwit er en myk gaffel
Hvis Segwit faktisk er en økning i blokkstørrelsen, lurer du kanskje på hvorfor ikke bare øke blokkstørrelsen til 4 MB?
Årsaken er at utviklere ønsket å unngå å skape en hard gaffel i Bitcoin-nettverket. Bitcoins protokoll sier spesifikt at blokker ikke kan overstige 1 MB-blokk. Så utviklere måtte finne en løsning som vil bli akseptert av både eldre og Segwit-blokker.
En løsning av en 1mb-blokk med en “utvidelse” av en annen 3mb er noe som fortsatt er akseptabelt under den eksisterende protokollen.
Eldre noder mottar bare 1mb basetransaksjonsblokk uten den utvidede blokken. De anser dem fortsatt som gyldige. Segwit-noder mottar både base- og utvidet blokk (opptil 4 MB totalt) og kan validere transaksjonene i sin helhet.
Mens det i teorien kan Segwit-transaksjoner skape en blokk på opptil 4 MB, men i praksis er den gjennomsnittlige blokkstørrelsen som inkluderer Segwit-transaksjoner rundt 2 MB.
Denne bakoverkompatibiliteten er også kjent som en myk gaffel. Denne tilnærmingen er mye mindre risikabel siden den ikke krever noder for å oppdatere programvaren for å støtte Segwit. Det betyr at selv om det tar år for alle nodene å oppgradere, vil nettverket fortsatt fungere.
Beregning av blokkvekt
Mens eldre blokker måles i størrelse, måles Segwit-blokker i vekt. Block Weight er et nytt konsept introdusert i Segwit, og det beregnes på basis av hver transaksjon.
Hver transaksjon har en “vekt” som er definert på denne måten:
Base Tx størrelse * 3 + Full Tx størrelse
Eldre transaksjoner kan ikke fjerne vitnedataene, så vekten deres vil alltid være 4 ganger TX-størrelsen. For eksempel vil en eldre TX på 1000 byte ha en vekt på 1000 * 3 + 1000 = 4000.
Segwit-transaksjoner vil derimot være mindre enn 4 ganger TX-størrelsen. For eksempel vil en 1200 byte Segwit-transaksjon bestående av 400 byte vitnedata ha en vekt på (1200-400) * 3 + 1200 = 3600.
Kort sagt, jo større vitnedata, desto lettere vil TX-vekten være. Dette stimulerer gruvearbeidere til å foretrekke lettere Segwit-transaksjoner fremfor tyngre, siden de kan passe flere av dem i en blokk.
3. Segwit vs Legacy
I dag, nesten 50% av alle utvinnede Bitcoin-transaksjoner er Segwit-transaksjoner. Når du sammenligner eldre transaksjoner med Segwit-transaksjoner, kan du se følgende forskjeller:
4. Beste Segwit lommebøker
Takket være fordelene støtter flere og flere lommebøker Segwit. Her er de beste Segwit-lommebøkene rundt.
Det er viktig å merke seg at hvis du har en eldre lommebok og vil flytte til en Segwit-lommebok, må du opprette en helt ny Segwit-lommebok og flytte alle pengene dine til adressen. Det er ingen måte å bare oppgradere den eksisterende lommeboken din.
Hovedbok
Ledger er en maskinvarelommebok som lar deg signere transaksjoner offline, og gir derfor større sikkerhet for pengene dine (siden din private nøkkel ikke har tilgang til Internett). Det er to hovedmodeller – Ledger Nano S og Ledger Nano X.
Begge modellene støtter både Segwit og eldre transaksjoner. Nano X er den nyere modellen som støtter et bredere utvalg av mynter og er også mobilkompatibel.
TREZOR
TREZOR er en annen populær maskinvare lommebok. De to TREZOR-modellene er TREZOR One og TREZOR Model T. Begge lommebøkene støtter Segwit og eldre transaksjoner.
TREZOR Model T er den nyere modellen som også har berøringsskjerm.
Mosebok
Exodus er en gratis lommebok for programvare som er utmerket for nybegynnere på grunn av sin intuitive design. Lommeboken støtter over 100 kryptoaktiver og er tilgjengelig for stasjonære og mobile enheter. Exodus støtter både eldre og Segwit-transaksjoner. Du kan lese min komplette Exodus-anmeldelse her.
Electrum
Electrum er en åpen kildekode Bitcoin bare desktop lommebok som støtter både eldre og Segwit transaksjoner.
Lommeboken er litt vanskelig å administrere hvis du bare begynner med kryptovalutaer, men tilbyr et bredt utvalg av alternativer for å kontrollere avgifter, administrere midler og signere transaksjoner. Du kan lese min komplette Electrum-anmeldelse her.
Coinomi
Coinomi er en veldig populær flervaluta-lommebok som støtter over 100 kryptoaktiver og er tilgjengelig for stasjonære og mobile enheter. Coinomi støtter både eldre og Segwit-transaksjoner.
Hvis du leter etter en mobil segwit-lommebok, er dette sannsynligvis det beste valget generelt. Du kan lese min Coinomi-anmeldelse her.
5. Ofte stilte spørsmål
Når ble Segwit aktivert?
Segwit ble aktivert 23. august 2017.
Hva er SegWit2x?
Segwit2x var et foreslått kompromiss til blokkstørrelsesdebatten tilbake i 2017. Det antydet at Segwit vil bli aktivert som et første trinn, og etter det vil blokkstørrelsen økes til 2 MB. Dette forslaget ble ikke akseptert av flertallet av Bitcoin-nettverket.
Er Segwit bakoverkompatibel?
Ja, Segwit er bakoverkompatibel og fungerer med eldre transaksjoner som ikke har aktivert Segwit.
Hva er Lightning Network?
The Lightning Network er et andre lag over bitcoin-nettverket som gjør det mulig for folk å overføre Bitcoin mellom hverandre umiddelbart og uten gebyrer. Du kan lære alt du trenger å vite om Lightning Network her.
6. Konklusjon
Segwit er den første av mange oppgraderinger som gradvis vil tillate Bitcoin å skalere for masseadopsjon. Det er en grunnleggende endring som vil tillate videre utvikling langs veien.
Å adskille den digitale signaturen, eller vitnet, fra transaksjonsblokken, oppnår flere fordeler, for eksempel en mindre transaksjonsstørrelse, korrigerbarhet og mer. Etter hvert som flere og flere lommebøker adopterer Segwit, vil det snart bli standarden for enhver Bitcoin-transaksjon.
Hva er tankene dine om Segwit? Gi meg beskjed i kommentarfeltet nedenfor.
“>