¿Es posible obtener la clave pública de una dirección de bitcoin para la que no tengo las claves privadas con el cliente estándar?

Es posible obtenerlo desde aquí: https://blockchain.info/de/q/pubkeyaddr https://blockchain.info/q

¿Es posible con el cliente estándar? ¿Cómo?

Soy consciente de que la cadena de bloques solo contiene la clave pública después de un tx de esa dirección.

Respuestas (3)

Es imposible calcular la clave pública de una dirección, ya que la dirección se calcula a partir del hash de la clave pública. Puede recuperar la clave pública de la dirección con el cliente de referencia mediante la validateaddressllamada RPC (o en la ventana de depuración de Bitcoin-Qt), pero eso simplemente la obtiene de la billetera y solo funciona si la dirección le pertenece.

Actualización: debe usar getaddressinfoahora en lugar de validateaddress.

Me gustaría encriptar mensajes abusando de las claves de firma de bitcoin/namecoin como claves de encriptación. consulte: bitcointalk.org/index.php?topic=145098 Soy consciente de que puede haber riesgos periféricos al usar las mismas claves para la firma y el cifrado.
Para elaborar, una clave pública tiene una longitud de 33 bytes, mientras que una dirección es un hash de 20 bytes de la clave pública. Debido a que la información es más pequeña, es imposible calcular la clave pública correcta a partir de una dirección.
¿No necesito la clave de pub completa para una dirección que NO poseo al crear una nueva dirección multisig con "addmultisigaddress"?
Sin embargo, ES posible recuperar la clave pública de la firma (para que pueda recuperar la clave pública de una dirección que ya se ve en la cadena de bloques), consulte la respuesta a continuación.
Espera, ¿no debería ser posible buscar en la cadena de bloques y ver si esa persona gastó desde esa dirección y luego obtener la clave pública utilizada para firmar la transacción?
@PieterWuille: pero las transacciones de pago se realizan a un pubkey... ¿Verdad?
¿Qué son las "transacciones de pago"?
@user2284570 Las transacciones de Bitcoin tienen una dirección de entrada y salida y normalmente se envían a un "hash de clave pública", no a una "clave pública". Una dirección de bitcoin es solo un hash de clave pública con un encabezado y bytes de suma de verificación agregados y luego codificados con base58checked. Entonces puede pasar de una dirección de bitcoin a un hash de clave pública sin ningún problema.

Para ser honesto, ES posible, pero necesita una firma hecha por esa dirección. Desde ese punto, puede obtener la clave pública.

Vea este fragmento de código: https://github.com/bitcoinjs/bitcoinjs-message/blob/master/index.js#L57

Es imposible. Dada una clave pública K ECDSA (comprimida de 65 bytes o no de 33 bytes), se genera una dirección de Bitcoin utilizando las funciones hash criptográficas SHA-256 y RIPEMD-160. La clave pública se codifica dos veces: HASH160 = RIPEMD-160(SHA-256(K)). La dirección de Bitcoin se calcula directamente a partir de este valor HASH160 como

base58(0x00 || HASH160 || bSHA-256(SHA-256(0x00 || HASH160))/2224c). "||=concatenation"

ingrese la descripción de la imagen aquí

por lo que es imposible revertir el hash para obtener la clave pública.

@PieterWuille: pero las transacciones de pago se realizan a un pubkey... ¿Verdad?
depende del tipo de transacción
Escribí esto en el sentido de que es un requisito.
la clave de publicación se comparte con la red, por lo que no es necesario invertir una dirección para obtener la clave de publicación
@ user2284570 ¿Qué es una "transacción de pago"?
@PieterWuille una transacción que tiene valor con un destinatario que no es minero.
En ese caso, no; casi no hay productos de pago por clave pública.
@BadrBellaj: escribió: "la clave pública se comparte con la red, por lo que no es necesario invertir una dirección para obtener la clave pública". Entonces, ¿se puede recuperar la clave pública de la red?
Acabo de empezar a aprender bitcoin hoy. Por deducción socrática, leí que un hash representa en nombre de la clave pública para ocultar la clave pública. Por lo tanto, concluyo que la clave pública nunca se puede recuperar de su hash.