Author

Topic: DUDAS SOBRE MONEDERO DE Btcoin-qt y creacion de un Paper Wallet (Read 1151 times)

sr. member
Activity: 252
Merit: 250

* El otro formato "comprimido" es: "0x80" | clave privada hex. (32 bytes) | "0x01" (?) | 4 bytes (no sé de donde salen, distintos al anterior) y todo ello tomado en base58 (total, 52 caracteres).

A ver si encuentro una explicación por ahí...

Vale, ya lo tengo:

* El otro formato "comprimido" es: "0x80" | clave privada hex. (32 bytes) | "0x01" | 4 bytes (SHA256d de lo anterior) y todo ello tomado en base58 (total, 52 caracteres).
legendary
Activity: 1974
Merit: 1030
Vale, ya veo. Pero sigo sin entender el formato de clave privada "comprimido", que es más largo (52 caracteres) que el normal (51 caracteres).

No me vale la explicación (incompleta) de que viene de la clave pública comprimida... eso es muuuy confuso.

Sí, la verdad es que no es precisamente lo más intuitivo del mundo. Fíjate que usé comillas en mi mensaje porque no es que las claves privadas "comprimidas" estén realmente comprimidas. Simplemente hay que conocer la terminología y saber a qué se refiere cada cosa.

sipa lo deja claro aquí: https://bitcointalksearch.org/topic/m.1384929
sr. member
Activity: 252
Merit: 250
Las claves privadas (formato WIF "Wallet Import Format") empiezan 5 y a continuación una de estas tres letras: H, J o K.

Las claves privadas "comprimidas" para importar empiezan por K o L. La clave privada 2100DB5080EC709E0E015D669808111DE6F5E9C0E8425F126DCE4DC1CD8F5206 se puede expresar en formato WIF de dos maneras: la normal de toda la vida (5J4pcCZAZXPQiQAwatHeTFn9C28EFW1P87wuabwEEn1dJtamHPc) y comprimida (KxKs8MzyCZ7ufjGsvZNUJtEF9dxuV12geRfM5KCMRofmFXWhbuVr). Míralo en bitaddress.org.

Edito: para comprobarlo, he intentado importar la clave KxKs8… y no he tenido problemas. Las dos están en formato WIF, simplemente una de ellas está asociada a una clave pública descomprimida (65 bytes si no me equivoco) y la otra está asociada a una clave pública comprimida (33 bytes). Esto acaba derivando en direcciones de bitcoin distintas, dicho sea de paso.

Vale, ya veo. Pero sigo sin entender el formato de clave privada "comprimido", que es más largo (52 caracteres) que el normal (51 caracteres).

No me vale la explicación (incompleta) de que viene de la clave pública comprimida... eso es muuuy confuso. En primer lugar las claves privadas NUNCA se derivan de una clave pública. Es todo lo contrario: dada una clave privada uno obtiene la clave pública (que son dos coordenadas, X e Y) , que puede expresarse de forma normal [X|Y] o de forma comprimida [c|X], porque sabiendo X se sabe automáticamente Y salvo un signo (que lo da el código "c").

Por lo que he deducido:

* El formato WIF es: "0x80" | clave privada hex. (32 bytes) | checksum (SHA256d, 4 bytes) y todo ello tomado en base58 (total, 51 caracteres).
* El otro formato "comprimido" es: "0x80" | clave privada hex. (32 bytes) | "0x01" (?) | 4 bytes (no sé de donde salen, distintos al anterior) y todo ello tomado en base58 (total, 52 caracteres).

A ver si encuentro una explicación por ahí...
legendary
Activity: 1974
Merit: 1030
Las claves privadas (formato WIF "Wallet Import Format") empiezan 5 y a continuación una de estas tres letras: H, J o K.

Las claves privadas "comprimidas" para importar empiezan por K o L. La clave privada 2100DB5080EC709E0E015D669808111DE6F5E9C0E8425F126DCE4DC1CD8F5206 se puede expresar en formato WIF de dos maneras: la normal de toda la vida (5J4pcCZAZXPQiQAwatHeTFn9C28EFW1P87wuabwEEn1dJtamHPc) y comprimida (KxKs8MzyCZ7ufjGsvZNUJtEF9dxuV12geRfM5KCMRofmFXWhbuVr). Míralo en bitaddress.org.

Edito: para comprobarlo, he intentado importar la clave KxKs8… y no he tenido problemas. Las dos están en formato WIF, simplemente una de ellas está asociada a una clave pública descomprimida (65 bytes si no me equivoco) y la otra está asociada a una clave pública comprimida (33 bytes). Esto acaba derivando en direcciones de bitcoin distintas, dicho sea de paso.
sr. member
Activity: 252
Merit: 250
obtendría mi clave privada que se supone debería empezar por "5" si entendi bien.  Concretamente empieza por "Kxx", ¿he hecho algo mal?

No. Originalmente las claves privadas, es cierto, empezaban todas por 5. Sin embargo más tarde los desarrolladores descubrieron que podían gestionar las claves públicas de manera distinta (comprimidas) y desde entonces, algunas claves privadas empiezan por K o L. No te preocupes mucho, simplemente las claves privadas empiezan por 5, K o L. Repito, para visibilidad general:

Las claves privadas empiezan por 5, K o L.

Las claves privadas (formato WIF "Wallet Import Format") empiezan 5 y a continuación una de estas tres letras: H, J o K.

La Wiki de bitcoin contiene un párrafo confuso que es lo que está dando lugar a este lío: For private keys associated with uncompressed public keys, they are 51 characters and always start with the number 5. Private keys associated with compressed public keys are 52 characters and start with a capital L or K. This is the same private key in wallet import format.

Es decir, existe otro formato de clave privada que no es WIF (ni mini-clave), con el cuál la clave sí que empieza por K o L y además tiene 52 caracteres en lugar de 51 de WIF. Pero no explica en qué consiste.
legendary
Activity: 1974
Merit: 1030
obtendría mi clave privada que se supone debería empezar por "5" si entendi bien.  Concretamente empieza por "Kxx", ¿he hecho algo mal?

No. Originalmente las claves privadas, es cierto, empezaban todas por 5. Sin embargo más tarde los desarrolladores descubrieron que podían gestionar las claves públicas de manera distinta (comprimidas) y desde entonces, algunas claves privadas empiezan por K o L. No te preocupes mucho, simplemente las claves privadas empiezan por 5, K o L. Repito, para visibilidad general:

Las claves privadas empiezan por 5, K o L.
member
Activity: 70
Merit: 10
Hola nuevamente.

Mi primer monedero de BTC es el que se creó al instalar por primera vez el Btcoin-qt, así como la dirección pública.  Lo primero que hice fue cifrarlo (configuración -> cifrar monedero) y definir una clave.  Hasta ahi todo correcto, he recibido en él algún micropago y sin problemas.

La cuestión es, siguiendo los pasos que han expuesto aqui para crear un Paper Wallet (Ayuda -> Venana de Depuración -> Consola),  con el comando "walletpassphrase miclave 60", y "dumpprivkey midirecciónpublica" obtendría mi clave privada que se supone debería empezar por "5" si entendi bien.  Concretamente empieza por "Kxx", ¿he hecho algo mal?

Además me pasa otra cosa que no alcanzo a entender, cuando hago un envío de BTC's del monedero Btcoin-qt a otra dirección pública, no me pregunta por mi clave privada sino por la que usé para cifrar el monedero.  Y bueno ya aqui me desconcierta un poco, si se supone que hay que firmar con la clave privada los envios a otros monederos...

Gracias de antemano.

P.D. Añado una pregunta posiblemente estúpida, ¿cuando en Btcoin-qt hablan de 'cifrado del monedero', esa clave de cifrado pasa a ser la clave privada para enviar BTC's?. Gracias Smiley

Un monedero es en realidad un conjunto de pares público privados con este aspecto:

"1242XphEGasaJsM9hJPicZkZPKzF4H6oBX","5Jv83xoFvRfBWC3uJLxzV5ctS4kjaH3rBRZwWzymE1WA1i2B4bb"

Tu monedero puede contener muchas de estas. La clave privada es necesaria para gastar btcs. Cuando encriptas tu cartera tu cliente cifra todas esas claves privadas usando la contraseña que tu le pases. Después, para gastar esos btcs tendrás que darle a tu cliente la contraseña para desencriptarlas. La clave privada no se usa directamente, el cliente se encargará de usarla por tí.

Los pasos que describes sirven para mostrar, de las direcciones de tu cartera, la clave privada que está guardada. Así puedes imprimirla o guardarla en un usb, o lo que sea. Es importante destacar que todo este proceso no vale de nada si no usas un SO limpio que nunca se haya conectado a internet. Un usb con ubuntu en un pc offline por ejemplo.

El proceso de gestionar una cartera offline es un poco engorroso. Te recomiendo armory como cliente pues facilita mucho esta operación.
full member
Activity: 142
Merit: 100
Hola nuevamente.

Mi primer monedero de BTC es el que se creó al instalar por primera vez el Btcoin-qt, así como la dirección pública.  Lo primero que hice fue cifrarlo (configuración -> cifrar monedero) y definir una clave.  Hasta ahi todo correcto, he recibido en él algún micropago y sin problemas.

La cuestión es, siguiendo los pasos que han expuesto aqui para crear un Paper Wallet (Ayuda -> Ventana de Depuración -> Consola),  con el comando "walletpassphrase miclave 60", y "dumpprivkey midirecciónpublica" obtendría mi clave privada que se supone debería empezar por "5" si entendi bien.  Concretamente empieza por "Kxx", ¿he hecho algo mal?

Además me pasa otra cosa que no alcanzo a entender, cuando hago un envío de BTC's del monedero Btcoin-qt a otra dirección pública, no me pregunta por mi clave privada sino por la que usé para cifrar el monedero.  Y bueno ya aqui me desconcierta un poco, si se supone que hay que firmar con la clave privada los envios a otros monederos...

Gracias de antemano.

P.D. Añado una pregunta posiblemente estúpida, ¿cuando en Btcoin-qt hablan de 'cifrado del monedero', esa clave de cifrado pasa a ser la clave privada para enviar BTC's?. Gracias Smiley
Jump to: