Was ist der Unterschied zwischen synced_blocks und synced_headers?

Mein P2P ist ein bisschen rostig, aber soweit ich verstehe; Wenn wir einen vollständigen Knoten ausführen, verbinden sich andere Knoten mit uns, um Blöcke zu teilen. Ich kann also sehen, warum es nützlich wäre, mit dem getpeerinfoBefehl sehen zu können, wie weit die Blockchains anderer Knoten hinterherhinken.

Was ist jedoch der praktische Unterschied zwischen synced_headersund synced_blocks?

Was bedeutet es zum Beispiel, wenn ein Peer die synced_headersgleiche Höhe wie unsere eigene Blockchain hat, aber eine synced_blocksvon -1 ?

Antworten (1)

Bitcoin-Clients können Header haben, ohne Blöcke zu haben. (Bitcoin Core hat jedoch niemals einen Block ohne Header.)


A synced_blocksvon -1 bedeutet, dass der beste Block für den anderen Knoten unbekannt ist.

synced_blocksist hier eingestellt:

https://github.com/bitcoin/bitcoin/blob/b3e42b6d02e8d19658a9135e427ebceab5367779/src/main.cpp#L557

stats.nCommonHeight = state->pindexLastCommonBlock ? state->pindexLastCommonBlock->nHeight : -1;

A synced_headersvon -1 bedeutet, dass der beste Header für den anderen Knoten unbekannt ist.

synced_headersist hier eingestellt:

https://github.com/bitcoin/bitcoin/blob/b3e42b6d02e8d19658a9135e427ebceab5367779/src/main.cpp#L556

stats.nSyncHeight = state->pindexBestKnownBlock ? state->pindexBestKnownBlock->nHeight : -1;
Nochmals vielen Dank, Nick. Wäre es also richtig zu sagen, dass, wenn nCommonHeight -1 ist, der andere Knoten nicht versucht, Blockdaten mit unserem Knoten zu senden oder zu empfangen?
@inersha Ich denke schon, ja.