SPV-Clients und vollständige Knoten

Angenommen, ein SPV-Client geht bei Block X offline (was bedeutet, dass er Blockheader bis Block X hat) und kommt dann wieder online, wenn sich die Blockchain bei Block Y befindet. An diesem Punkt muss er sein UTXO-Set neu synchronisieren. Es macht also Folgendes: (1) Holen der Blockheader der Blöcke X bis Y; (2) einen Bloom-Filter für seine Adressen konstruieren und einen vollständigen Knoten auffordern, alle Transaktionen, die diesem Bloom-Filter entsprechen, von Block X zu Y zu senden; (3) der vollständige Knoten tut dies und sendet, wenn eine Übereinstimmung gefunden wird, die Transaktionsdaten zusammen mit einem Merkle-Proof an den SPV-Client; (4) Der SPV-Client verifiziert den Nachweis und aktualisiert seinen UTXO-Satz entsprechend, wenn er korrekt ist.

Passieren die Dinge tatsächlich so?

Wenn ja, dann ist meine Frage, warum der vollständige Knoten nicht einfach Folgendes tun kann: (1) sein UTXO-Set an den SPV-Client senden; (2) Der SPV-Client filtert dann die UTXOs seines Interesses und fügt diese UTXOs in seinen eigenen UTXO-Satz ein.

Wird diese Methode nicht befolgt, weil sie keine Überprüfung durch den SPV-Client beinhaltet und der vollständige Knoten dem SPV-Client ein völlig falsches UTXO-Set geben kann?

Willkommen bei Bitcoin.stackexchange. Im Allgemeinen ist es am besten, eine Frage nach der anderen zu stellen. Je mehr Fragen Sie gleichzeitig stellen, desto unwahrscheinlicher ist es, dass jemand versucht, sie zu beantworten. Ich könnte Teile davon beantworten, aber ich werde es nicht tun, weil ich mir bei anderen Teilen unsicher bin und keine Teilantwort schreiben möchte. Sehen Sie sich die Hilfe an und erfahren Sie, wie ich eine gute Frage stelle

Antworten (1)

Passieren die Dinge tatsächlich so?

Ja

Wenn ja, dann ist meine Frage, warum der vollständige Knoten nicht einfach Folgendes tun kann: (1) sein UTXO-Set an den SPV-Client senden; (2) Der SPV-Client filtert dann die UTXOs seines Interesses und fügt diese UTXOs in seinen eigenen UTXO-Satz ein.

Das UTXO-Set ist groß und ein Beweis für jedes UTXO wäre erforderlich. Nachweise für jeden UTXO wären teuer zu erstellen, und eine extrem große Menge unnötiger Daten würde über die Leitung gesendet, wodurch Netzwerkbandbreite verbraucht würde, die an anderer Stelle besser genutzt werden könnte.