121 / 691IBD

Initialer Blockdownload

IBD ist die erste Synchronisierung eines neuen Knotens mit der Bitcoin-Geschichte. Dazu gehören Datenbeschaffung, Blockprüfung und Aufbau des Zustands unverbrauchter Ausgänge, über reinen Dateitransfer hinaus.

IBD ist mehr als ein Dateidownload. Ein Full Node baut aus der Geschichte einen geprüften UTXO-Bestand auf; alte Skriptprüfungen hängen auch von assumevalid ab.

Der Knoten findet Peer-Adressen und synchronisiert Header. Ein Header verknüpft Geschichte und enthält Proof of Work, beweist aber allein nicht die Gültigkeit aller Transaktionen im Block. [Bitcoin Developer Guide — Initial Block Download] [Satoshi Nakamoto — Bitcoin whitepaper]

Kumulierte Arbeit bestimmt einen zu prüfenden Zweig. Weder die größte Header-Anzahl noch eine Peer-Behauptung ersetzt Arbeit und vollständige Blockprüfungen. [Bitcoin Developer Guide — Initial Block Download] [Bitcoin Core — validation] [Satoshi Nakamoto — Bitcoin whitepaper]

Blöcke können parallel von mehreren Peers geladen werden. Ihre Anbindung an die gültige Kette berücksichtigt den vorherigen Zustand: Ausgänge lassen sich ohne nötige Geschichte nicht prüfen. [Bitcoin Developer Guide — Initial Block Download] [Bitcoin Core — validation]

Ein Full Node prüft unter anderem Struktur, Merkle root, Ausgaberegeln und Emissionsgrenzen. Konsensregeln gelten gemäß Höhe und Aktivierungen; Header sind keine vollständige Validierung. [Bitcoin Core — validation] [Bitcoin Core — chainstate]

Beim Anbinden verschwinden verbrauchte Ausgänge und neue UTXO kommen hinzu. Die Datenbank beschreibt aktuelle Ausgabemöglichkeiten, nicht sämtliche historischen Transaktionen oder Kontostände von Adressen. [Bitcoin Core — validation] [Bitcoin Core — chainstate]

Unter Bedingungen ausreichend tiefer bekannter Geschichte kann assumevalid alte Skriptprüfungen auslassen. Beliebige Geschichte wird damit nicht ungeprüft akzeptiert; assumevalid=0 deaktiviert die Optimierung. [Bitcoin Core — validation]

Pruning entfernt alte Blockdateien nach Verarbeitung und behält UTXO-Bestand und nötige Metadaten. Es spart dauerhaften Speicher, nicht Beschaffung und Verarbeitung der Geschichte beim gewöhnlichen IBD. [Bitcoin Core — validation] [Bitcoin Core — chainstate]

Bitcoin Core v29.0 nutzt Spitzenalter, Mindestarbeit und Ladestatus; nach Abschluss wird das Kennzeichen im selben Prozess nicht wieder true. Es ist eine Betriebsheuristik, kein Beweis der neuesten globalen Spitze. [Bitcoin Core — validation] [Bitcoin Core — getblockchaininfo]

Die Dauer hängt von CPU, Speicher, Datenträger, Netz und Peers ab. verificationprogress aus getblockchaininfo schätzt Prüfaufwand, weder einen verbindlichen Abschlusszeitpunkt noch bloß den Anteil geladener Bytes. [Bitcoin Developer Guide — Initial Block Download] [Bitcoin Core — getblockchaininfo]

AssumeUTXO kann einen unterstützten UTXO-Snapshot für früheren Betrieb an der Spitze nutzen. Die Geschichte wird im Hintergrund geprüft und mit dem Snapshot verglichen; frühere Nutzbarkeit ist keine abgeschlossene historische Validierung. [Bitcoin Core — validation] [Bitcoin Core — AssumeUTXO design]

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Pruned Node, AssumeUTXO, Blockausbreitung, Compact-Block-Relay. Auf diesen Eintrag verweisen außerdem Pruned Node, AssumeUTXO.

DOC · 001Bitcoin Developer Guide — Initial Block DownloadDokumentationDOC · 002Bitcoin Core — validationDokumentationDOC · 003Bitcoin Core — chainstateDokumentationDOC · 004Bitcoin Core — AssumeUTXO designDokumentationDOC · 005Bitcoin Core — getblockchaininfoDokumentationDOC · 006Satoshi Nakamoto — Bitcoin whitepaperPrimärquelle
Quellenbasiert · Keine Anlageberatung