Bitcoin, la llave pública
Una llave pública es una forma inicial o más primitiva de una dirección de Bitcoin la cual es el identificador único de un participante en la red de Bitcoin
En el artículo anterior hablamos de la llave privada, hoy hablaremos de la llave pública.
En Bitcoin usamos criptografía de clave pública utilizando el «Algoritmo de Firma Digital de Curva Elíptica (su nombre en inglés Elliptic Curve Digital Signature Algorithm ECDSA)», se utiliza una curva elíptica específica y un conjunto de constantes matemáticas, como se define en un estándar llamado secp256k1, establecido por el Instituto Nacional de Estándares y Tecnología (NIST). Este esquema permite generar de forma irreversible una llave pública derivada y vinculada de forma asimétrica a una llave privada. Sobre la base de este algoritmo, la criptografía permite la creación de secretos digitales que se comparten sin revelarlos y firmas digitales infalsificables.
Una llave pública es una clave que se entrega a otras personas. En Bitcoin, un usuario genera una llave privada y una llave pública, luego comparte la llave pública, es decir, la hace pública. Otros usuarios pueden vincular transacciones a esa llave pública -enviando Btc-, pero solo el poseedor de la llave privada puede acceder a dichos Btc.
Llave pública
Es un número único generado matemáticamente a partir de una llave privada usando una función de una sola dirección, lo que significa que la llave privada es casi imposible o computacionalmente inviable de derivar de la llave pública, es criptografía asimétrica.
Hablando en un nivel técnico, una llave pública es un punto en una curva elíptica que consta de un par de coordenadas (x, y). A continuación, un ejemplo de una llave pública en su representación más primitiva coordenadas (x, y) expresados en dígitos Hexadecimales:
x=F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
y=07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
También las llaves públicas se pueden presentar de diferentes formas como:
No-comprimidas: 520 bits y con el prefijo 04. Se presenta con el prefijo 04 seguido de dos números de 256 bits: uno para la coordenada x del punto y el otro para la coordenada y.
Esta es la misma clave pública que se muestra como un número de 520 bits (130 dígitos Hexadecimales) con el prefijo 04 seguido de las coordenadas x luego y, como 04 x y:
K=04F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
Comprimidas: 264 bits y con el prefijo 02 (si y es par) o 03 (si y es impar). Esta es la misma llave pública, ahora se muestra como una clave pública comprimida almacenada en 264 bits (66 dígitos Hexadecimales) con el prefijo 03 que indica que la coordenada y es impar:
K=03F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
Debido a que la curva expresa una función matemática, un punto en la curva representa una solución a la ecuación y, por lo tanto, si conocemos la coordenada x podemos calcular la coordenada y resolviendo la ecuación. Eso nos permite almacenar solo la coordenada x del punto de llave pública, omitiendo la coordenada y, así reduciendo el tamaño de la llave y el espacio requerido para almacenarla en 256 bits. Una reducción de casi el 50% en el tamaño en cada transacción se suma a una gran cantidad de datos guardados con el tiempo.
Las llaves públicas comprimidas se están convirtiendo gradualmente en el valor predeterminado en las implementaciones de Bitcoin, lo que está teniendo un impacto significativo en la reducción del tamaño de las transacciones y, por lo tanto, en la blockchain.
Lo más importante es que la llave pública es un número derivado de una manera irreversible de la llave privada, es decir, ambas llaves están relacionadas matemáticamente de forma asimétrica y tanto las llaves públicas como las privadas se pueden representar en varios formatos diferentes. Todas estas representaciones codifican el mismo número, aunque se vean diferentes; estos formatos se utilizan principalmente para facilitar la lectura y transcripción de claves sin introducir errores.
Una llave pública es una forma inicial o más primitiva de una dirección de Bitcoin la cual es el identificador único de un participante en la red de Bitcoin, la seguridad efectiva de una entidad en Bitcoin consiste en mantener siempre en secreto la llave privada y la llave pública se hace pública, con la llave privada gasta fondos y con la llave pública recibe fondos.
Bitcoin como un sistema descentralizado de entidades seudónimas, permite a las entidades participantes crear un nuevo «nombre, identificador» a voluntad propia.
Entidad en Btc = un par de llaves aleatorias [Kpriv, Kpúb]
Llave privada [Kpriv] = permite hablar y controlar la entidad.
Llave pública [Kpúb] = nombre o identificador público en la red, generalmente expresado por una dirección.
La entidad tiene control total y soberanía sobre los fondos, porque solo ella conoce la llave privada.
Acompáñame en el próximo artículo donde seguiremos descubriendo a Bitcoin.
Twitter @a_santaellas
Canal de YouTube Aníbal Santaella
Canal de Telegram
En Bitcoin usamos criptografía de clave pública utilizando el «Algoritmo de Firma Digital de Curva Elíptica (su nombre en inglés Elliptic Curve Digital Signature Algorithm ECDSA)», se utiliza una curva elíptica específica y un conjunto de constantes matemáticas, como se define en un estándar llamado secp256k1, establecido por el Instituto Nacional de Estándares y Tecnología (NIST). Este esquema permite generar de forma irreversible una llave pública derivada y vinculada de forma asimétrica a una llave privada. Sobre la base de este algoritmo, la criptografía permite la creación de secretos digitales que se comparten sin revelarlos y firmas digitales infalsificables.
Una llave pública es una clave que se entrega a otras personas. En Bitcoin, un usuario genera una llave privada y una llave pública, luego comparte la llave pública, es decir, la hace pública. Otros usuarios pueden vincular transacciones a esa llave pública -enviando Btc-, pero solo el poseedor de la llave privada puede acceder a dichos Btc.
Llave pública
Es un número único generado matemáticamente a partir de una llave privada usando una función de una sola dirección, lo que significa que la llave privada es casi imposible o computacionalmente inviable de derivar de la llave pública, es criptografía asimétrica.
Hablando en un nivel técnico, una llave pública es un punto en una curva elíptica que consta de un par de coordenadas (x, y). A continuación, un ejemplo de una llave pública en su representación más primitiva coordenadas (x, y) expresados en dígitos Hexadecimales:
x=F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
y=07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
También las llaves públicas se pueden presentar de diferentes formas como:
No-comprimidas: 520 bits y con el prefijo 04. Se presenta con el prefijo 04 seguido de dos números de 256 bits: uno para la coordenada x del punto y el otro para la coordenada y.
Esta es la misma clave pública que se muestra como un número de 520 bits (130 dígitos Hexadecimales) con el prefijo 04 seguido de las coordenadas x luego y, como 04 x y:
K=04F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
Comprimidas: 264 bits y con el prefijo 02 (si y es par) o 03 (si y es impar). Esta es la misma llave pública, ahora se muestra como una clave pública comprimida almacenada en 264 bits (66 dígitos Hexadecimales) con el prefijo 03 que indica que la coordenada y es impar:
K=03F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
Debido a que la curva expresa una función matemática, un punto en la curva representa una solución a la ecuación y, por lo tanto, si conocemos la coordenada x podemos calcular la coordenada y resolviendo la ecuación. Eso nos permite almacenar solo la coordenada x del punto de llave pública, omitiendo la coordenada y, así reduciendo el tamaño de la llave y el espacio requerido para almacenarla en 256 bits. Una reducción de casi el 50% en el tamaño en cada transacción se suma a una gran cantidad de datos guardados con el tiempo.
Las llaves públicas comprimidas se están convirtiendo gradualmente en el valor predeterminado en las implementaciones de Bitcoin, lo que está teniendo un impacto significativo en la reducción del tamaño de las transacciones y, por lo tanto, en la blockchain.
Lo más importante es que la llave pública es un número derivado de una manera irreversible de la llave privada, es decir, ambas llaves están relacionadas matemáticamente de forma asimétrica y tanto las llaves públicas como las privadas se pueden representar en varios formatos diferentes. Todas estas representaciones codifican el mismo número, aunque se vean diferentes; estos formatos se utilizan principalmente para facilitar la lectura y transcripción de claves sin introducir errores.
Una llave pública es una forma inicial o más primitiva de una dirección de Bitcoin la cual es el identificador único de un participante en la red de Bitcoin, la seguridad efectiva de una entidad en Bitcoin consiste en mantener siempre en secreto la llave privada y la llave pública se hace pública, con la llave privada gasta fondos y con la llave pública recibe fondos.
Bitcoin como un sistema descentralizado de entidades seudónimas, permite a las entidades participantes crear un nuevo «nombre, identificador» a voluntad propia.
Entidad en Btc = un par de llaves aleatorias [Kpriv, Kpúb]
Llave privada [Kpriv] = permite hablar y controlar la entidad.
Llave pública [Kpúb] = nombre o identificador público en la red, generalmente expresado por una dirección.
La entidad tiene control total y soberanía sobre los fondos, porque solo ella conoce la llave privada.
Acompáñame en el próximo artículo donde seguiremos descubriendo a Bitcoin.
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