Hablemos acerca de Wallet de #Bitcoin
Antes de comenzar este 🧵 es importante saber esto 👇
Las Wallet de Bitcoin guardan llaves no monedas. Cada usuario tiene una wallet que contiene llaves, que en realidad son pares de llaves privadas/públicas y el saldo es la suma de UTXO.
Las wallet permiten a los usuarios firmar transacciones con sus llaves privadas, demostrando así que son dueños de los resultados de la transacción (sus BTC). Los BTC se almacenan en la cadena de bloques en forma de salidas de transacciones.
Existen dos tipos principales de Wallets, Las No deterministas y deterministas.
Las Wallet no determinista: Las llaves se genera de forma independiente a partir de un número aleatorio y las llaves no están relacionadas entre sí y se les conoce como JBOK (Just a Bunch Of Keys).
Las Wallet determinista: Todas las llaves se derivan de una única llave maestra, conocida como semilla . Todas las llaves en este tipo de billetera están relacionadas entre sí y pueden generarse nuevamente si se tiene la semilla original.
Las Wallets deterministas se inicializan a partir de una secuencia aleatoria (entropía). Para facilitar su uso, las secuencias aleatorias se codifican como palabras en inglés, también conocidas como palabras de código mnemonic.
Un dato importante acerca de las Wallet de Bitcoin no deterministas es que fueron las primeras en usarse en el cliente de Bitcoin ahora(core) y son colecciones de llaves privadas que se generan aleatoriamente al iniciar por primera vez que complican su respaldo y rescuperación.
Ahora Hablemos de las wallet mayormente usadas que son las deterministas 👇
Estas Wallets contienen llaves privadas que se derivan todas de una semilla común, mediante el uso de una función hash unidireccional.
La semilla: Es un número generado aleatoriamente que se combina con otros datos, como un número de índice o un código de cadena para derivar las llaves privadas. Estas semillas son suficiente para recuperar todas las llaves derivadas de esta y para exportar o importar una wallet.
HD Wallet (BIP-32/BIP-44)
Este tipo de Wallet, facilitan la obtención de muchas llaves a partir de una sola semilla y son la forma más avanzada de wallet deterministas definido por el estándar BIP-32. Esta posee una estructura de arbol que derivan llaves secundarias en secuencia.
Semillas & Mnemonic(BIP-39)
Administrar muchas llaves y direcciones es mucho más útil si se combinan de forma estandarizada para crear semillas a partir de una secuencia de palabras en inglés fáciles de transcribir, exportar e importar entre Wallets conocido como mnemonic(BIP-39)
De hecho este es el estandar en la mayoría de las wallet de bitcoin actuales, usan este estándar de importar y exportar semillas para respaldo y recuperación usando Mnemonic interoperables.
Ejemplo de esto lo podemos ver en una wallet non custodial de Bitcoin, cuando respaldamos nuestras semillas de 12 o 24 frases, tipo así :
army van defense carry jealous true
garbage claim echo media make crunch
Hablemos un poco mas acerca de mnemonic codes.
Las palabras de mnemonic codes, son secuencias de palabras que representan un número aleatorio utilizado como semilla para derivar una wallet determinista.
Una Wallet de bitcoin que implemente palabras mnemonic, mostrará al usuario una secuencia de 12 a 24 palabras cuando cree una wallet por primera vez. Esa secuencia de palabras es la copia de seguridad de la wallet y se podrá usar para recuperar y volver a crear todas las llaves.
Ahora como se generan estas semillias ?
Estas frases mnemonic, utilizan el proceso estandarizado definido en BIP-39. La Wallet parte de una fuente de entropía, agrega una suma de verificación y luego asigna la entropía a una lista de palabras.
1. Crea una secuencia aleatoria (entropía) de 128 a 256 bits. 2. Crea una suma de comprobación de la secuencia aleatoria tomando los primeros bits (longitud de entropía/32) de su hash SHA256. 3. Agregue la suma de verificación al final de la secuencia aleatoria.
4. Divide el resultado en segmentos de 11 bits de longitud. 5. Asigna cada valor de 11 bits a una palabra del diccionario predefinido de 2048 palabras. 6. El código mnemonic es la secuencia de palabras.
Las palabras mnemonic representan la entropía con una longitud de 128 a 256 bits. La entropía se usa para derivar una semilla más larga (512 bits) mediante el uso de la función de extensión de clave PBKDF2 y esta se usa luego para construir una wallet determinista y sus llaves.
La función de key-stretching toma dos parámetros: el mnemonic y un salt . El propósito de una salt en esta función es dificultar la creación de una tabla de búsqueda que permita un ataque de fuerza bruta.
Esta explicación aplica a 12 o 24 Frases(semillas).
Frase de contraseña opcional en BIP-39.
El estándar BIP-39 permite el uso de una frase de contraseña opcional en la derivación de la semilla. Si no se usa una frase de contraseña mnemonic, este se amplía con un salt.
Llave extendida: Esta consta de una llave privada o pública y un código de cadena. Una llave extendida puede crear hijos, generando su propia rama en la estructura de árbol. Compartir una llave extendida da acceso a toda la rama.
Las llaves extendidas se codifican con Base58Check, para exportar e importar fácilmente entre diferentes wallets compatibles con BIP-32.
Base58Check para llaves extendidas utiliza un número de versión especial que da como resultado el prefijo "xprv" y "xpub" cuando se codifica en caracteres Base58 para que sean fácilmente reconocibles, debido a que la llave extendida es de 512 o 513 bits.
De momento dejamos esta primera parte de este 🧵 hablando un poco acerca de las Wallet de #Bitcoin un tema bastante técnico y profundo. En la 2da parte hablaremos acerca de descriptor Wallet.
Rerencía del Libro Mastering #Bicoin 2 da edición.
Si te gusto puedes dejarle 🧡🧡 a Azor 👇
LN address ⚡️
azorcode@lntxbot
expertswedish58@walletofsatoshi.com
PyNyms 🤖
+azorcode
LN Web ⚡️ 🔐 tipybit.com/azorcode
• • •
Missing some Tweet in this thread? You can try to
force a refresh
Hablemos un poco acerca de las llaves en #Bitcoin 👇 #Bitcoin se basa en la criptografía, que es una rama de las matemáticas utilizada ampliamente en seguridad informática. Criptografía significa "escritura secreta" en griego, pero esta ciencia abarca mucho más que eso.
🧵
La criptografía también se puede utilizar para probar el conocimiento de un secreto sin revelar(firma digital), también podrías verificar la autenticidad de los datos (huella digital). Este tipo de pruebas criptográficas son las herramientas matemáticas que se utilizan en Bitcoin
Irónicamente, el cifrado no es una parte importante de bitcoin, ya que sus comunicaciones no están encriptados por defecto y no necesitan ser encriptados para proteger los fondos.