Glossar / Nodes und Software
Initial Block Download
Auch bekannt als IBD.
- Was ist der Initial Block Download?
- Der Initial Block Download ist die Aufholphase, die ein neuer Bitcoin-Node durchläuft, in der er jeden Block vom Genesis-Block bis zur aktuellen Spitze abruft und prüft.
Das ist der einzige wirklich langsame Teil beim Betrieb eines eigenen Nodes, und er tritt einmal auf. Der Node hat Stand August 2026 759 GB Historie zu sammeln und zu prüfen, was auf einer schnellen Maschine mit Solid-State-Festplatte Stunden dauert und auf einer schwachen Maschine Tage. Bitcoin Core weiß, dass er fertig ist, wenn seine Spitze weniger als 24 Stunden alt ist und die Blockchain, die er hält, genügend aufgelaufene Arbeit trägt.
Wie es funktioniert
Beim Initial Block Download werden bewusst die günstigsten Belege zuerst geladen.
Header kommen zuerst. Seit Version 0.10.0, veröffentlicht am 16. Februar 2015, fragt Bitcoin Core Peers nach der Kette aus 80 Byte großen Block-Headern, bevor er irgendwelche Blockkörper anfordert. Die Prüfung dieser Header geht schnell, sie stellt fest, welche Kette den meisten Proof of Work hat, und die Software weiß dadurch im Voraus, wie viele Blöcke sie sucht. Anschließend können Blöcke von mehreren Peers parallel statt einzeln angefordert werden, und das ist der Unterschied zwischen einer Synchronisierung, die in Stunden gemessen wird, und einer, die in Wochen gemessen wird.
Die Prüfung der Signaturen ist der teure Teil, deshalb gibt es eine Abkürzung mit einem Schalter. Bitcoin Core 0.14.0 führte eine Einstellung ein, die einen bestimmten historischen Block benennt, der nach Prüfung fest in jede Version einprogrammiert wird, und die die Prüfung der Skript-Signaturen für alles überspringt, was darunter begraben liegt. Jede andere Regel gilt weiterhin: Beträge, Doppelausgaben, Blockbelohnungen, Merkle-Wurzeln, Proof of Work. Setzen Sie die Option auf null, prüft der Node jede Signatur seit 2009, was einmal sinnvoll ist, wenn Sie sich überhaupt auf nichts verlassen wollen.
Es gibt jetzt eine Möglichkeit, schon vor dem Abschluss nützlich zu sein. Bitcoin Core 28.0 lieferte Parameter zum Laden eines Schnappschusses des Bestands nicht ausgegebener Outputs, der auf Blockhöhe 840.000 aufgenommen wurde, wodurch ein Node Ihre Wallet innerhalb von Minuten bedienen kann, während er im Hintergrund still die frühere Historie neu aufbaut. Wenn die Hintergrund-Synchronisierung die Höhe des Schnappschusses erreicht, vergleicht sie ihren selbst berechneten Hash mit dem in der Version; bei einer Abweichung fährt der Node herunter.
Der Arbeitsspeicher ist der Hebel, den die meisten nie umlegen. Der Datenbank-Cache ist standardmäßig 450 Mebibyte groß, und ihn auf einer Maschine mit freier Kapazität auf mehrere Gigabyte zu erhöhen, hält den Bestand nicht ausgegebener Outputs im RAM, statt die Festplatte zu überlasten, und spart Stunden von der Gesamtdauer.
Wo Sie es sehen
Sie begegnen dem Initial Block Download beim ersten Start von Bitcoin Core und erneut, nachdem ein Node monatelang ausgeschaltet war.
Die Oberfläche teilt Ihnen mit, dass sie Header synchronisiert, und meldet dann, wie viele Wochen sie zurückliegt, und die Schätzung ist am Anfang unzuverlässig, weil Blöcke aus 2011 winzig sind und Blöcke aus dem letzten Jahr nicht. Der Fortschritt ist nicht linear, und ein Node, der bei 60 Prozent festzustecken scheint, arbeitet meist die schwersten Jahre der Blockchain durch.
Drei praktische Regeln decken fast alles ab, was schiefgeht. Verwenden Sie eine Solid-State-Festplatte, denn eine mechanische Festplatte macht aus einer Aufgabe von einem Tag eine von einer Woche. Geben Sie dem Prozess Bandbreite und eine stabile Verbindung, da das gesamte Archiv ankommen muss. Und schließen Sie keine Wallet an und geraten Sie nicht wegen eines fehlenden Guthabens in Panik, bevor die Synchronisierung tatsächlich abgeschlossen ist, denn ein teilweise synchronisierter Node hat keine Meinung zu Coins in Blöcken, die er noch nicht erreicht hat.
Initial Block Download vs. Blocks-First-Synchronisierung
Der Initial Block Download ist das Ziel; die Blocks-First-Synchronisierung war eine überholte Methode, es zu erreichen. Der Unterschied ist wichtig beim Lesen älterer Dokumentation, die beide oft so beschreibt, als wären sie dasselbe. Jeder Node, der aufholt, führt einen Initial Block Download durch, egal ob er Blöcke sequenziell von einem einzelnen Peer anfordert, zuerst Header lädt und dann Körper von vielen Peers gleichzeitig zieht oder einen Schnappschuss lädt und die frühere Historie nachfüllt. Die Phase hat einen Namen, weil ihre Leistungsmerkmale und ihre Angriffsfläche sich vom Dauerbetrieb unterscheiden, nicht weil sie eine Methode vorschreibt.