Hvad er en Blockchain konsensus algoritme?

introduktion

en konsensusalgoritme er en mekanisme, der giver brugere eller maskiner mulighed for at koordinere i en distribueret indstilling. Det skal sikre, at alle agenter i systemet kan blive enige om en enkelt kilde til sandhed, selvom nogle agenter mislykkes. Med andre ord skal systemet være fejltolerant (se også: Bysantinsk fejltolerance forklaret).

i en centraliseret opsætning har en enkelt enhed magt over systemet. I de fleste tilfælde kan de foretage ændringer, som de vil – der er ikke noget komplekst styringssystem til at nå til enighed blandt mange administratorer.

men i en decentraliseret opsætning er det en helt anden historie. Sig, at vi arbejder med en distribueret database – hvordan når vi en aftale om, hvilke poster der tilføjes?

at overvinde denne udfordring i et miljø, hvor fremmede ikke stoler på hinanden, var måske den mest afgørende udvikling, der banede vejen for blockchains. I denne artikel vil vi se på, hvordan konsensusalgoritmer er afgørende for funktionen af kryptokurver og distribuerede hovedbøger.

konsensusalgoritmer og cryptocurrency

i cryptocurrencies registreres brugernes saldi i en database – blockchain. Det er vigtigt, at alle (eller mere præcist, hver node) opretholder en identisk kopi af databasen. Ellers vil du snart ende med modstridende oplysninger, der underminerer hele formålet med cryptocurrency-netværket.

offentlig nøglekryptografi sikrer, at brugerne ikke kan bruge hinandens mønter. Men der skal stadig være en enkelt kilde til sandhed, som netværksdeltagere stoler på, for at kunne afgøre, om der allerede er brugt midler.

Satoshi Nakamoto, skaberen af Bitcoin, foreslog et bevis på arbejdssystem til koordinering af deltagere. For nu vil vi identificere nogle af de fælles træk ved de mange konsensusalgoritmer, der eksisterer.

for det første kræver vi, at brugere, der ønsker at tilføje blokke (vi kalder dem validatorer), giver en indsats. Indsatsen er en slags værdi, som en validator skal fremsætte, hvilket afskrækker dem fra at handle uærligt. Hvis de snyder, mister de deres indsats. Eksempler inkluderer computerkraft, cryptocurrency eller endda omdømme.

hvorfor skulle de gider at risikere deres egne ressourcer? Der er også en belønning til rådighed. Dette består normalt af protokollens oprindelige kryptokurrency og består af gebyrer betalt af andre brugere, friskgenererede kryptokurrencyenheder eller begge dele.

det sidste, vi har brug for, er gennemsigtighed. Vi skal være i stand til at opdage, når nogen snyder. Ideelt set bør det være dyrt for dem at producere blokke, men billigt for alle at validere dem. Dette sikrer, at validatorer holdes i kontrol af almindelige brugere.

typer af konsensusalgoritmer

bevis for arbejde (krigsfange)

bevis for arbejde (krigsfange) er gudfar til blockchain-konsensusalgoritmer. Det blev først implementeret i Bitcoin, men det egentlige koncept har eksisteret i nogen tid. Som bevis for arbejde har validatorer (kaldet minearbejdere) de data, de vil tilføje, indtil de producerer en bestemt løsning.

en hash er en tilsyneladende tilfældig streng af bogstaver og tal, der oprettes, når du kører data gennem en hash-funktion. Men hvis du kører de samme data gennem det igen, vil du altid ende med det samme output. Skift selv en detalje, og din hash vil være helt anderledes.

når du ser på output, kan du umuligt fortælle, hvilke oplysninger der blev ført ind i funktionen. De er derfor nyttige til at bevise, at du kendte et stykke data inden en bestemt tid. Du kan give nogen sin hash, og når du senere afslører dataene, kan denne person køre den gennem funktionen for at sikre, at output er det samme.

i Bevis for arbejde fastsætter protokollen betingelser for, hvad der gør en blok gyldig. Det kan for eksempel sige, at kun en blok, hvis hash begynder med 00, vil være gyldig. Den eneste måde for minearbejderen at skabe en, der matcher denne kombination, er at brute-force input. De kan justere en parameter i deres data for at producere et andet resultat for hvert gæt, indtil de får den rigtige hash.

med store blokkæder er baren sat utrolig høj. For at konkurrere med andre minearbejdere har du brug for et lager fuld af specielt hashingudstyr (ASIC ‘ er) for at være i en chance for at producere en gyldig blok.

din indsats, når minedrift, er prisen på disse maskiner og den elektricitet, der kræves for at køre dem. ASIC ‘ er er bygget til et formål, så de har ingen brug i applikationer uden for cryptocurrency minedrift. Din eneste måde at inddrive din oprindelige investering på er at udvinde, hvilket giver en betydelig belønning, hvis du med succes tilføjer en ny blok til blockchain.

det er trivielt for netværket at kontrollere, at du faktisk har oprettet den rigtige blok. Selvom du har prøvet billioner af kombinationer for at få den rigtige hash, skal de bare køre dine data gennem en funktion en gang. Hvis dine data producerer et gyldigt hash, accepteres det, og du får en belønning. Ellers vil netværket afvise det, og du har spildt tid og elektricitet for ingenting.

bevis for indsats (PoS)

bevis for indsats (PoS) blev foreslået i de tidlige dage af Bitcoin som et alternativ til bevis for arbejde. I et PoS-system er der intet koncept for minearbejdere, specialudstyr eller massivt energiforbrug. Alt du behøver er en almindelig PC.

nå, ikke alle. Du skal stadig lægge noget hud i spillet. I PoS fremsætter du ikke en ekstern ressource (som elektricitet eller udstyr), men en intern – cryptocurrency. Reglerne er forskellige med hver protokol, men der er generelt et minimum af midler, du skal have for at være berettiget til satsning.

derfra låser du dine penge i en tegnebog (de kan ikke flyttes, mens du satser). Du er typisk enig med andre validatorer om, hvilke transaktioner der går ind i den næste blok. På en måde satser du på den blok, der vælges, og protokollen vælger en.

hvis din blok er valgt, modtager du en andel af transaktionsgebyrerne, afhængigt af din indsats. Jo flere midler du har låst op, jo mere du står til at vinde. Men hvis du forsøger at snyde ved at foreslå ugyldige transaktioner, mister du en del (eller hele) af din indsats. Derfor har vi en lignende mekanisme til krigsfange – at handle ærligt er mere rentabelt end at handle uærligt.

generelt er der ikke nyskabte mønter som en del af belønningen for validatorer. Blockchains oprindelige valuta skal således udstedes på en anden måde. Dette kan gøres enten via en indledende distribution (dvs.en ICO eller IEO) eller ved at have protokollen lanceret med krigsfange før senere overgang til PoS.

til dato er rent bevis for indsats kun virkelig blevet implementeret i mindre kryptokurver. Derfor er det uklart, om det kan tjene som et levedygtigt alternativ til krigsfange. Mens det ser teoretisk forsvarligt ud, vil det være meget anderledes i praksis.

når PoS er rullet ud på et netværk med en stor mængde værdi, bliver systemet et spillefelt for spilteori og økonomiske incitamenter. Enhver med viden om at” hacke ” et PoS – system ville sandsynligvis kun gøre det, hvis de kunne vinde ved det-derfor er den eneste måde at finde ud af, om det er muligt, på et live netværk.

vi vil snart se PoS testet i stor skala – Casper vil blive implementeret som en del af en række opgraderinger til Ethereum-netværket (kollektivt kendt som Ethereum 2.0).

andre konsensusalgoritmer

bevis for arbejde og bevis for indsats er de mest diskuterede konsensusalgoritmer. Men der er en bred vifte af andre, alle med deres egne fordele og ulemper. Tjek følgende artikler:

  • forsinket bevis for arbejde forklaret
  • lejet bevis for Stavskonsensus forklaret
  • bevis for autoritet forklaret
  • bevis for forbrænding forklaret
  • delegeret bevis for indsats forklaret
  • Hybrid krigsfange/PoS-konsensus forklaret

Afsluttende tanker

mekanismer til opnåelse af konsensus er afgørende for, at distribuerede systemer fungerer. Mange mener, at den største innovation i Bitcoin var brugen af bevis for arbejde for at gøre det muligt for brugerne at blive enige om et fælles sæt fakta.

konsensusalgoritmer understøtter i dag ikke kun digitale pengesystemer, men blockchains, der giver udviklere mulighed for at køre kode på tværs af et distribueret netværk. De er nu en hjørnesten i blockchain-teknologi og er kritiske for den langsigtede levedygtighed af de forskellige netværk, der eksisterer.

af alle konsensusalgoritmerne forbliver bevis for arbejde det dominerende tilbud. Et alternativ, der er mere pålideligt og mere sikkert, er endnu ikke foreslået. Når det er sagt, er der en enorm mængde forskning og udvikling i erstatninger for krigsfanger, og vi vil sandsynligvis se flere af dem overflade i de kommende år.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.