¿Conseguir que bx cree una clave privada a partir de un código de cadena conocido y una clave EC WIF privada?

Estaba tratando de obtener una respuesta sólida de que realmente entendía una parte del libro Mastering Bitcoin Book sobre las billeteras HD. La siguiente imagen es la referencia para la pregunta.

Derivación de clave secundaria privada HD

Revisé la funcionalidad expuesta por un Javascript Brain Wallet . Al ingresar "123" (es un secreto muy pobre) en un campo para un brainwallet HD y surgió la siguiente clave privada extendida: xprv9s21ZrQH143K2hYgcmBxsUfRw3Kbu3eEGXFJrM8Cqtewuqa6Y6nXbB7tv9HnrBajqjptPsRjL9FmnwLa317jHWJ5dpwTc99tPRaxk P.

Al hacer clic en el botón a la derecha de la clave privada, accedí a otra página que indica que el código de cadena privada principal es 40675733fc35303c1c75bc598716f24af225528da686192ceb567c88313f8885 y la clave privada principal es L4h3ZSQ3yfFNbovQjTGumvUGEfB1a7oFAhbkhoTSwdUD8KoTSwdUD .

Dadas estas dos últimas piezas de información y un índice de 0, ¿es posible emitir un número de comandos bx y concatenar sus resultados de salida para alimentar un hash HMAC-SHA512 para llegar a la clave WIF privada de KwMsDozFYQG7SZFwfvFRwWDhfuMJjkE669WxP6SqrpDPsCBrPV4p dirección pública 15jbcT7wE81s8n2dbEGRFGfj65xzh ? Si es así, ¿cómo se logra esto o es necesario complementar bx con algún otro comando que represente la funcionalidad HMAC-SHA512?

% echo "L4h3ZSQ3yfFNbovQjTGumvUGEfB1a7oFAhbkhMMFGsdDKoTSwwU8" | bx wifi a ec deec675df1bc1d395c6098ee63eacb45036fad781717548f4b8cc00709f5d834
% echo "L4h3ZSQ3yfFNbovQjTGumvUGEfB1a7oFAhbkhMMFGsdDKoTSwwU8" | bx wif-to-ec | bx ec-a-público 02430aca0779d7ca52441ee9de2f7b73408ee8229d6c2e42a5c81b65028efc803f

Respuestas (1)

No hay necesidad de un programa externo en absoluto:

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

O, debido a que esto no está reforzado, puede usar la clave pública extendida:

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