¿Cuál es la relación de las direcciones de Bitcoin con las claves públicas?

Una billetera Bitcoin puede manejar múltiples claves privadas. En ECC, puede tener 2^256 claves privadas y, para cada clave, puede tener 2^256 claves públicas. Suponiendo que sea correcto ( corríjame si me equivoco ), genera una dirección de Bitcoin básicamente mediante el hash de una clave pública con una función hash RIPEMD160, que puede producir 2^160 direcciones diferentes.

¿La relación entre la dirección de Bitcoin y la clave pública es 1:1 (una dirección para cada clave pública)? Si no, ¿cómo es posible conectar más de una dirección a una sola clave pública , ya que esta "conexión" se realiza a través de funciones hash y el hash de una entrada (la clave pública) no cambia a menos que cambie la entrada en sí? ?

Gracias de antemano.

Respuestas (1)

genera una dirección de Bitcoin básicamente mediante el hash de una clave pública con una función hash RIPEMD160,

Usas HASH160, en realidad. HASH160 es RIPEMD160(SHA256(x)).

Este es un buen recurso para aprender a transformar una clave privada en una dirección de Bitcoin: https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses

¿Cómo es posible conectar más de 1 dirección a una sola clave pública?

Las versiones comprimidas y sin comprimir de un hash de dirección a diferentes valores. Esa es una forma en que la misma clave podría generar dos valores diferentes. También hay carteras deterministas jerárquicas que le permiten tomar una sola clave y derivar muchas subclaves diferentes de ella, todas las cuales tienen direcciones diferentes.

Tampoco es 1:1 en el sentido de que teóricamente es posible crear dos claves públicas diferentes que tengan el mismo valor.

Gracias hombre. Encontré más información sobre direcciones [no] comprimidas aquí: bitcoin.stackexchange.com/questions/37373/…