Consulta de UTXO con pares de claves aleatorias

A medida que crece el número de transacciones en la red bitcoin, también crecerá el número de direcciones con bitcoin. ¿Es posible que alguien “busque” bitcoin generando pares de claves aleatorios y verificando si la dirección de bitcoin derivada tiene monedas? ¿Es probable que esto sea rentable en algún momento en el futuro? Incluso si la rentabilidad de este ataque es baja, podría afectar la confianza en la red de bitcoin, si se robaran algunos bitcoins de esta manera.

Respuestas (2)

¿Es posible que alguien “busque” bitcoin generando pares de claves aleatorios y verificando si la dirección de bitcoin derivada tiene monedas?

Sí.

¿Es probable que esto sea rentable en algún momento en el futuro?

No.

El número de direcciones posibles es extremadamente masivo, demasiado grande para que el cerebro humano lo comprenda.

Para empezar, hay 2^160 direcciones P2PKH posibles. Entonces hay 2^160 posibles direcciones P2SH. También hay 2^160 direcciones P2WPKH posibles y 2^256 direcciones P2WSH. Esto significa que el espacio de direcciones total actual es 3(2^160)+2^256. La probabilidad de que elija generar aleatoriamente una dirección que tenga asociado Bitcoin es tan pequeña que es básicamente cero.

Si asumiéramos que 100 mil millones de direcciones tienen Bitcoin asociado con ellas o lo tendrán en el futuro (esa es una estimación extremadamente generosa), entonces la probabilidad de que pueda encontrar una de ellas es 8.636 × 10^-67. Esta probabilidad es tan pequeña y tan improbable que nunca será rentable o tendrá alguna probabilidad de que ocurra una colisión de direcciones.

Si bitcoin fuera a igualar la tasa de procesamiento de visas (algún día), consumiría 100 mil millones de direcciones en 579 días (100e9/(2000*3600*24). Suponga 1 billón de direcciones y 2^96 claves privadas posibles, la cantidad de intentos necesarios para encontrar cualquier dirección utilizada es 2^96/1e12 = 7.92e16 intentos. El hashrate actual de bitcoin es 7.3e21 H/s. Si ese hashrate se desviara para buscar bitcoin, encontraría bitcoin en 1.08e-5 s para 1 billón de direcciones y 1.08e-2 s para mil millones de direcciones ¿Necesitamos confiar en que la red seguirá el código de honor para mineros?
Tus matemáticas están mal. Hay 2^256 claves privadas posibles, no 2^96, ¿de dónde sacaste ese número? Debido a las funciones hash utilizadas en Bitcoin, el 2^256 se reduce a 2^160 direcciones posibles. Con 2^160 posibles direcciones P2PKH, requeriría 1.46e36 intentos, suponiendo que 1 billón tuviera Bitcoin. Usando su número de hashrate, en realidad tomaría 2e14 segundos encontrar una colisión. Por último, el hashrate no se puede convertir directamente en la generación de direcciones. Los ASIC de minería solo pueden hacer una cosa, sha256d. No se pueden convertir para hacer otra cosa como buscar direcciones.

El número de direcciones BIP39 está cerca de 2^132. El tamaño actual del conjunto de utxos se acerca a los 60 mill. El número de intentos necesarios para encontrar cualquier dirección utilizada es 2^132/60e6 = 9e31 intentos. Con el hashrate actual, encontraría bitcoin en 12,4 billones de segundos ~ 400 años para encontrar una dirección no vacía si el hashrate pudiera desviarse para buscar el conjunto utxo.