Woordenlijst
Mining en consensus

Checkpoint

Een checkpoint is een aangewezen blok dat een blockchainprotocol of de bijbehorende clients behandelen als een vast referentiepunt – een blok waarvan de plek in de geschiedenis is overeengekomen en dat wordt gebruikt om finality te verankeren, synchronisatie te versnellen of diepe herschrijvingen van de keten te voorkomen. In plaats van de hele keten vanaf het begin te beoordelen, kunnen nodes vanaf het checkpoint verder redeneren.

Het meest prominente moderne gebruik zit in de proof-of-stake-consensus van Ethereum, waar het eerste blok van elke epoch dient als checkpoint waarover validators stemmen. Wanneer meer dan twee derde van de gestakete ether een paar opeenvolgende checkpoints bevestigt, wordt het eerdere gefinaliseerd – wat betekent dat het protocol garandeert dat het nooit kan worden teruggedraaid zonder dat minstens een derde van alle stake wordt vernietigd. Checkpoints komen ook voor als "weak subjectivity"-ankers: een node die net begint te synchroniseren, start vanaf een recent vertrouwd checkpoint in plaats van jaren aan geschiedenis te verifiëren, wat ook beschermt tegen long-range-aanvallen die een alternatieve, zeer oude geschiedenis verzinnen.

Historisch gezien werd vroege Bitcoin-software geleverd met hardgecodeerde checkpoints – blokhashes die in de code waren ingebakken – om bepaalde denial-of-service-aanvallen tijdens de initiële synchronisatie te blokkeren; die zijn grotendeels afgeschaft naarmate het netwerk volwassener werd, omdat door ontwikkelaars gekozen checkpoints slecht passen bij het idee dat de keten alleen de geschiedenis bepaalt. Een veelvoorkomende misvatting is dat checkpoints ontwikkelaars het grootboek laten herschrijven of bevriezen; in proof-of-stake-systemen worden ze voortgebracht door stemmen van validators volgens protocolregels, niet door een besluit van een team.

Gerelateerde termen