¿Puedo usar la raíz para crear múltiples direcciones BIP32, para gastar transacciones que pertenecen a estas múltiples direcciones BIP32?

Quiero aceptar BTC de diferentes clientes durante una ICO, para esto planeo usar una combinación de BIP32 y BIP39.

var bip39 = require("bip39");
var bitcoin = require("bitcoinjs-lib");

var mnemonic = 'praise you muffin lion enable neck grocery crumble super myself license ghost';
var seed = bip39.mnemonicToSeed(mnemonic);
var root = bitcoin.HDNode.fromSeedBuffer(seed);

console.log(root.derivePath("m/0'/0/0").getAddress());
//'1AVQHbGuES57wD68AJi7Gcobc3RZrfYWTC'
console.log(root.derivePath("m/0'/0/1").getAddress());
//'1Ad6nsmqDzbQo5a822C9bkvAfrYv9mc1JL'

¿Puedo usar este mnemotécnico para iniciar sesión en alguna billetera preexistente y transferir los fondos enviados a las direcciones generadas usando la raíz para transferir fondos a cualquier otra billetera BTC? ¿O alguien puede sugerir una mejor estrategia?

Respuestas (1)

Se puede usar una clave privada extendida maestra BIP32 para derivar direcciones secundarias, pero para gastar las monedas enviadas a esas direcciones secundarias, necesitará la clave privada de cada dirección individual. La clave maestra xpriv no puede gastar las monedas ubicadas en una de sus direcciones secundarias.

Recuerde que una dirección derivada a través de BIP32 es indistinguible de cualquier otra dirección. Para que una transacción que gaste el saldo de cualquier dirección sea válida, debe estar firmada por la clave privada de esa dirección.

Dicho esto, un buen software de billetera se encargará de la administración de claves en segundo plano por usted, por lo que, siempre que el esquema de derivación sea correcto, debería poder gastar los fondos enviados a las direcciones derivadas de su llave maestra xpriv utilizando una billetera compatible con BIP32 y 39 . Nuevamente, esto se hará derivando las direcciones secundarias y usando sus claves privadas para firmar transacciones.

¿Puedes sugerir alguna billetera bonita?
¿ Será suficiente Electrum ( electrum.org/#home )?