Exclusividad de la frase de contraseña de la billetera (pregunta de novato)

Mycelium Wallet creó una billetera Bitcoin para mí, luego escribí una frase de contraseña de 12 palabras para la copia de seguridad de la billetera. Sin embargo, parece que un conjunto de palabras (en el Micelio) para generar estas frases es limitado; al menos tengo una frase de contraseña con una palabra repetida dos veces.

¿Cómo puedo asegurarme de que esta frase de contraseña sea única en nuestro mundo, donde viven más de 7 mil millones de personas?

La jerga puede ser diferente para diferentes billeteras, pero la frase de contraseña suele ser un conjunto de letras, números y símbolos para crear una contraseña. Una semilla es su conjunto de palabras, generalmente de 12 a 24 para diferentes billeteras.
Esto hace un gran trabajo al explicar cómo se crean las frases, puede ayudar a arrojar algo de luz sobre su pregunta.

Respuestas (2)

Las posibilidades de que alguien haga "fuerza bruta" o adivine tu semilla son extremadamente escasas. Hay más que 5 duodecillionposibles combinaciones de semillas de doce palabras. Solo para que tengas una idea de cuán grande es ese número, es más que 1 thousand million million million million million millionposibilidades.

No me preocupa piratear o adivinar: me preocupa que mi frase de contraseña generada automáticamente también sea una frase de contraseña de otra persona por accidente . Significa que, en teoría , tendré acceso a la billetera de otra persona, y él / ella tendrá acceso a mi billetera, ¿verdad?
Eso es correcto, sin embargo, las posibilidades son las mismas incluso para la generación semilla. Si tuviera que usar semillas de fuerza bruta, ejecutaría la función de generación de forma continua hasta encontrar su semilla.
@HEKTO: Lógicamente, si es extremadamente difícil hacer que algo suceda a propósito, entonces las posibilidades de que suceda por accidente son aún menores.
@NateEldredge: sí, lo entiendo. Solo me preocupo por la escala del sistema... Cuando creo mi propia sshclave privada en Linux, no me preocupo por su contraseña, porque la cantidad de usuarios que pueden comunicarse conmigo no es tan grande. Sin embargo, Bitcoin es un sistema global con miles de millones de usuarios potenciales y sí, algunos de ellos son piratas informáticos.
En efecto. Pero el número de claves posibles es abrumadoramente gigantesco . Este principio está en la raíz de casi todo en criptografía y tendrá que aceptarlo para sentirse cómodo con cualquier cosa. Es un buen ejercicio hacer algunos cálculos: por ejemplo, si cada persona en el mundo tuviera un millón de computadoras, cada una de las cuales podría probar mil millones de teclas por segundo, ¿cuánto tiempo tomaría adivinar la tuya?
@NateEldredge: me preocupaba (y aún me preocupa) el conjunto limitado de palabras posibles en Mycelium, así que creo que usaré mis propias palabras, no muy conocidas, no de ninguna canción o libro popular, entonces estaré más cómodo. ¡Gracias!
@HEKTO: El conjunto limitado de palabras se compensa con el hecho de que hay 12 de ellas. El número de claves posibles crece exponencialmente con el número de palabras y solo polinomialmente con la longitud de la lista de palabras. Tienes un tamaño de clave efectivo de 132 bits, lo cual es totalmente inviable para la fuerza bruta. Claro que puede obtener más entropía eligiendo palabras de un conjunto más grande, pero en realidad no ayuda mucho: rendimientos decrecientes. Y si elige sus propias palabras, debe resistir la tentación de elegir simplemente una frase que le guste: deben elegirse de manera totalmente aleatoria.
@HEKTO: No quiero ser grosero, pero realmente necesitas entender mejor las matemáticas: te preocupas por las cosas completamente equivocadas, y me preocupa que la solución que te hace sentir más "cómodo" en realidad sea criptográficamente más débil, quizás peligrosamente.
@NateEldredge: acabo de leer que el conjunto de palabras se ordena antes de su uso. ¿Sigue siendo el caso?
@HEKTO: Las palabras en la frase mnemotécnica no están ordenadas; el orden importa aquí. La lista de palabras está ordenada, pero todo esto significa que el valor numérico asociado a una palabra corresponde a su orden alfabético. De todos modos, esta asociación es arbitraria (y no necesita ser secreta), por lo que sorted es un método tan bueno como cualquier otro, y es conveniente implementarlo.
@HEKTO LBC, Large Bitcoin Collider, es un esfuerzo que intenta descifrar todas las claves privadas. Las únicas vulnerabilidades que encontraron fueron en "brainwallets", donde los usuarios ingresan una contraseña para generar una clave privada. Mirar sus estadísticas le da una idea de que, a pesar de la potencia informática que se utiliza, todavía es extremadamente difícil/imposible descifrar claves privadas, incluso con semillas de doce palabras.
Mi pregunta era tanto teórica como inquisitiva... Pensé: ¿una contraseña de 12 palabras para recuperar la billetera y eso es todo? Puede ser, me estoy perdiendo algo, lo que hace que la clave privada sea única con 100% de garantía. Aparentemente, no hay nada de eso, por lo que todos dependemos de la enormidad del espacio de búsqueda y la aleatoriedad matemáticamente probada de las claves en este espacio.

(Algunas billeteras que generan listas de palabras para la recuperación también permiten una frase de contraseña creada por el usuario, por lo que estoy usando "semilla de recuperación" para indicar la lista de palabras).

No estoy familiarizado con Mycelium específicamente, pero muchas billeteras usan un estándar conocido como BIP39 para generar semillas de recuperación. Esa técnica extrae las palabras al azar de una lista de 2048 palabras, con duplicados permitidos . El orden (permutación) de las palabras es significativo. Entonces, el número de posibles semillas de recuperación es 2048 ^ 12 (^ indica exponenciación). Eso es 5.44451787E+39, que es 5.444.517.870.735.015.415.413.993.718.908.291.383.296.

@NateEldredge ¡Gracias! He editado mi respuesta para reflejar el permiso de palabras repetidas.