Glossar / Mining und Konsens
Block
- Was ist ein Block?
- Ein Block ist ein Stapel Bitcoin-Transaktionen plus der 80-Byte-Header, der ihn versiegelt, und wird etwa alle zehn Minuten von dem Miner an die Kette angehängt, der ihn zuerst löst.
Blöcke machen aus einem Strom von Zahlungen ein geordnetes, dauerhaftes Verzeichnis. Jeder Block trägt einen Header, eine Anzahl von Transaktionen und die Transaktionen selbst, und das gesamte Paket ist auf vier Millionen Gewichtseinheiten begrenzt, was in der Praxis einige Tausend Zahlungen bedeutet. Wenn es heißt, eine Zahlung sei bestätigt, ist damit gemeint, dass ein Miner sie in einen Block aufgenommen hat.
Wie er funktioniert
Ein Block hat drei Teile, und nur der erste hat eine feste Größe.
Der Header ist 80 Byte groß und ändert sich nie. Danach kommt die Anzahl der Transaktionen, geschrieben im variablen compactSize-Format von Bitcoin. Dann folgen die Transaktionen selbst, in ihrer Reihenfolge, mit einer harten Vorgabe: Die erste muss die Coinbase-Transaktion sein, also diejenige, die den Miner bezahlt. Ein Block, dessen Coinbase-Transaktion an zweiter Stelle steht, wird genauso entschieden abgelehnt wie einer mit einer gefälschten Signatur.
Die Größe wird nicht mehr in einfachen Bytes gemessen. Seit SegWit im August 2017 aktiviert wurde, liegt das Limit bei 4.000.000 Gewichtseinheiten, wobei ein Byte außerhalb des Witness vier Einheiten kostet und ein Witness-Byte eine. Daraus ergibt sich eine Obergrenze nahe 4 MB für Blöcke mit vielen Witness-Daten und etwa 1 MB für einen Block voller Transaktionen im alten Stil, während typische echte Blöcke zwischen 1,5 MB und 2 MB liegen. Die ursprüngliche Regel von 1.000.000 Byte besteht darunter als Obergrenze für den Nicht-Witness-Teil fort, weshalb die ehrliche Antwort auf die Frage, wie groß ein Block sein kann, eine Spanne und keine Zahl ist.
Alles andere wird von jedem Node unabhängig geprüft. Der Hash des Headers muss gleich oder kleiner als das Ziel sein, die Merkle-Wurzel muss zu den tatsächlich vorhandenen Transaktionen passen, kein Input darf zweimal ausgegeben werden, und der Coinbase-Output darf nicht mehr beanspruchen als die Blocksubvention plus die Gebühren der enthaltenen Transaktionen. Das Protokoll erlegt dem Miner außerdem eine Wartezeit auf: Coins, die in einem Block entstehen, können nicht ausgegeben werden, bis 100 weitere Blöcke darauf aufgebaut wurden, sodass ein Miner, dessen Block später bei einer Reorg verworfen wird, den Erlös nicht bereits ausgegeben haben kann.
Warum das beim Bitcoin-Kauf zählt
Blockplatz ist eine Auktion, und die Gebühr für Ihre Auszahlung ist ein Gebot darin.
Blöcke sind begrenzt, die Nachfrage nicht, also werden bei vollem Mempool zuerst die Transaktionen genommen, die pro virtuelles Byte am meisten zahlen, und der Rest wartet. Das ist der Mechanismus hinter jedem Support-Ticket der Art „warum hängt meine Auszahlung fest“. Vor dem Verschieben von Coins einen Gebührenschätzer zu prüfen und sie nach Möglichkeit zu einer ruhigen Stunde zu verschieben, kostet nichts und spart regelmäßig mehr als der Unterschied bei den Börsengebühren, für dessen Vergleich Sie einen ganzen Nachmittag aufgewendet haben.
Die zehn Minuten sind ein Durchschnitt, kein Fahrplan. Die Blockfindung verhält sich wie ein gedächtnisloser Zufallsprozess, sodass die Abstände stark streuen: Mehr als ein Drittel der Blöcke braucht länger als zehn Minuten, und etwa jeder zwanzigste braucht länger als eine halbe Stunde. Eine Börse, die Einzahlungen erst nach mehreren Bestätigungen gutschreibt, nennt Ihnen daher eine Verteilung und keine Lieferzeit, und eine Einzahlung, die nach zwanzig Minuten noch nicht angekommen ist, ist meistens normal und nicht verloren.
Es gibt auch einen Weg, den Blockplatz ganz zu umgehen. Lightning-Zahlungen werden Off-Chain abgewickelt und berühren einen Block nur, wenn ein Kanal geöffnet oder geschlossen wird, weshalb eine App wie Strike Werte in Sekunden bewegen kann, während eine On-Chain-Auszahlung auf den nächsten Block wartet. Diesen Kompromiss sollten Sie verstehen, bevor Sie annehmen, jede Bitcoin-Überweisung müsse eine Gebühr an einen Miner kosten.
Im Block 774.628, dem größten je geminten
Der Block 774.628, gemint vom Pool Luxor am 1. Februar 2023, ist der größte Block, den Bitcoin je produziert hat: 3,96 MB.
Er enthielt 63 Transaktionen, und eine davon machte 3,94 MB des Gesamtumfangs aus, eine Inschrift des Taproot-Wizard-Bildes, hineingepackt in einen Taproot-Witness. Der Pool koordinierte die Transaktion direkt, statt sie aus dem Mempool zu nehmen, und sie zahlte dem Block kaum etwas: etwa 0,009 BTC an Gebühren gegenüber einer Blocksubvention, die damals noch 6,25 BTC betrug. Der vorherige Rekord hatte bei 2,77 MB gelegen.
Es lohnt sich, diesen Block nachzuschlagen, weil er die Gewichtsregel in Aktion zeigt. Das alte Limit von 1 MB hätte diese Transaktion unmöglich gemacht, und das Budget von 4.000.000 Gewichtseinheiten machte sie nur möglich, weil Witness-Daten rabattiert werden. Er zeigt außerdem, dass ein einzelner Teilnehmer einen ganzen Block belegen kann, und genau darum wurde der Streit um die Blockgröße geführt.
Block vs. Block-Header
Ein Block ist das ganze Objekt; der Header ist die 80 Byte große Zusammenfassung an seinem Anfang. Die Unterscheidung ist praktisch und nicht pedantisch. Miner hashen nur den Header, Light Wallets laden nur Header herunter, und ein Node, der sich zum ersten Mal synchronisiert, lädt die Header-Kette, bevor er eine einzige Transaktion anfordert. Wenn in einem Dokument vom „Block-Hash“ die Rede ist, ist der Hash dieser 80 Byte gemeint und nicht ein Hash der darin enthaltenen Zahlungen.
Block vs. veralteter Block
Ein Block liegt auf der Kette, auf die sich das Netzwerk einigt; ein veralteter Block ist ein völlig gültiger Block, der das Rennen um diese Kette verloren hat. Zwei Miner lösen gelegentlich fast im selben Moment einen Block, das Netzwerk hält kurzzeitig zwei Kandidaten, und der Zweig, der aufhört zu wachsen, wird aufgegeben. Der verworfene Block war nicht fehlerhaft, und seine Transaktionen tauchen fast immer im nächsten wieder auf. Deshalb ist auch eine einzelne Bestätigung schwächer als sechs: Je tiefer ein Block liegt, desto unwahrscheinlicher wird es, dass ein konkurrierender Zweig ihn überholt.