Wert des geheimen Schlüssels für Dezimalversionen über 127

Nachdem ich die Seite mit den Adresspräfixen im Wiki durchgesehen habe, habe ich festgestellt, dass in Bitcoin und anderen Altcoins der Header des geheimen Schlüssels / des gedumpten privaten Schlüssels immer die Dezimalversion + 128 ist. Mit einer Dezimalversion von 0 erhalten Sie also eine reguläre Bitcoin-Adresse Beginnen Sie mit 1, indem Sie 128 hinzufügen, finden Sie den privaten Schlüssel, der je nach Komprimierungsstatus mit 5 / L / K beginnt.

Ein weiteres Beispiel wäre die Dezimalversion von Litecoin, die 48 ist, während die Geheimschlüsselversion 48 + 128 (176) ist.

Die Frage ist also: Was ist mit Dezimalversionen zwischen 128 und 255? Ich kann mir vorstellen, dass dies auf zwei Arten geht.

  • Anstatt 128 zu addieren, subtrahieren Sie 128. Für die Dezimalversion 128 erhalten Sie also einen geheimen Schlüssel von 0.
  • Ab 128 wird auf 255 aufgerundet.

Ich habe das Wiki durchgesehen und konnte keinen Grund finden, warum der Header des geheimen Schlüssels 128 größer ist als der Header des öffentlichen Schlüssels. Ein Beispiel, das meinen beiden obigen Punkten widerspricht, wäre Unobtanium Coin , dessen Header des öffentlichen Schlüssels 130 ist , während der geheime Schlüssel 224 ist (94 Differenz).

Hat es überhaupt einen Sinn, dass die Header des geheimen Schlüssels und des öffentlichen Schlüssels so weit voneinander entfernt sind? Oder ist es in Ordnung, wenn die Header von Anfang an unterschiedlich sind, nicht unbedingt 128 voneinander entfernt?

Antworten (1)

Der Grund ist historisch.

Das 'Version'-Byte war ursprünglich wirklich nur eine Versionsnummer. Satoshi beabsichtigte wahrscheinlich, mehr Arten von Standardskripten für Adressen einzuführen. Es gab sogar Kommentare im Code zum Aktualisieren einer Adresse von einer Version auf eine neue.

Um die Optionen für zukünftige Versionen nicht einzuschränken, habe ich mich in dieser Vision dafür entschieden, den privaten Schlüssel nur auf das höchste Bit zu setzen, sodass immer noch 127 mögliche zukünftige Versionen übrig bleiben.

Es wurde nur eine neue Version eingeführt (P2SH), und da es so leistungsfähig ist (es kann jedes Skript indirekt codieren), sind nie andere Versionen erschienen.

Die kurze Antwort lautet also: Es spielt überhaupt keine Rolle.