dos personas con la misma dirección PÚBLICA, ¿cómo sabrán las personas/la red cómo entregar bitcoin?

Entiendo que una dirección de bitcoin es una combinación o más de un tipo de cifrado y entropía, y también entiendo cuán improbable es que se genere la misma dirección al mismo tiempo.

Aunque las claves privadas serán diferentes, esto no alivia mis preocupaciones.

Si la persona A envía a un pagador su dirección pública, ¿cómo sabrá la red que no debe enviarla a la dirección de la persona A y de la persona B?

Tal vez solo estoy teniendo un error de juicio aquí, y que la clave pública debe derivarse de la clave privada y hash160 y, por lo tanto, no se puede generar una dirección pública sin la misma clave privada

Dices que ya entiendes esto, " También entiendo lo improbable que es que la misma dirección se genere al mismo tiempo". ¿Cómo sabrá la red qué hacer si tres asteroides golpean la Tierra al mismo tiempo?
@David exactamente :) Si CQM dice que no alivia sus preocupaciones, aparentemente no entiende cuán increíblemente, astronómicamente improbable es.

Respuestas (3)

La red no puede notar la diferencia. En el caso astronómicamente improbable de que dos personas diferentes tengan claves privadas cuyas claves públicas tienen un hash en la misma dirección pública, ambos pueden gastar las monedas enviadas a esa dirección, por orden de llegada.

Para ilustrar cuán improbable es esto: supongamos que cada satoshi de cada bitcoin que se generó alguna vez se envió a sus propias claves privadas únicas. La probabilidad de que entre esas claves haya dos que correspondan a la misma dirección es aproximadamente una en 100 quintillones.

Por supuesto, la probabilidad es solo "astronómicamente improbable" si las claves privadas se generan verdaderamente al azar. Si no lo son, entonces puede haber más posibilidades de que alguien más pueda adivinar la clave privada. Cualquiera que lo haga puede gastar las monedas enviadas a esa dirección. Eso fue lo que sucedió con esta vulnerabilidad .

Una actividad divertida, análoga a "dejar un billete de un dólar en la calle y ver quién lo recoge", es crear una clave privada que sea un número entero muy pequeño. Luego envíe alguna suma trivial de dinero a la dirección correspondiente. Parece que hay una cantidad de personas que miran esas direcciones para que pueda ver quién logra obtenerlas primero (pasándolas a una dirección más segura que controlan).

Estaba buscando números sólidos para mi respuesta; esas son probabilidades largas

Como dato curioso, me gustaría agregar que, si toma la cadena nula como la clave pública y la codifica, obtendrá la dirección 1HT7xU2Ngenf7D4yocz2SAcnNLW7rK8d4E, que contiene alrededor de 69,77 bitcoins. Desafortunadamente, esos son indiscutibles, ya que la dirección probablemente se genera por algún error de software y probablemente no tenga ninguna clave privada asociada.

Fuente: Criptografía de curva elíptica en la práctica, página 11

Eso es genial, gracias por compartir eso. Dado que una clave privada debe ser un número entero> 1, ¡parecería que muchos se han asumido fuera de Bitcoin! En una nota relacionada, /r/Buttcoin está quemando consejos de BTC (el por qué no me concierne; política) usando 1BitcoinEaterAddressDontSendf59kuE, una dirección Base58Check válida -- blockchain.info/address/1BitcoinEaterAddressDontSendf59kuE
Privado desde nulo: 5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss - 661 transacciones.

Una clave pública corresponde a una clave privada, que es solo un número entero muy grande.

En lo que respecta a la red, cualquier persona que tenga la clave privada de los fondos en una dirección puede gastarlos. La única prueba de propiedad es que debido a cómo funciona la criptografía de clave pública, private key ==> public key/public addressestá bien, no se puede calcular lo contrario.

Si tiene la clave privada de los fondos en una dirección y, por casualidad, un cliente entrega la misma clave privada, puede gastar las monedas. Sin embargo, asumiendo números aleatorios, esto nunca sucederá.