¿Por qué es imposible derivar la clave pública de la dirección?

Esta es mi primera transacción de bitcoin .

¿Por qué esta transacción no muestra mi clave pública? mensaje de ayuda en la misma página dice que,

Es imposible determinar la clave pública a partir de una dirección de Bitcoin, pero si alguna vez se usó la clave pública en la red, se incluye aquí.

Estaba pensando que mi dirección es clave pública. ¿Es realmente imposible derivar la clave pública de la dirección?

otros detalles, transacción de blockchain.info y detalles de la dirección .

Respuestas (2)

La dirección es, en su forma más básica, solo un hash de la clave pública. Las funciones hash involucradas (RIPEMD-160 y SHA256) son funciones hash criptográficas. A menudo también se les conoce como funciones unidireccionales, que es exactamente la razón por la que no puede derivar la clave pública de la dirección.

Las funciones unidireccionales proporcionan exactamente eso a = f(pk), por lo que dado aque no se puede derivar pk.

Por esta misma razón, la próxima transacción que reclama la salida enviada a una dirección no solo debe proporcionar una firma, sino también la clave pública coincidente que, cuando se procesa en una dirección, devuelve la dirección en la salida.

Para más detalles ver el proceso de derivación de direcciones .

La dirección es sólo de 160 bits. La clave pública es de 257 bits. Por lo tanto, no hay forma de pasar de una dirección a una clave pública: falta información.

El hash más corto con suficiente seguridad es de 160 bits. Entonces, Bitcoin usa un hash de 160 bits como dirección para que la dirección sea lo más corta posible. Sin embargo, no se conoce ningún esquema de clave pública que sea lo suficientemente seguro con solo claves públicas de 160 bits. Por lo tanto, la clave pública no se podía usar como una dirección de cuenta sin alargar la cuenta.

Sin embargo, la clave pública es necesaria para verificar una firma. Entonces, cuando realiza una transacción para reclamar monedas enviadas a una cuenta, debe proporcionar la clave pública. Al validar la transacción, se verifica la clave pública para garantizar que tenga el hash correcto (que coincida con la cuenta) y luego se verifica la firma para garantizar que sea válida para la transacción y que se haya realizado con la clave pública proporcionada. A partir de ese momento, se conoce públicamente la clave pública correspondiente a la dirección.