Espacio publicitario

Bitcoin, un par de llaves digitales

La seguridad efectiva solo requiere mantener la «llave privada en privado, y la llave pública se hace pública sin comprometer la seguridad de la entidad».

  • ANÍBAL SANTAELLA

03/09/2020 05:00 am

Dándole continuidad al artículo La posesión de la moneda «bitcoin», en esta oportunidad hablaremos de las «llaves digitales», también llamadas claves digitales o simplemente claves. Las llaves digitales habilitan muchas de las propiedades interesantes de Bitcoin, la posesión de la moneda libre de intermediarios, la confianza descentralizada, la certificación de la propiedad y el modelo de seguridad a prueba de criptografía.

Llaves digitales

En Bitcoin utilizamos la fuerza de los números para generar un par de llaves, la generación de las llaves depende de algoritmos criptográficos basados en problemas matemáticos para producir funciones unidireccionales. Bitcoin usa fuentes entropía y aleatoriedad críticamente seguras como un «Generador de números pseudoaleatorios criptográficamente seguro (CSPRNG por sus siglas en inglés)», y «criptografía de clave pública también llamada criptografía asimétrica o criptografía de dos claves» para crear un «par de llaves» relacionadas matemáticamente de manera asimétrica, utilizando el algoritmo de firma digital de curva elíptica (ECDSA) dichas llaves controlan el acceso a las monedas. La seguridad efectiva solo requiere mantener la «llave privada en privado, y la llave pública se hace pública sin comprometer la seguridad de la entidad». La llave privada se usa para gastar bitcoin permite firmar transacciones que gastan bitcoin y la clave pública se usa para recibir bitcoin.

Las llaves digitales se crean y almacenan fuera de línea y su creación es independiente del protocolo de Bitcoin, pueden ser generadas y administradas por una aplicación que sirve como la interfaz primaria al usuario llamada monedero, billetera o cartera (wallet) y que controla la entidad sin referencia a la blockchain o el acceso a Internet.

Llave privada

La llave privada es simplemente un número de 256 bits generado aleatoriamente, comúnmente se usa un generador de números pseudoaleatorios criptográficamente seguro (CSPRNG). La llave privada es solo un número.

¿Qué es un número de 256 bits?

Un bites un dígito del sistema de numeración binario, donde cada dígito binario sólo puede representar un valor de 0 ó 1, puede usar bits para representar distintos tipos de datos, como números cotidianos. La capacidad de almacenamiento de una memoria digital también se mide en bits.

Un número de 256 bits es un número que se puede almacenar dentro de 256 bits de datos, es simplemente un número que se puede representar utilizando 256 de estos bits (como máximo). En pocas palabras, un número de 256 bits está entre:

Mínimo:0

Máximo:115792089237316195423570985008687907853269984665640564039457584007913129639935

El número total de números de 256 bits es igual a 2^256 («2» porque es un sistema binario, cada dígito solo puede tener 2 valores 0 o 1).

Ejemplo: puede generar un número de 256 bits al azar usando solo una moneda, un lápiz y un papel. Arroje la moneda 256 veces asigne valores binarios 0 y 1 a ambas caras y tendrá los dígitos binarios de una llave privada. El resultado puede verse algo así:

0101101100110101000101010100101001100111110100010101001111110011101101011100100001101011111110110110100011100010010011010010010100011101111101011001010101010111101111010101000111111100111011011100000110110010010100100101001001001000100001011101101111010011
Número de 256 bits, representación binaria

256 bits dan espacio para usar números astronómicamente grandes, para tener una idea de cuántas opciones hay en 256 bits esto aproximadamente igual el número de átomos en el universo, se estima que hay entre 10^78 y 10^82 átomos en el universo observable conocido.

Cabe destacar que los seres humanos no somos una fuente de aleatoriedad de alta entropía, por lo cual lo primero y más importante en la generación de la llave privada es encontrar una fuente segura de entropía o aleatoriedad. Crear una llave privada de bitcoin es esencialmente lo mismo que «elija un número entre 1 y 2^256». El método exacto que use para elegir ese número no importa siempre que no sea predecible o repetible. El software de Bitcoin utiliza los generadores de números aleatorios del sistema operativo subyacente para producir 256 bits de entropía. Entonces, si usa un buen generador de números aleatorios para elegir un número entre 1 y 2^256, es básicamente imposible que alguien adivine cuál es el número, es similar a la probabilidad de que alguien elija el mismo átomo del universo conocido que tu eliges.

Ya conocemos que es una llave privada «Kpriv», la cual nos permitirá generar un llave pública «Kpúb», y esa relación matemática asimétrica entre ellas es el mecanismo específico que apuntala la descentralización de la propiedad en Bitcoin y permite que cada entidad tenga control total sobre las monedas que posee sin la necesidad de un tercero de confianza, acompáñame en la lectura del siguiente artículo donde hablare sobre la llave pública.

Twitter @a_santaellas
Canal de YouTube Aníbal Santaella
Canal de Telegram
Siguenos en Telegram, Instagram, Facebook y Twitter para recibir en directo todas nuestras actualizaciones
-

Espacio publicitario

Espacio publicitario

Espacio publicitario

DESDE TWITTER

EDICIÓN DEL DÍA

Espacio publicitario

Espacio publicitario