En el núcleo de la autosoberanía de Bitcoin se encuentra el control sobre tus claves privadas. Sin esto, estás esencialmente cediendo el control de tus fondos a otra persona. Como dice el refrán, “No tus claves, no tus monedas.” Para aquellos que no están familiarizados con los fundamentos técnicos de Bitcoin, un aspecto contraintuitivo es “dónde” reside realmente tu Bitcoin. Cuando la gente piensa en una billetera, imagina “el lugar donde guardo mi dinero.” En realidad, tu billetera de Bitcoin no “contiene” tu Bitcoin; simplemente almacena tus claves privadas. Tu Bitcoin existe como entradas de datos en la blockchain, mantenidas por todos los participantes de la red. Cuando gastas tus bitcoins, estás proponiendo una actualización de los datos de la blockchain. Una clave privada es la forma en que el protocolo asegura que solo tú puedes autorizar una actualización de la blockchain que gasta tu Bitcoin.
Entonces, ¿cuáles son tus claves privadas? Son solo números increíblemente grandes. Aquí hay una clave privada en binario:
256 aleatorios 1s y 0s. Este número aleatorio es lo que protege en última instancia tu Bitcoin. Puede no parecer mucho, pero su aleatoriedad garantiza la seguridad de tu billetera. Hay casi tantos posibles claves privadas de Bitcoin como átomos en el universo visible. Ese es el número de números que una computadora tendría que contar para generar y catalogar todas las posibles claves privadas. Siempre que el proceso utilizado para generar las claves sea verdaderamente aleatorio, tus claves estarán seguras.
Así es como se ve una clave privada en hexadecimal ( binario utiliza dos dígitos para codificar un número, 1 y 0, hexadecimal utiliza 16 dígitos, 0-9 y A-F):
El formato WIF era la forma en que todos interactuaban con sus claves privadas en los primeros días de Bitcoin. En esta era, podías generar una clave privada a la vez y luego generar la clave pública a partir de esa. El proceso de generación de una clave pública es esencialmente solo multiplicar números muy grandes, pero hay un poco más. Todas las claves públicas son puntos x e y en un gráfico que muestra una curva muy, muy grande que se pliega sobre sí misma.
En la curva del gráfico, en el caso de Bitcoin Secp256k1, hay un punto llamado el “punto generador.” Este punto generador puede considerarse como el “punto base” de la curva Secp256k1. Es integral al proceso de generación de claves y su firma. Este es el punto generador de la curva de Bitcoin:
Para generar la clave pública a partir de tu clave privada, tomas la clave privada que generaste y la multiplicas por el punto generador. Eso es todo. Esto ahora establece un punto en el gráfico con una relación matemática a la clave privada que generaste que solo tú conoces.
Aquí hay una clave pública sin comprimir que muestra los puntos x e y:
Es muy común “comprimir” las claves públicas en el raro caso de que interactúes con ellas para simplemente almacenar la coordenada x con un byte que indique si la coordenada y es negativa o positiva. Eso lo acorta considerablemente:
Cuando vas a firmar una transacción con tu clave privada, una vez más, se reduce a una simple multiplicación. Al generar un número aleatorio (el nonce) y usarlo junto con tu clave privada para multiplicar esencialmente el hash de la transacción que estás firmando, produce la firma (que se compone de dos valores, r y s). Esto permite que alguien ejecute un algoritmo para verificar que el mensaje fue firmado con la clave privada adecuada sin revelar esa clave. Lo que asegura que solo tú puedes autorizar el gasto de tu Bitcoin es esencialmente la multiplicación de números muy, muy grandes.
Si no estabas muy familiarizado con estos conceptos antes de leer esto, todo esto probablemente parece algo intimidante. ¿Binario? ¿Hexadecimales? ¿Puntos de gráfico? ¿Cómo respaldas un WIF?
Desde que se desarrollaron formas más intuitivas de manejar estos datos, la mayoría de los usuarios no están familiarizados con estos formatos complicados. Es probable que tengas más experiencia con semillas de palabras, también conocidas como frases semilla.
Semillas mnemotécnicas BIP 39
Las semillas mnemotécnicas, o frases semilla, fueron creadas para abordar el problema de la experiencia de interactuar con tus claves privadas.
Como discutimos anteriormente, las claves privadas son en última instancia solo una larga cadena de unos y ceros que se generan aleatoriamente. Imagina intentar hacer copias de esto y asegurarte de no cometer un error al transcribirlo:
Todo lo que se necesitaría es un solo error al copiar un dígito para que una copia de seguridad de tus claves sea inútil. Aquí es donde las semillas mnemotécnicas son útiles. 256 unos y ceros consecutivos no es una forma amigable para el ser humano de interactuar con información sensible. Registrar este número incorrectamente significa perder el acceso a tu cuenta.
Eso es mucho más fácil de manejar, ¿no? Solo 12 palabras. ¿Cómo funciona eso, pasar de un montón de 1s y 0s a una cadena de palabras que realmente tienen sentido para ti? ¡Un esquema de codificación, como binario o hexadecimal!
Cada una de esas 12 palabras en esa semilla mnemotécnica anterior es un número binario en un esquema de codificación que asigna cadenas específicas de unos y ceros a palabras. Si miramos hacia atrás en el ejemplo anterior de la clave privada WIF, esa era simplemente un número codificado en un esquema de codificación específico, en este caso base 58, que utiliza todos los números y letras del alfabeto excepto 0 y 1, y O y l (es sensible a mayúsculas). La exclusión de esos caracteres se hizo específicamente para hacer poco probable los errores de transcripción al confundir un 1 con una l o un 0 con una O. bech32 y bech32m utilizados por Segwit y Taproot llevan esto al siguiente nivel al usar solo este conjunto de caracteres (qpzry9x8gf2tvdw0s3jn54khce6mua7l).
Propuesta de Mejora de Bitcoin 39 (BIP 39) introdujo un esquema de codificación estandarizado donde cada palabra en un diccionario especialmente diseñado se mapea alfabéticamente a un número binario de 00000000001 a 11111111111. La semilla de demostración anterior se mapea a esto:
En binario se ve así:
11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 00010011110 01010011011
Hay 2048 palabras, cada una mapeada a una cadena específica de 11 dígitos de 1s y 0s, específicamente para facilitar que las personas interactúen con sus claves privadas. Cuando generas un número aleatorio para tu clave privada, tu billetera corta ese número en trozos de números binarios de 11 dígitos y los mapea al diccionario mnemotécnico BIP 39. Sigue siendo el mismo gran número, pero ahora puedes leerlo como palabras en inglés. Dado que tu cerebro está mucho más acostumbrado a este formato que a largas cadenas de 1s y 0s, esto reduce drásticamente las probabilidades de que escribas algo incorrectamente y pierdas tu Bitcoin en el proceso.
Es posible que hayas notado que en la codificación binaria en bruto de la palabra semilla anterior, hay cuatro dígitos ( por sí mismos, y la última “palabra” en realidad solo tiene 8 dígitos. Este es un código de verificación para asegurar que una frase semilla sea válida. Cuando generas tu número aleatorio, no hay suficientes dígitos para mapearlo exactamente a 12 ) o 24( palabras. La billetera codifica los dígitos existentes que generó y toma los primeros dígitos del hash para agregar al final de tu número aleatorio. Esto te da suficientes dígitos para mapear a la última palabra.
Esta última palabra te permite realizar un chequeo de seguridad sobre las copias de tu semilla. Si introduces incorrectamente tu semilla mnemotécnica en una billetera, la suma de verificación no coincidirá. Cada semilla de 12 o 24 palabras tiene múltiples palabras de suma de verificación potencialmente válidas, pero si la última palabra no coincide con una suma de verificación de una semilla correcta, tu billetera te advertirá que es inválida. Esto ofrece a las personas una forma intuitiva pero aún matemática de asegurar que sus copias de seguridad son correctas, a diferencia del complicado proceso de transcribir y respaldar números binarios en bruto.
La selección de las palabras específicas de la lista llegó incluso a asegurarse de que ninguna de las 2048 palabras tenga las mismas cuatro primeras letras. Esto se hizo para reducir la probabilidad de que las personas cometan errores de transcripción al confundir palabras similares y terminen con una copia incorrecta de sus claves privadas.
Traducir estas palabras en un conjunto de múltiples claves públicas/privadas es bastante sencillo. Tu semilla mnemotécnica se toma y se hash usando SHA512, lo que genera un hash de 512 1s y 0s individuales. La mitad de esa salida se utiliza como una clave privada real y la otra mitad se utiliza como entrada para SHA512 con un número de índice y la clave pública o privada existente para generar un nuevo par de claves. Puedes hacer esto tantas veces como quieras para generar nuevas claves públicas/privadas que se pueden recuperar de tu única frase mnemotécnica.
Esto asegura que puedes gestionar tus claves privadas de la manera más fácil y segura posible, con las menores probabilidades de cometer un error que te haga perder tu dinero. ¡Y todo esto se hizo usando matemáticas! Esperamos que ahora tengas una buena comprensión de por qué la gente dice que Bitcoin es dinero “asegurado por matemáticas.”
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Entendiendo tus claves de Bitcoin: palabras semilla Bip39
En el núcleo de la autosoberanía de Bitcoin se encuentra el control sobre tus claves privadas. Sin esto, estás esencialmente cediendo el control de tus fondos a otra persona. Como dice el refrán, “No tus claves, no tus monedas.” Para aquellos que no están familiarizados con los fundamentos técnicos de Bitcoin, un aspecto contraintuitivo es “dónde” reside realmente tu Bitcoin. Cuando la gente piensa en una billetera, imagina “el lugar donde guardo mi dinero.” En realidad, tu billetera de Bitcoin no “contiene” tu Bitcoin; simplemente almacena tus claves privadas. Tu Bitcoin existe como entradas de datos en la blockchain, mantenidas por todos los participantes de la red. Cuando gastas tus bitcoins, estás proponiendo una actualización de los datos de la blockchain. Una clave privada es la forma en que el protocolo asegura que solo tú puedes autorizar una actualización de la blockchain que gasta tu Bitcoin.
Entonces, ¿cuáles son tus claves privadas? Son solo números increíblemente grandes. Aquí hay una clave privada en binario:
110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010
256 aleatorios 1s y 0s. Este número aleatorio es lo que protege en última instancia tu Bitcoin. Puede no parecer mucho, pero su aleatoriedad garantiza la seguridad de tu billetera. Hay casi tantos posibles claves privadas de Bitcoin como átomos en el universo visible. Ese es el número de números que una computadora tendría que contar para generar y catalogar todas las posibles claves privadas. Siempre que el proceso utilizado para generar las claves sea verdaderamente aleatorio, tus claves estarán seguras.
Así es como se ve una clave privada en hexadecimal ( binario utiliza dos dígitos para codificar un número, 1 y 0, hexadecimal utiliza 16 dígitos, 0-9 y A-F):
E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A
Y así es como aparece una clave privada en el formato de importación de billetera sin comprimir (WIF):
5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G
El formato WIF era la forma en que todos interactuaban con sus claves privadas en los primeros días de Bitcoin. En esta era, podías generar una clave privada a la vez y luego generar la clave pública a partir de esa. El proceso de generación de una clave pública es esencialmente solo multiplicar números muy grandes, pero hay un poco más. Todas las claves públicas son puntos x e y en un gráfico que muestra una curva muy, muy grande que se pliega sobre sí misma.
En la curva del gráfico, en el caso de Bitcoin Secp256k1, hay un punto llamado el “punto generador.” Este punto generador puede considerarse como el “punto base” de la curva Secp256k1. Es integral al proceso de generación de claves y su firma. Este es el punto generador de la curva de Bitcoin:
G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
Para generar la clave pública a partir de tu clave privada, tomas la clave privada que generaste y la multiplicas por el punto generador. Eso es todo. Esto ahora establece un punto en el gráfico con una relación matemática a la clave privada que generaste que solo tú conoces.
Aquí hay una clave pública sin comprimir que muestra los puntos x e y:
04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED
Es muy común “comprimir” las claves públicas en el raro caso de que interactúes con ellas para simplemente almacenar la coordenada x con un byte que indique si la coordenada y es negativa o positiva. Eso lo acorta considerablemente:
02C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158
Cuando vas a firmar una transacción con tu clave privada, una vez más, se reduce a una simple multiplicación. Al generar un número aleatorio (el nonce) y usarlo junto con tu clave privada para multiplicar esencialmente el hash de la transacción que estás firmando, produce la firma (que se compone de dos valores, r y s). Esto permite que alguien ejecute un algoritmo para verificar que el mensaje fue firmado con la clave privada adecuada sin revelar esa clave. Lo que asegura que solo tú puedes autorizar el gasto de tu Bitcoin es esencialmente la multiplicación de números muy, muy grandes.
Si no estabas muy familiarizado con estos conceptos antes de leer esto, todo esto probablemente parece algo intimidante. ¿Binario? ¿Hexadecimales? ¿Puntos de gráfico? ¿Cómo respaldas un WIF?
Desde que se desarrollaron formas más intuitivas de manejar estos datos, la mayoría de los usuarios no están familiarizados con estos formatos complicados. Es probable que tengas más experiencia con semillas de palabras, también conocidas como frases semilla.
Semillas mnemotécnicas BIP 39
Las semillas mnemotécnicas, o frases semilla, fueron creadas para abordar el problema de la experiencia de interactuar con tus claves privadas.
Como discutimos anteriormente, las claves privadas son en última instancia solo una larga cadena de unos y ceros que se generan aleatoriamente. Imagina intentar hacer copias de esto y asegurarte de no cometer un error al transcribirlo:
110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010
Todo lo que se necesitaría es un solo error al copiar un dígito para que una copia de seguridad de tus claves sea inútil. Aquí es donde las semillas mnemotécnicas son útiles. 256 unos y ceros consecutivos no es una forma amigable para el ser humano de interactuar con información sensible. Registrar este número incorrectamente significa perder el acceso a tu cuenta.
camión renovar furia burro recordar computadora portátil reforma detalle dividir dolor porque gordo
Eso es mucho más fácil de manejar, ¿no? Solo 12 palabras. ¿Cómo funciona eso, pasar de un montón de 1s y 0s a una cadena de palabras que realmente tienen sentido para ti? ¡Un esquema de codificación, como binario o hexadecimal!
Cada una de esas 12 palabras en esa semilla mnemotécnica anterior es un número binario en un esquema de codificación que asigna cadenas específicas de unos y ceros a palabras. Si miramos hacia atrás en el ejemplo anterior de la clave privada WIF, esa era simplemente un número codificado en un esquema de codificación específico, en este caso base 58, que utiliza todos los números y letras del alfabeto excepto 0 y 1, y O y l (es sensible a mayúsculas). La exclusión de esos caracteres se hizo específicamente para hacer poco probable los errores de transcripción al confundir un 1 con una l o un 0 con una O. bech32 y bech32m utilizados por Segwit y Taproot llevan esto al siguiente nivel al usar solo este conjunto de caracteres (qpzry9x8gf2tvdw0s3jn54khce6mua7l).
Propuesta de Mejora de Bitcoin 39 (BIP 39) introdujo un esquema de codificación estandarizado donde cada palabra en un diccionario especialmente diseñado se mapea alfabéticamente a un número binario de 00000000001 a 11111111111. La semilla de demostración anterior se mapea a esto:
camión: 11101001001 renovar: 10110110001 fury: 01011110011 donkey: 01000001001 recuerda: 10110101110 laptop: 01111101000 reforma: 10110100010 detalle: 00111100010 divide: 11010010001 dolor: 01100110100 porque: 00010011110 fat: 01010011011
En binario se ve así: 11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 00010011110 01010011011
Hay 2048 palabras, cada una mapeada a una cadena específica de 11 dígitos de 1s y 0s, específicamente para facilitar que las personas interactúen con sus claves privadas. Cuando generas un número aleatorio para tu clave privada, tu billetera corta ese número en trozos de números binarios de 11 dígitos y los mapea al diccionario mnemotécnico BIP 39. Sigue siendo el mismo gran número, pero ahora puedes leerlo como palabras en inglés. Dado que tu cerebro está mucho más acostumbrado a este formato que a largas cadenas de 1s y 0s, esto reduce drásticamente las probabilidades de que escribas algo incorrectamente y pierdas tu Bitcoin en el proceso.
Es posible que hayas notado que en la codificación binaria en bruto de la palabra semilla anterior, hay cuatro dígitos ( por sí mismos, y la última “palabra” en realidad solo tiene 8 dígitos. Este es un código de verificación para asegurar que una frase semilla sea válida. Cuando generas tu número aleatorio, no hay suficientes dígitos para mapearlo exactamente a 12 ) o 24( palabras. La billetera codifica los dígitos existentes que generó y toma los primeros dígitos del hash para agregar al final de tu número aleatorio. Esto te da suficientes dígitos para mapear a la última palabra.
Esta última palabra te permite realizar un chequeo de seguridad sobre las copias de tu semilla. Si introduces incorrectamente tu semilla mnemotécnica en una billetera, la suma de verificación no coincidirá. Cada semilla de 12 o 24 palabras tiene múltiples palabras de suma de verificación potencialmente válidas, pero si la última palabra no coincide con una suma de verificación de una semilla correcta, tu billetera te advertirá que es inválida. Esto ofrece a las personas una forma intuitiva pero aún matemática de asegurar que sus copias de seguridad son correctas, a diferencia del complicado proceso de transcribir y respaldar números binarios en bruto.
La selección de las palabras específicas de la lista llegó incluso a asegurarse de que ninguna de las 2048 palabras tenga las mismas cuatro primeras letras. Esto se hizo para reducir la probabilidad de que las personas cometan errores de transcripción al confundir palabras similares y terminen con una copia incorrecta de sus claves privadas.
Traducir estas palabras en un conjunto de múltiples claves públicas/privadas es bastante sencillo. Tu semilla mnemotécnica se toma y se hash usando SHA512, lo que genera un hash de 512 1s y 0s individuales. La mitad de esa salida se utiliza como una clave privada real y la otra mitad se utiliza como entrada para SHA512 con un número de índice y la clave pública o privada existente para generar un nuevo par de claves. Puedes hacer esto tantas veces como quieras para generar nuevas claves públicas/privadas que se pueden recuperar de tu única frase mnemotécnica.
Esto asegura que puedes gestionar tus claves privadas de la manera más fácil y segura posible, con las menores probabilidades de cometer un error que te haga perder tu dinero. ¡Y todo esto se hizo usando matemáticas! Esperamos que ahora tengas una buena comprensión de por qué la gente dice que Bitcoin es dinero “asegurado por matemáticas.”