Glossar / Mining und Konsens
Konsensregeln
- Was sind Konsensregeln?
- Konsensregeln sind die Gültigkeitsprüfungen, die jeder Full Node auf einen Block anwendet; schon die Verletzung einer einzigen von ihnen macht diesen Block ungültig, ganz gleich, wie viel Arbeit er enthält.
Das Regelwerk ist voll von konkreten Vorgaben: keine Doppelausgaben, keine Ausgabe, die mehr wert ist als ihre Eingaben, gültige Skripte und eine Coinbase, die nicht mehr beansprucht als die Subvention plus Gebühren. Bitcoin Core schreibt die Zahlen fest: 4.000.000 Gewichtseinheiten pro Block, 80.000 Signaturvorgänge und eine Wartezeit von 100 Blöcken, bevor geminte Bitcoin ausgegeben werden können. Wegen dieser Regeln kann keine Börse Ihnen einen Bitcoin gutschreiben, den das Netzwerk nie erzeugt hat.
Wie es funktioniert
Die Konsensregeln teilen sich in vier Gruppen, und fast alle sind bewusst langweilig.
Die erste Gruppe regelt das Geld. Die Belohnung eines Blocks halbiert sich alle 210.000 Blöcke, und die Coinbase-Ausgabe darf keinen Satoshi mehr beanspruchen als diese Subvention plus die Gebühren der tatsächlich enthaltenen Transaktionen. Bitcoin, die ein Block erzeugt, können 100 weitere Blöcke lang nicht ausgegeben werden. Jede andere Transaktion muss Outputs ausgeben, die existieren, noch nicht ausgegeben wurden und das Skript erfüllen, das sie gesperrt hat, wobei die Summe der Abflüsse nie die Summe der Zuflüsse übersteigen darf.
Die zweite Gruppe regelt die Ressourcen, denn die Verifizierung muss für eine gewöhnliche Maschine günstig genug bleiben. Ein Block darf 4.000.000 Gewichtseinheiten oder 80.000 Einheiten für Signaturvorgänge nicht überschreiten. Die dritte Gruppe regelt die Struktur: Die Coinbase-Transaktion kommt zuerst und nur einmal, die Merkle-Wurzel im Header muss zu den vorhandenen Transaktionen passen, und der Hash des Headers muss auf oder unter dem Ziel liegen, das die Schwierigkeitsregeln verlangen. Die vierte Gruppe regelt die Zeit. Der Zeitstempel eines Blocks muss später liegen als der Median der vorherigen elf und darf höchstens zwei Stunden vor der Uhr des eigenen Nodes liegen, und seit BIP113 ist derselbe Medianzeitpunkt der Maßstab, an dem Locktimes gemessen werden.
Wo diese Regeln geschrieben stehen, ist der unangenehme Teil. Es gibt keine unabhängige Spezifikation: Die Regeln sind das, was der eingesetzte Code akzeptiert, was für die überwältigende Mehrheit des Netzwerks die Validierungslogik von Bitcoin Core bedeutet, Eigenheiten und Zufälle eingeschlossen. Deshalb gilt eine Neufassung in einer anderen Sprache als Gefahr und nicht als Verbesserung, und deshalb behält Bitcoin Knots, die bekannteste Variante, das Konsensverhalten von Core Byte für Byte bei und unterscheidet sich nur in der Relay- und Mining-Richtlinien.
Die Liste wird in eine von zwei Richtungen geändert. Ein Soft Fork entfernt Möglichkeiten, sodass Blöcke, die nach den neuen Regeln erstellt wurden, für alte Software weiterhin gültig aussehen: Die strikte DER-Signaturkodierung wurde ab Block 363.725 verpflichtend und OP_CHECKLOCKTIMEVERIFY ab Block 388.381, und keines von beiden spaltete das Netzwerk. Ein Hard Fork fügt Möglichkeiten hinzu, wodurch neue Blöcke für jeden ungültig aussehen, der nicht aktualisiert hat, und zwei Ketten entstehen, sofern die neue Software nicht überall übernommen wird.
Warum das beim Bitcoin-Kauf wichtig ist
Die Konsensregeln sind der einzige Teil des Besitzes von Bitcoin, über den niemand nachträglich mit Ihnen verhandeln kann.
Sie bilden einen harten Boden unter einer kleinen Zahl von Risiken. Niemand kann Bitcoin außerhalb des Zeitplans drucken, eine Ausgabe ohne ihren Schlüssel ausgeben oder eine unter echter Arbeit begrabene Zahlung löschen. Dieser Boden ist schmal, und es lohnt sich, genau zu benennen, was außerhalb davon liegt, denn dort verlieren Menschen tatsächlich Geld: eine Börse, die zahlungsunfähig wird, eine Phishing-Website, die eine Seed-Phrase einsammelt, ein Support-Mitarbeiter, der ein Konto sperrt, eine Steuerrechnung, die ohne eingeplantes Budget eintrifft. Nichts davon beruht darauf, dass eine Regel gebrochen wird. Bei allem davon vertraut man auf etwas, das die Regeln nie abdeckten.
Der Unterschied liefert Ihnen einen Test für Werbeaussagen. Wenn ein Dienst eine bestätigte Zahlung rückgängig machen kann, hat er keine Bitcoin-Transaktion rückgängig gemacht; er hat sein eigenes Buch angepasst, und Sie waren nie On-Chain. Wenn ein Produkt eine Abwicklung schneller als nach den Blöcken möglich bewirbt, gewährt es Ihnen Kredit und trägt das Risiko selbst, was ein vollkommen guter Dienst sein kann, solange Sie wissen, dass Sie genau das gekauft haben. Wenn ein Coin behauptet, die Sicherheit von Bitcoin mit Tausenden Transaktionen pro Sekunde zu bieten, sind die oben genannten Ressourcengrenzen der Grund, warum Bitcoin das nicht tut.
Was die Konsensregeln entschieden nicht sind, ist Gesetz. Das Netzwerk wendet dieselben Prüfungen auf jeden Nutzer auf der Erde an, während sich das rechtliche Regelwerk an jeder Grenze ändert, weshalb die Länderratgeber auf dieser Website getrennt von allem auf dieser Seite bestehen. Über die Gültigkeit entscheiden Nodes. Über Legalität, Meldepflichten und darüber, ob eine Börse Sie überhaupt annimmt, entscheidet Ihre Jurisdiktion, und beide Seiten haben nie vereinbart, sich gegenseitig zu konsultieren.
Die 184 Milliarden Bitcoin, die fünf Stunden hielten
Am 15. August 2010 erzeugte eine Transaktion in Block 74.638 zwei Ausgaben von je mehr als 92 Milliarden Bitcoin.
Der Fehler war arithmetisch. Der Code prüfte, dass jede Ausgabe ein vernünftiger Betrag war, summierte sie aber in einen Wert, der überlief, sodass eine Summe größer als der gesamte Ausgabeplan als kleine positive Zahl gelesen wurde und die Prüfung bestand. Satoshi Nakamoto veröffentlichte Version 0.3.10 mit einer Korrektur innerhalb von Stunden, die Nodes wechselten dazu, und eine korrigierte Kette überholte die fehlerhafte 53 Blöcke später. Der Vorfall ist als CVE-2010-5139 katalogisiert und bleibt das einzige Mal, dass das Angebot von Bitcoin seinen Plan überschritten hat.
Zwei Lehren bleiben. Die Obergrenze von 21 Millionen ist kein Naturgesetz, sie ist eine Codezeile, und Code kann falsch sein. Und die Reparatur funktionierte gerade deshalb, weil niemand dafür verantwortlich war: Tausende unabhängige Betreiber entschieden jeweils für sich, die korrigierte Software auszuführen, und das ist der einzige Mechanismus, den eine Konsensregel je hatte.
Konsensregeln vs. Mempool-Richtlinie
Die Konsensregeln entscheiden, was gültig ist; die Mempool-Richtlinie entscheidet, was ein Node weitergibt. Die Richtlinie ist lockerer, lokal und pro Node anpassbar: eine standardmäßige Mindest-Relay-Gebühr von 1 sat/vB, eine Dust-Schwelle von 546 Satoshis bei einer Legacy-Ausgabe, Grenzen für datentragende Ausgaben und eine Liste der als standardmäßig geltenden Skripttypen. Verstoßen Sie gegen die Richtlinie, wird Ihre Transaktion möglicherweise einfach nicht verbreitet. Verstoßen Sie gegen eine Konsensregel, kann kein Block, der sie enthält, je existieren. Miner nehmen regelmäßig Transaktionen auf, die manche Nodes nicht weitergegeben hätten, und die daraus entstehenden Blöcke sind vollkommen gültig, weshalb „meine Wallet meldet nicht standardkonform“ ein Routing-Problem mit Umwegen ist, während „ungültig“ endgültig ist.