Creé billetera en BitPay. Tengo claves públicas y privadas.
Luego creé la billetera en Electrum usando la clave privada existente.
Ahora la billetera en electrum tiene otra clave pública que en BitPay pero la misma clave privada.
¿Está bien? ¿Las direcciones generadas en una aplicación pueden ser visibles en la segunda? ¿Dónde puedo leer acerca de las reglas de generación de claves y direcciones descritas en palabras simples?
Generé la billetera en electrum usando la misma clave privada la segunda vez y obtuve la misma clave pública que la última vez que generé en electrum, pero no la misma que en la billetera BitPay. No entiendo porque.
De acuerdo con Bip32 - Bip44 - Bip49 (Segwit) Puede generar muchas claves públicas usando una clave pública/privada maestra.
No sé qué ruta de derivación usa Bitpay, pero Electrum usa la ruta 44 para las direcciones de bitcoin heredadas y 49 para las direcciones de Segwit.
Como respuesta de @pebwindkraft, Bitpay puede proporcionarle una clave privada extendida, por lo que generar el progreso de la dirección se convierte en electrum cuando proporciona la clave privada extendida de Bip44:
Clave extendida Bip44 -> Clave extendida Bip44 -> Claves públicas -> índice
en lugar de:
Clave privada maestra -> Clave extendida Bip44 -> Claves públicas -> índice
¿Las direcciones generadas en una aplicación pueden ser visibles en la segunda? Sí, si están utilizando la misma ruta de derivación.
Sus transacciones de Bitpay deberían aparecer en Electrum.
¿Dónde puedo leer acerca de las reglas de generación de claves y direcciones descritas en palabras simples? Protocolo de mejora de Bitcoin 44
Mastering Bitcoin Book es útil.
Una clave privada puede generar dos direcciones de bitcoin diferentes. Eso depende de la lógica ECDSA y los esquemas de codificación utilizados. Probablemente haya oído hablar de claves comprimidas y no comprimidas. Los detalles son profundos bajo el capó y requieren algo de lectura, por ejemplo, el libro de Andreas "Mastering Bitcoin" (2ª edición), que está disponible en línea . Los capítulos 4 y 5 son los relevantes.
No estoy seguro de cómo bitpay crea sus claves, pero ya he importado claves privadas a Electrum también. Mientras trabajaba con claves comprimidas en mi billetera de origen, Electrum mostró lo mismo. Sin embargo, esto se vuelve diferente cuando extrae claves de billeteras bip39/44. Al mirar su sitio web, creo que bitpay solo tiene una función para extraer una clave privada extendida, que sin duda es diferente de una "clave privada estándar". Una clave privada extendida se usa en billeteras HD para generar un conjunto de claves xpub, que se pueden usar, por ejemplo, en sitios web, para evitar la reutilización de claves. Y dependiendo de cómo se implemente la semilla, las billeteras no siempre son compatibles entre sí. Este podría ser el caso, por qué ves diferentes direcciones. Electrum usa [m/44'/0'/a'] como ruta xpriv para la derivación. Pero tal vez haya una manera, busca a samuelt33'página web aquí .
En privkeys y pubkeys estándar, hay un hilo más largo aquí: ¿ Cómo se generan las PubKeys comprimidas?
Filidor
Daniel