Spørg CryptoVantage: Hvad er Bitcoins “konsensusregler”?
Spørg CryptoVantage: Hvad er Bitcoins “konsensusregler”?
Har du nogensinde spekuleret på, hvordan det er muligt for bitcoin at behandle milliarder dollars i transaktioner hver dag uden behov for en central myndighed som en bank eller regering? Tusinder af computere, kendt som bitcoin-noder, kører bitcoin-software for at sikre, at hver eneste transaktion er gyldig, og at ingen forsøger at skabe ny bitcoin ud af luften. For at nå til enighed om, hvad den gyldige tilstand for bitcoin-blockchain er, følger bitcoin-noder alle det samme sæt regler til behandling og validering af transaktioner.
Disse regler, kendt som “konsensusregler”, er grunden til, at bitcoin kan fungere uden at have tillid til en central myndighed. Denne artikel forklarer, hvad konsensusregler er i generel forstand og giver eksempler på nogle konsensusregler, der anvendes inden for bitcoin-protokollen.
Hvad er konsensusregler?
Distribuerede systemer som bitcoin er afhængige af konsensusregler for at fungere korrekt. Distribuerede systemer består af netværk af computere, der er adskilt fra hinanden, og som alle skal nå til enighed om systemets tilstand. Disse computere kan ikke altid kommunikere direkte, men ved at bruge konsensusregler kan de alle blive enige om, hvad der er eller ikke er en gyldig tilstand.
Bitcoin-netværket består af tusindvis af computere eller noder, der er distribueret over hele verden. Disse bitcoin-noder validerer hver uafhængigt hver bitcoin-transaktion ved at følge bitcoin’s konsensusregler. Som et resultat ender hver bitcoin-node med deres egen identiske kopi af bitcoin-hovedbogen, så bitcoin kan fungere uden behov for en central myndighed.
Eksempler på Bitcoins konsensusregler
Når folk tænker på konsensus inden for bitcoin, er måske den mest almindelige ting, der kommer til at tænke på, 21.000.000 BTC-grænsen. Næsten meget enhver bitcoin-ejer ved, at der kun nogensinde vil være 21 millioner, men hvad der er mindre almindeligt kendt er, at grænsen kommer fra en simpel konsensusregel, som alle bitcoin-noder følger.
Grænsen på 21 millioner opnås ved at begrænse antallet af nye bitcoins, der oprettes. Den eneste måde nye bitcoins oprette er gennem bitcoin minedrift. Hver blok af bitcoin-transaktioner betaler minearbejderen et “bloktilskud”, der fungerer som en måde at incitamtere minearbejdere til at behandle transaktioner (mere om det her). Oprindeligt kunne en minearbejder tjene et bloktilskud på 50 BTC fra hver blok, og cirka hvert fjerde år bliver bloktilskuddet halveret. Det var 25 BTC fra 2012-2016, 12,5 BTC fra 2016-2020, og det vil være 6,25 i de næste fire år. Disse bloktilskudshalvinger er indstillet til at forekomme, indtil tilskuddet reduceres til nul omkring år 2140. For at sikre, at der ikke oprettes ekstra bitcoins, ser hver bitcoinknude på bloktilskuddet fra hver blok og sørger for, at de aldrig er højere end den forudbestemte beløb.
Nogle andre bitcoin-funktioner, der styres af konsensusreglerne, inkluderer:
- Vanskelighedsjustering: Hver 2.016 blok, noder genberegner, hvor svært det skal være for minearbejdere at udvinde blokke. På denne måde kan noder være enige om, hvorvidt minedrift skal gøres lettere eller hårdere baseret på den mængde computerkraft, der forlader eller slutter sig til netværket. Ved at justere vanskelighederne baseret på computerens strøm kan vi holde blokeringstiderne relativt konsistente på ca. 10 minutter pr. Blok.
- Coinbase modenhed: Når en ny blok udvindes, blokeres belønningen i 100 blokke og kan ikke bruges, før den når modenhed.
- Den samlede værdi af en transaktions “output” kan ikke være større end den samlede værdi af dens “input”. Med andre ord kontrollerer noder hver eneste bitcoin-transaktion for at sikre, at den ikke skaber ny bitcoin ud af luften.
Uskrevne regler
Ikke alle bitcoins konsensusregler er registreret skriftligt. I stedet registreres nogle af reglerne i kode. Bitcoin Core er den software, som de fleste mennesker bruger til at deltage i bitcoin-netværket. Denne implementering, kendt som “referenceimplementering”, sætter konsensusreglerne for bitcoin. Enhver anden bitcoin-implementering skal sikre, at deres software følger de samme regler som Bitcoin Core.
Nogle konsensusregler er lette at registrere skriftligt, såsom “der kan kun være 21.000.000 BTC”, men andre er ikke så lette. For eksempel var der i 2013 en konsensusfejl, da en opgradering i Bitcoin Core forårsagede en subtil ændring af den måde, databaselåse blev håndteret på. På det tidspunkt vidste man ikke engang, at databaselåse påvirkede konsensus. Men da den nye version af Bitcoin Core begyndte at tillade flere låse end de noder, der kører den nyere version, blev de forskellige versioner ikke længere enige om blockchain-gyldighedens tilstand, hvilket fik kæden til at splitte midlertidigt. Kædedelingen blev hurtigt løst, da minearbejdere besluttede at skifte tilbage til at bruge den ældre version af Bitcoin Core, men det fremhævede alligevel vigtigheden af bitcoins konsensusregler.
Konklusion
Bitcoins konsensusregler er kernen i, hvad der gør det muligt for bitcoin-netværket at fungere uden behov for en central myndighed. Uanset om de begrænser mængden af bitcoin, der oprettes hver dag, eller sikrer, at kun gyldige transaktioner accepteres, er bitcoins konsensusregler grunden til, at bitcoin fungerer som det gør. Selvom distribuerede systemer har brugt konsensusregler i lang tid, er bitcoin det første system designet med de konsensusregler, der er nødvendige for at tillade et peer-to-peer elektronisk kontantsystem, der ikke stoler på en betroet central myndighed.