Det er for mye støy i blockchain-relaterte nyheter på Internett. Jo renere innholdet, det er ofte for teknisk. Selvfølgelig er kildekoden det reneste og mest pålitelige innholdet. Men selv uten å stupe i dypet av tekniske sannheter, i de tidlige stadiene av å oppleve bransjen, vil du alltid komme inn i nye betydninger og begreper når du mestrer nytt materiale. I dag vil vi se nærmere på uforanderlighet (eller irreversibilitet), som er nært knyttet til en av de viktigste egenskapene til Blockchain-teknologi – pålitelighet.

Hva er uforanderlighet?

Det har mye å gjøre med bekreftelser, men det er ikke så enkelt.

Uforanderligheten til transaksjonen kommer etter transaksjonsbekreftelsen. Uforanderlighet er en tilstand av blockchain, der transaksjonen under ingen omstendigheter kan kanselleres, tilbakestilles eller endres av noe medlem av nettverket. Ingen kan med andre ord gjøre noe med transaksjonen, og alt som skjedde i denne transaksjonen vil for alltid forbli i blockchain. Øyeblikket da du kan være sikker på at kaffen din er betalt og at lønnen din er mottatt og er helt til din disposisjon.

Så, hvor lenge skal du vente fra du mottok “transaksjonsbekreftet” -meldingen til transaksjonen er irreversibel? Nivået av uforanderlighet er hvor lang tid det tar å komme til endelig tilstand etter at transaksjonen er fullført. Avhengig av blockchain eller kontekst, måles hastigheten i sekunder eller blokker. Ulike blokkeringer har forskjellige ordninger for sluttbehandling, så det kan ta fra noen brøkdeler av et sekund til en time å få de nødvendige garantiene – ganske lang ventetid på en kaffe.

Hvorfor er uforanderlighet viktig?

Etter en times venting blir det åpenbart at en kort tid på ferdigstillelse er ekstremt viktig for en bedrift. Du vil ikke vente i 10 minutter hver gang du handler i en ny butikk. Tenk deg hvor lang tid det vil ta å sende penger til en venn? Den finansielle sektoren vil aldri være i stand til å oppfylle kundenes hurtige forventninger ettersom tradisjonelle transaksjoner gjennomføres på mindre enn et sekund (hvor endelige de er er et annet spørsmål).

“Absolutt uforanderlighet må implementeres i den virkelige verden fordi ingen vil risikere å ha eiendeler som de kan miste på grunn av protokollens design.”

Investorer og bedriftseiere trenger et annet nivå av garantier. De har ikke råd til ytterligere risiko, så hver bedrift har som mål å fullføre transaksjonene så raskt som mulig. Bedrifter som betaler kryptovaluta er spesielt følsomme for nivået av uforanderlighet.

Selv om dette ikke er den eneste viktige indikatoren for suksessen til et blockchain-selskap, jo raskere sluttid, jo bedre.

Hvordan virker det?

Avhengig av utformingen av protokollen, oppnår en blockchain uforanderlighet gjennom forskjellige mekanismer. Det er mange blandede alternativer, men for generell forståelse nevnes tre hovedtyper ofte:

Probabilistisk

Denne typen uforanderlighet er kompleks fordi det ikke finnes noe som heter en 100% uforanderlig tilstand i det virkelige liv. Etter at en transaksjon er utført i en bestemt blockchain, blir andre transaksjoner bekreftet og fortsetter å ankomme. Således er det teoretisk sett sannsynlig at gruvearbeiderne bytter til en alternativ kjede, og begynner med blokken før den som inneholder transaksjonen, noe som gjør transaksjonen ugyldig. Men jo flere transaksjoner som skjer etter din, jo flere ressurser vil det ta å bytte kjede, og på et tidspunkt blir det sinnsykt irrasjonelt, så sannsynligheten for at dette skjer reduseres.

Over tid blir transaksjonen “mer og mer irreversibel” ettersom flere blokker opprettes oppå hverandre.

Det er en viss tidsramme der alle på hver blockchain er enige om at transaksjonen er sannsynlig irreversibel (men det er fortsatt bare 99% uforanderlighet). For Bitcoin er denne tidsrammen omtrent 60 minutter eller seks blokker.

Absolutt

Denne er tydeligere.

Vanligvis er det i en blockchain med absolutt (eller deterministisk) uforanderlighet, bortsett fra gruvearbeiderne, en ekstra gruppe validatorer og ledere. Sistnevnte foreslår en blokk, og validatorene sjekker og godkjenner den. Siden blokken ikke er foreslått av noen tilfeldig fyr, men av en valgt leder etter at blokken er validert, anses alle transaksjoner i denne blokken umiddelbart som irreversible. Hvis den er der, er det ingen vei ut.

Dette oppnås takket være kjedens design og er typisk for PBFT-baserte protokoller som Tendermint og Dexon.

Det er viktig å merke seg at vi snakker om typen uforanderlighet med hensyn til blokkjedernes design. Hver blockchain er sårbar for forskjellige typer angrep, noe som kan føre til tap av tidligere transaksjoner eller en del av blockchain. Ved å oppdatere eksisterende kjeder eller utvikle nye protokoller, prøver utviklerne å forbedre beskyttelsen mot mulige angrep og øke tilliten til systemene deres.

Økonomisk

Økonomisk uforanderlighet er basert på ideen om innsats og straffer, så det gjelder hovedsakelig PoS-protokoller. Uforanderlighet oppnås når blokkgjenoppretting blir økonomisk kostbar. Validatorer stemmer for blokkering eller avvisning. Konsensusforholdene varierer fra blockchain til blockchain, men vanligvis er omtrent 2/3 av validatorene nok til å godkjenne en blokk. Alle validatorer som stemmer mot flertallet straffes i henhold til kjedens regler (mister sin andel, mister muligheten til å få en belønning for neste periode, og så videre). Vanligvis, når vi går tilbake i historien, multipliseres avskjæringen, noe som gjør det dyrere å gjenopprette gamle blokker. Du vil ganske enkelt angre på at du tar feil valg.

Denne typen blockchain stimulerer validatorer til å stemme på samme måte som flertallet gjør. Hver gang de stemmer riktig, blir de belønnet.

Tid som er nødvendig for at forskjellige blokkjeder skal nå uforanderligheten til en transaksjon

Konklusjon

Å oppnå rask og sikker uforanderlighet er fremdeles et ganske aktivt forskningsområde for forskjellige blokkjeder. Reversibiliteten til blokker kan føre til tap på millioner av dollar eller påvirke de grunnleggende faktorene for desentraliserte applikasjoner. Derfor er forståelse av uforanderlighet avgjørende når du lager pålitelige blockchain-plattformer og velger plattform for applikasjonsutvikling.