Vamos a hablarlo sin conexión: ¿BIP38 vs BIP39?

Las diferencias y similitudes entre BIP38 vs BIP39
A pesar del uso de "vs" en el título, que denota la palabra "versus", este artículo no pretende en absoluto aclarar una diferencia entre ambas. Más bien, este blog busca brindar mayor claridad y educación sobre dos estándares de cifrado de clave privada que se utilizan en las billeteras de criptomonedas actuales.
Para que quede claro, ambos estándares son absolutamente seguros y casi imposibles de descifrar mediante un intento de fuerza bruta. Si bien BIP39 es el estándar más utilizado actualmente en muchas billeteras, BIP38 no merece el reconocimiento que merece a pesar de ofrecer una seguridad casi idéntica: es la piedra angular criptográfica tecnológica presente en todas las billeteras Ballet. Curiosamente, ambos BIP tuvieron varios autores, uno de los cuales, Aaron Voisine, contribuyó con el código tanto para BIP38 como para BIP39.
La principal diferencia entre ambos es la forma en que se generan, codifican y almacenan las claves privadas cifradas.
Tanto si posee la clave privada cifrada BIP38 (junto con una frase de contraseña) como la clave privada cifrada BIP39 (en formato legible), es responsabilidad del usuario/titular de dichas claves privadas guardarlas en un lugar seguro, preferiblemente con una copia de seguridad. Por lo tanto, en cualquier caso, el proverbial principio de " si no son tus claves, no son tus criptomonedas " tiene la misma importancia en la seguridad de la clave privada tanto para BIP38 como para BIP39.
¿Cómo funciona el proceso de generación de clave privada BIP38?
Para obtener un desglose detallado del proceso BIP38, consulte este otro blog que explica los detalles prácticos.
El estándar BIP38 (en el ámbito del cifrado cuando se utiliza el modo multiplicador EC) permite que dos partes (Parte A y Parte B) participen en la creación de las claves privadas cifradas. Una parte conservaría la primera parte, denominada «frase de contraseña», y la otra parte conservaría la segunda parte, conocida como claves privadas cifradas, en formato de 58 caracteres base58, comenzando por «6P».
La Parte A comienza creando una frase de contraseña generada aleatoriamente y un poco de "sal" para añadir más entropía al proceso; luego, se deriva una cadena de frase de contraseña intermedia y se entrega a la Parte B para generar una dirección pública y una clave privada cifrada. Cabe destacar que la cadena de frase de contraseña intermedia NO revela la frase de contraseña original, que la Parte A conserva y es necesaria para descifrar la clave privada cifrada resultante.
Y en ninguna parte del proceso se revela la clave privada no cifrada que se necesita para firmar transacciones, hasta que el propio usuario lo hace.
Repetición: Ninguna parte de la generación de la clave privada cifrada BIP38 revela la clave privada descifrada (sin cifrar) hasta que el usuario utiliza tanto la frase de contraseña como la clave privada cifrada al firmar una transacción, lo que, en segundo plano, revela posteriormente la clave privada descifrada (sin cifrar). Como nota al margen, la clave privada sin cifrar suele adoptar el formato de importación de billetera (WIF).
El estándar BIP38 se eligió especialmente para las billeteras Ballet debido a su funcionalidad de generación de claves bipartitas, fundamental para nuestro proceso de Generación de Claves de Dos Factores (2FKG). Puede encontrar más información sobre nuestro proceso 2FKG aquí .
Para reiterar, tener la clave privada cifrada no revela en absoluto la frase de contraseña, ni viceversa. Por lo tanto, en cierto modo, el estándar BIP38 permite la creación de una billetera multifirma 2x2. Una analogía que describió el fundador y director ejecutivo de Ballet, Bobby Lee, es pensar en ella como una caja de seguridad que requiere dos llaves. Tener acceso a un solo juego de llaves no tiene sentido.
¿Cómo funciona el proceso de creación de frases semilla de palabras mnemotécnicas BIP39?
El estándar BIP39, propuesto en 2013, permite formatear las claves privadas como una frase semilla de código mnemónico para generar claves deterministas. Entre los monederos más populares, muchos requieren que escribas un código mnemónico de 12 o 24 palabras (también conocido como frase semilla) como respaldo antes de continuar con la configuración. Si escribir un montón de palabras te parece un poco engorroso es subjetivo, pero básicamente esas 24 palabras (nos quedaremos con las 24 palabras en lugar de decir "12 o 24") enmascaran tu clave privada sin cifrar de forma legible.
Tras generar las 24 palabras mnemotécnicas, estas se pasan a una función de derivación de claves basada en contraseñas para crear una semilla binaria, que se utiliza para fines de billetera determinista jerárquica. Sin embargo, no profundizaremos en este tema, ya que es ahí donde las pequeñas diferencias entre BIP38 y BIP39 empiezan a divergir.
La creación de las 24 palabras mnemotécnicas comienza con un número aleatorio de 256 bits, que también puede formatearse en hexadecimales. A continuación, se concatena una suma de comprobación al final de la secuencia de entropía de 256 bits. A continuación, la secuencia de entropía completa se divide en grupos de 11 bits, y cada grupo de 11 bits se convierte a su forma decimal.
La representación decimal puede variar entre 1 y 2048, lo que equivale a un índice de una lista mnemotécnica de 2048 palabras. Esta lista oficial de palabras se puede encontrar aquí .
Y en realidad sólo necesitas las primeras 4 letras de la palabra mnemotécnica.
Ejemplo:
Comience con 256 bits de entropía:
1011110100111010000100111111011010101001001100100111000110111101 0100001010101001110001101001010010010010100101001010010101010101 0010100101010100101110010100100111000101101001010001010110101101 0101010101010100101001010100101010101010101010101101010010110101
Concatenar una suma de comprobación al final:
Suma de comprobación = 01000100 = primeros 8 bits de SHA256 de entropía (44d41bf5f46ecc1bcef7c41ddfc8dcdc09175bf91a62b378d3df502910ca0dea)
1011110100111010000100111111011010101001001100100111000110111101 0100001010101001110001101001010010010010100101001010010101010101 0010100101010100101110010100100111000101101001010001010110101101 0101010101010100101001010100101010101010101010101101010010110101 01000100
Divida la entropía de bits en 24 grupos de 11 bits, que se verán así:
Y así, tienes 24 palabras formateadas para ocultar tus claves privadas. Para garantizar la misma seguridad tanto de la clave privada cifrada con BIP38 y la frase de contraseña como de la semilla de 24 palabras mnemotécnicas de BIP39, la clave privada WIF sin cifrar, que pertenece a la semilla de 24 palabras, también se puede cifrar con BIP38 (multiplicación no EC).
Si observamos la imagen de arriba: la Figura A representa una frase de palabra mnemotécnica BIP39 y la Figura B representa una clave privada cifrada BIP38 utilizada junto con una frase de contraseña. Ambas son simplemente formatos diferentes de la misma clave privada WIF sin cifrar, que posteriormente tiene acceso a las mismas UTXO.
Diferentes formatos, misma seguridad, mismos UTXO, mismos bitcoins.
Diferencias y similitudes
Como se muestra arriba, tanto BIP38 como BIP39 pueden convertir una clave privada WIF sin cifrar a diferentes formatos, pero básicamente ambos enmascaran criptográficamente la clave privada. A continuación, señalaremos algunas de las diferencias y similitudes sutiles entre ambos.
Año propuesto
El estándar BIP38 fue el primero en proponerse en 2012, con la autoría de Mike Caldwell y Aaron Voisine. El estándar BIP39 se introdujo un año después, en 2013, con cuatro autores diferentes, entre ellos Aaron Voisine.
Seguridad
Teniendo en cuenta que ambos utilizan la función hash unidireccional determinista SHA256 (junto con otras funciones nativas de cifrado), que es casi imposible de descifrar, puede estar seguro de que ambas son tan seguras como SHA256.
Metodología
BIP38 utiliza dos metodologías para generar una clave privada cifrada. Además de la mencionada anteriormente, también se puede usar una clave privada pregenerada sin cifrar y ejecutarla mediante el algoritmo BIP38, con una contraseña de su elección, para generar la clave privada cifrada. BIP39 comienza con una entropía aleatoria de un cierto número de bits que se convierte en una semilla de palabra mnemotécnica. Estas palabras se utilizan posteriormente para crear una semilla binaria para la billetera HD (no abordaremos esta parte).
Formato de clave privada
Las claves privadas cifradas con BIP38 tienen un formato base58 de 58 caracteres (que empiezan por '6P') y una contraseña secreta aleatoria. BIP39 utiliza 24 palabras mnemotécnicas (basadas en un tamaño de clave de 256 bits).
Frase de contraseña
En el estándar BIP38, se requiere una frase de contraseña junto con la clave privada cifrada. En BIP39, no es necesaria, pero el estándar permite proteger mediante una frase de contraseña una palabra semilla mnemotécnica. Tanto la frase semilla como la palabra adicional son necesarias para recuperar la billetera. Algunas billeteras denominan a la frase de contraseña "extensión semilla", "palabra de extensión" o "palabra 13/25".
Posibles combinaciones formateadas
Para el estándar BIP39, la frase semilla de la palabra mnemotécnica está limitada a 2048 palabras. Supongamos, por ejemplo, que usamos la longitud máxima de 24 palabras, lo que nos da aproximadamente 204⁸²⁴ combinaciones, más de las que se pueden obtener. Sin embargo, con BIP38, el factor de la frase de contraseña puede ser prácticamente cualquier valor, lo que hace que las posibles combinaciones formateadas sean teóricamente ilimitadas.
Conclusión
Así que ahí lo tienen. Dos BIP. Dos metodologías para mantener sus claves privadas sin procesar ofuscadas para los menos informados. Dos estándares diferentes en la infinidad de billeteras de bitcoin actuales. Un mismo objetivo: mantener sus bitcoins más seguros en un mundo de ciberseguridad reforzada.
Esperamos que después de leer esto esté mejor informado sobre ambos estándares y sus procesos. Además, el objetivo no es simplemente elogiar la seguridad de uno sobre el otro, sino demostrar que ambos son bastante seguros y que pueden usarse juntos, como se evidencia en la imagen de arriba. En general, ambos simplemente toman un número arbitrario de bits y reorganizan su formato para optimizar la capacidad de la billetera.
En definitiva, lo que haga con la clave privada cifrada BIP38 o la frase semilla BIP39 de 24 palabras mnemotécnicas depende de su seguridad. Simplemente preferimos que las mantenga fuera de línea en un material metálico robusto, con aislamiento de aire, para mayor protección.
Empiece hoy mismo a utilizar Ballet Cold Wallets
Con las Monederas Frías de Ballet , puedes tener la tranquilidad de que tus criptomonedas se almacenan de forma segura sin conexión, protegidas de hackers y amenazas en línea. No esperes a que sea demasiado tarde: da el primer paso para proteger tus activos digitales hoy mismo. Invierte en la seguridad de tu Bitcoin con una Monedera Fría de Ballet y protege tus inversiones para el futuro.
Enlaces útiles:
Tienda oficial online de Ballet
Guía contra la falsificación
Descargar la aplicación Ballet Crypto
Mantente conectado
X(Twitter) YouTube Telegram Facebook LinkedIn Reddit Instagram