Entiendo que la clave pública se mantiene oculta hasta que se realiza una transacción de bitcoin, momento en el que se debe revelar la clave pública para demostrar que creó la transacción con su clave privada. Hasta entonces, solo se comparte un hash de su clave pública, conocido como su dirección de bitcoin.
Una vez que se conozca mi clave pública, ¿sería posible que alguien busque mi clave privada en una tabla de arco iris?
No.
Una tabla arcoíris es simplemente una compensación entre la memoria y la CPU que le permite encontrar imágenes previas de una función más rápido al tener una tabla precalculada con algunas de las entradas.
Para construir una tabla de arcoíris para claves privadas/públicas de bitcoin, primero debe iterar todas las claves al menos una vez. No importa que solo una parte de los pares de llaves terminen en su tabla de arcoíris, todavía tiene que revisarlos todos.
Esa es una tarea imposible. Hay 115,792,089,237,316,195,423,570,985,008,687,907,852,837,564,279,074,904,382,605,163,141,518,161,494,336 claves privadas válidas para pasar. Para poner eso en perspectiva: si pusieras una computadora en cada micrómetro cuadrado de la tierra (1/1600 de la sección transversal de un cabello humano) que puede calcular tantas claves públicas por segundo como hashes por segundo en toda la red minera de Bitcoin en el momento de escribir (4 exhash/s), le llevaría 120000 veces la edad del universo pasar por todas las claves.
Y, incluso si de alguna manera tuviera un oráculo que pudiera darle la tabla del arco iris, tendría que ser imposiblemente grande para que el descifrado de claves privadas sea práctico. Si su tabla tuviera un billón de entradas, solo haría que el descifrado fuera un billón de veces más rápido. Eso sigue siendo completamente imposible.
Gracias por el enlace del gran colisionador de bitcoin (LBC). Lo miré detenidamente, pero está muy por encima de mi cabeza. Parece que están encontrando claves privadas regularmente que se ajustan a cuentas activas con algunos BTC en ellas. Esa es una vista alarmante. Especialmente porque esto todavía se está ejecutando en una pequeña escala.
Luego me encontré con esta excelente publicación: https://www.reddit.com/r/btc/comments/65mjm3/bitcoin_wallets_under_siege_from_collider_attack/dgbudsk/ En cuanto a por qué LBC parece haber encontrado claves privadas para cuentas activas, respondió:
Las billeteras que han atacado hasta ahora no son billeteras genéricas de bitcoin de clave privada aleatoria como las habituales, pero han sido diseñadas específicamente para ser rotas. Pertenecen principalmente a la transacción de rompecabezas que contiene muchas claves privadas "fáciles".
¿Qué significa eso?
No estoy completamente seguro de que todos estén hablando del mismo enfoque/problema, pero creo que al final es similar: ¿Qué tan difícil es encontrar una clave privada para una dirección de bitcoin activa específica o cualquiera de las direcciones de bitcoin activas? Espero que dyoniziz de reddit sea correcto.
Digamos que tengo 101 claves privadas generadas por un pseudo-RNG, pero perdí una. Teóricamente, creo que es posible usar 100 pares privados/públicos para descifrar el que falta. Porque, mientras que el espacio numérico real es muy grande, el espacio numérico pseudo-RNG está limitado por el espacio de punto flotante del propio hardware. Además, creo que es posible crear una tabla arcoíris a partir de la 100, lo que la hace más accesible. Si me equivoco, que alguien me explique.
de hecho eso sería teóricamente posible. una mesa así por suerte es muy grande. para obtener más información, por ejemplo, sobre el gran colisionador de bitcoin . si una dirección activa significa que gasta dinero, entonces se revela la clave pública, lo que facilita el ataque. siempre que una dirección solo haya recibido dinero, está mejor protegida por la segunda capa de hashing.
lbc puede ignorarse, pero recorren sistemáticamente el espacio de claves desde una dificultad pequeña a una grande por entropía. Las claves fáciles de encontrar son solo un cebo para involucrar a más personas. @Pieter: por supuesto, el RNG débil es un problema, pero eso no estaba en duda; será mejor que obtengamos algunos estándares de hardware abiertos para TRNG.
Curiosamente, la gente vota esto hacia abajo. tenemos que enfrentarlo: hay problemas con la implementación de bitcoin además de la escalabilidad. el hashing no estaba bien pensado y el algoritmo ecc (Secp256k1: T=(p,a,b,G,n,h); a=0 , b=7 … h=1. ver diapositiva de ruedi ) obtuvo el parámetro anulado sin ninguna buena razón (el rendimiento no es un buen argumento en absoluto en términos de criptografía). la criptografía no respeta las debilidades, por pequeñas que sean.
T=(p,a,b,G,n,h)
; a=0 , b=7 … h=1.
muro
q9f