¿Una clave privada genera muchas claves públicas?

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.

¿Está importando claves privadas a la billetera electrum con la frase inicial?
No. Seleccioné "Usar claves públicas o privadas", luego pegué solo la clave privada.

Respuestas (2)

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.

En esta billetera de BitPay se utiliza la estrategia de derivación: BIP44 y el tipo de dirección: P2PKH.

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?

"Creo que bitpay solo tiene una función para extraer una clave privada extendida" ¡Buena captura!