El campo de la criptografía es fundamental para muchos sistemas de criptomoneda como Bitcoin. La criptografía es la práctica de la comunicación segura en presencia de terceros. En otras palabras, la criptografía permite que los datos se almacenen y se comuniquen de tal manera que a terceros se les impide leer el contenido de lo que se ha comunicado. La criptografía se utiliza en la creación de claves públicas y privadas para hacer de los sistemas de criptomoneda una red segura en la que los usuarios pueden operar de manera segura.
El concepto de propiedad en un sistema de criptomoneda se compone principalmente de tres elementos interconectados:
- Claves digitales (Clave pública y Clave privada)
- Direcciones de criptomoneda
- Firmas digitales
El más importante de estos tres elementos son las claves digitales de un usuario, ya que permiten muchas de las características de propiedad que se pueden encontrar en los sistemas de criptomoneda de seguridad criptográfica. Es importante tener en cuenta que estas claves digitales no se almacenan en las propias redes de criptomonedas, sino que se almacenan y crean en carteras de criptomonedas, que existen independientemente de la red. Estas claves se generan en pares, que consta de una clave pública y una clave privada. La clave pública puede considerarse como la cuenta bancaria de una persona, mientras que la clave privada es el PIN secreto de esa cuenta bancaria.
La clave pública está conectada criptográficamente a una dirección de criptomoneda en el sentido de que la dirección es una representación de la clave pública. Es frecuente que la clave pública se use para generar una dirección de criptomoneda real. Esta dirección sirve como identificador de cuenta del usuario al que se pueden pagar los fondos.
Llave Pública
El aspecto importante que se debe comprender acerca de la incorporación de la criptografía de clave pública en los sistemas de criptomoneda como Bitcoin es que son prácticamente irreversibles. Esto significa que las funciones matemáticas que constituyen la criptografía de clave pública son relativamente fáciles de calcular en una dirección, y son prácticamente imposibles de calcular en la dirección opuesta. Esta característica criptográfica está en el corazón de los sistemas de criptomoneda, ya que facilita la creación de secretos digitales y firmas digitales imperdonables que son esenciales para la propiedad en estas redes descentralizadas.
Las criptomonedas como Bitcoin utilizan la multiplicación de curvas elípticas como la base de su criptografía. La multiplicación de puntos de curva elíptica es la operación de agregar sucesivamente un punto a lo largo de una curva elíptica repetidamente. Se utiliza en la criptografía de curva elíptica como medio para producir una función unidireccional, que es una función que es fácil de calcular en una dirección, pero difícil de hacerlo en la dirección opuesta.
En sistemas de criptomoneda como Bitcoin, esta función de una vía toma la clave privada como una entrada para generar la clave pública, que es la salida. Debido a esto, los propietarios de una clave privada pueden distribuir con confianza su clave pública con el conocimiento de que nadie podrá revertir la función y calcular la clave privada a partir de la clave pública.
Direcciones de criptomonedas
Una dirección de criptomoneda es simplemente una cadena de caracteres alfanuméricos que un usuario puede compartir con cualquier persona que quiera enviarles dinero. Como se mencionó anteriormente, una dirección de criptomoneda es efectivamente una representación de la clave pública. Una dirección se deriva de la clave pública mediante el uso de una función hash criptográfica unidireccional.
Con Bitcoin, los algoritmos que se utilizan para hacer una dirección de bitcoin de la clave pública son el algoritmo de hash seguro 256 (SHA-256) y el resumen de mensaje de evaluación de primitivas de integridad RACE 160 (RIPEMD-160). A partir de la clave pública, esta cadena de valores se ejecuta primero a través del algoritmo de hash SHA-256 para generar un hash, y luego ese hash se calcula utilizando RIPEMD160 para producir una dirección de bitcoin. La dirección de bitcoin y las direcciones en otros sistemas de criptomoneda son lo que aparece a menudo en una transacción entre dos partes, con la dirección que indica el destinatario de los fondos.
Llaves Privada
La clave privada consiste en caracteres alfanuméricos que le dan al usuario acceso y control sobre sus fondos a su dirección de criptomoneda correspondiente. La clave privada se utiliza para firmar transacciones que permiten al usuario gastar sus fondos. En otras palabras, la clave privada crea firmas digitales únicas para cada transacción que permiten a un usuario gastar sus fondos, demostrando que el usuario de hecho tiene la propiedad de esos fondos.
Por ejemplo:
Cuando Bob decide comprar un café en la tienda de Alice por 5 bitcoins, Bob presenta su clave pública y su firma digital (la clave privada se aplica a la transacción para producir la firma digital única) para gastar esos bitcoins. Esta firma solo puede ser producida por alguien con conocimiento de la clave privada, que en este caso es Bob. Sin embargo, cualquier persona con acceso a la clave pública y la firma digital puede usar estos dos elementos para verificar que, de hecho, Bob ejerce la propiedad sobre esos 5 bitcoins. Así es como todos los demás en la red de Bitcoin pueden verificar y aceptar la transacción de Bob como válida, sin necesidad de revelar la clave privada de Bob.
Firmas digitales
Una firma digital es un esquema matemático que se utiliza para mostrar la autenticidad de un mensaje o documento digital. Una firma digital que sea válida le dará al destinatario de un mensaje o documento digital un motivo para creer que el mensaje o documento fue creado por un remitente conocido. Una firma digital también indica que el remitente no puede negar de ninguna manera haber enviado el mensaje o documento, y que el mensaje o documento no se modificó en ningún momento mientras estaba en tránsito.
Las firmas digitales desempeñan un papel importante en los sistemas de criptomoneda, ya que demuestran la propiedad de los fondos y permiten que la persona que tiene el control de esos fondos los gaste. Por ejemplo, el algoritmo de firma digital que se utiliza en Bitcoin se conoce como el algoritmo de firma digital de curva elíptica, que también se conoce como ECDSA. ECDSA es el algoritmo que sustenta el esquema de firma en Bitcoin y se basa en la criptografía de curva elíptica. Este es el mismo enfoque criptográfico que se utiliza para producir pares de claves públicas y privadas.
En Bitcoin, una firma digital tiene la intención de servir a tres propósitos distintos:
- En primer lugar, una firma digital sirve como prueba de que el propietario de una clave privada, que por extensión tendrá la propiedad de sus fondos, de hecho, ha autorizado que esos fondos se puedan gastar.
- En segundo lugar, una firma digital sirve como prueba de que la autorización es innegable.
- En tercer lugar, una firma digital prueba que la transacción que ha sido autorizada por la firma no ha sido modificada por nadie después de haber sido firmada.
Firmas digitales en Bitcoin: cómo funcionan
Como se mencionó anteriormente, una firma digital es un esquema matemático, y este esquema matemático consta de dos partes. La primera parte es un algoritmo que crea la firma. Esta firma se crea utilizando una clave privada (que también se conoce como la clave de firma) y el hash de la transacción que se debe firmar. La segunda parte del esquema matemático es un algoritmo que permite a cualquiera verificar que la firma digital que se produce es válida.
La primera parte de la producción de una firma digital en Bitcoin se puede representar matemáticamente de la siguiente manera:
Sig = Fsig(Fhash(m),dA)
Donde:
- dA es la clave privada de firma
- m es la transacción
- Fhash es la función hash
- Fsig es el algoritmo de firma.
- Sig es la firma resultante.
La función de firma (Fsig) produce una firma (Sig) que consta de dos valores: R y S:
Sig = (R, S)
Una vez que se han calculado R y S, se serializan en un flujo de bytes que se codifica utilizando un esquema de codificación estándar internacional que se conoce como las Reglas de codificación distinguida (o DER). Para verificar que la firma es válida, se utiliza un algoritmo de verificación de firma. La verificación de una firma digital requiere lo siguiente:
- Firma (R y S)
- Hash de transacción
- La clave pública que corresponde a la clave privada que se utilizó para crear la firma
La verificación de una firma significa efectivamente que solo el propietario de la clave privada (que generó la clave pública) pudo haber producido la firma en la transacción. El algoritmo de verificación de firma devolverá "VERDADERO" si la firma es realmente válida.



0 Comentarios