bx dazu bringen, einen privaten Schlüssel aus einem bekannten Kettencode und einem privaten EC-WIF-Schlüssel zu erstellen?

Ich habe versucht, ein starkes Feedback zu erhalten, dass ich einen Teil des Mastering Bitcoin Book in Bezug auf HD-Wallets wirklich verstanden habe. Das folgende Bild ist die Referenz für die Frage.

Ableitung privater untergeordneter HD-Schlüssel

Ich habe mir die Funktionalität einer Javascript Brain Wallet angesehen . Durch Eingabe von „123“ (ist ein sehr schlechtes Geheimnis) in ein Feld für ein HD-Brainwallet und der folgende erweiterte private Schlüssel kam heraus: xprv9s21ZrQH143K2hYgcmBxsUfRw3Kbu3eEGXFJrM8Cqtewuqa6Y6nXbB7tv9HnrBajqjptPsRjL9FmnwLa317jHWJ5dpwTc99C2AiPztPRaxk .

Durch Klicken auf die Schaltfläche rechts neben dem privaten Schlüssel gelangte ich zu einer anderen Seite, auf der angegeben ist, dass der Master Private Chain Code 40675733fc35303c1c75bc598716f24af225528da686192ceb567c88313f8885 und der Master Private Key L4h3ZSQ3yfFNbovQjTGumvUGEfB1a7oFAhbkhTSMMFGwDKo .

Ist es angesichts dieser letzten beiden Informationen und eines Index von 0 möglich, eine Reihe von bx-Befehlen auszugeben und ihre Ausgabeergebnisse zu verketten, um einen HMAC-SHA512-Hash zu füttern, um zum privaten WIF-Schlüssel von KwMsDozFYQG7SZFwfvFRwWDhfuMJjkE669WxP6SqrpDPsCBrPV4p öffentliche Adresse 15jbcT7wE81s8n2dbEGRFGf65zp zu gelangen ? Wenn ja, wie wird dies erreicht oder muss bx durch einen anderen Befehl ergänzt werden, der die HMAC-SHA512-Funktionalität wiedergibt?

% echo "L4h3ZSQ3yfFNbovQjTGumvUGEfB1a7oFAhbkhMMFGsdDKoTSwwU8" | bx wif-to-ec deec675df1bc1d395c6098ee63eacb45036fad781717548f4b8cc00709f5d834
% echo "L4h3ZSQ3yfFNbovQjTGumvUGEfB1a7oFAhbkhMMFGsdDKoTSwwU8" | bx wif-zu-ec | bx ec-to-public 02430aca0779d7ca52441ee9de2f7b73408ee8229d6c2e42a5c81b65028efc803f

Antworten (1)

Ganz ohne externes Programm:

$ KEY=xprv9s21ZrQH143K2hYgcmBxsUfRw3Kbu3eEGXFJrM8Cqtewuqa6Y6nXbB7tv9HnrBajqjptPsRjL9FmnwLa317jHWJ5dpwTc99C2AiPztPRaxk
$ echo $KEY | bx hd-public -i 0 | bx hd-to-address
15jbcT7wE81s8n2dbEGRFGf65zp7PHrjxh

Da dies nicht gehärtet ist, können Sie auch den erweiterten öffentlichen Schlüssel verwenden:

$ KEY=xpub661MyMwAqRbcFBd9iniyEccAV5A6JWN5dkAuejXpQEBvnduF5e6n8ySNmP8uWeqNbwFXLHEQkV1shXbNtBV8YCUJPMSuE7bGCvDaZJfUBuP
$ echo $KEY | bx hd-public -i 0 | bx hd-to-address
15jbcT7wE81s8n2dbEGRFGf65zp7PHrjxh
Allerbeste...