¿Qué es una Firma digital y cómo funciona?

Intermedio1/19/2024, 6:23:26 PM
Las blockchains utilizan firmas digitales como parte integral de su proceso de verificación descentralizado, creando una forma segura de autenticar procesos sin exponer la identidad del usuario.

Introducción

Una firma digital es una herramienta criptográfica empleada en campos como ciberseguridad, comercio electrónico y distribución de software. Proporcionan un método para verificar el origen y la integridad de mensajes o documentos digitales.

Sin embargo, la tecnología Blockchain popularizó el uso de firmas digitales como parte integral de su proceso de verificación descentralizado y de transacciones. Este artículo examina de cerca cómo funciona la firma digital, los diversos algoritmos utilizados por las cadenas de bloques y sus aplicaciones en el espacio Web3.

Comprendiendo la Firma digital

Fuente: CoinGeek

Una firma digital es una técnica criptográfica utilizada para verificar la autenticidad e integridad de mensajes digitales, documentos o transacciones. Las firmas digitales se consideran más seguras que las firmas electrónicas.

Tradicionalmente, las firmas garantizan que los acuerdos sean legalmente vinculantes, validan las identidades de las partes involucradas y tienen una aceptación definitiva de los términos del contrato. Las firmas digitales van un paso más allá para resolver el problema de la alteración y falsificación, lo que las convierte en una forma de firma más segura.

Características de la Firma digital

Las principales características de una firma digital son:

  • Autenticación: Una firma digital demuestra que el mensaje fue enviado por el remitente reclamado verificando el mensaje con las claves públicas del remitente.
  • No repudio: Las firmas digitales utilizan las claves públicas del remitente para descifrar la firma, si tienen éxito, el remitente no puede negar el envío del mensaje.
  • Integridad: La capacidad de verificar que el valor hash/digestión demuestra que los datos no fueron modificados en tránsito.

Cifrado asimétrico

Fuente: WikiBooks

La criptografía asimétrica es un método para cifrar y descifrar datos con dos claves diferentes, lo que hace que una de las claves (es decir, la clave pública) se comparta abiertamente con cualquiera. La otra clave, conocida como la clave privada, es una clave confidencial y almacenada de forma segura, conocida solo por el firmante. Los datos cifrados con una clave solo pueden descifrarse con la otra.

En criptografía, una clave suele ser una cadena de números y letras, utilizada para cifrar datos de manera que parezcan aleatorios. Sin embargo, cualquier persona con la clave correcta para descifrar los datos puede deshacer el cifrado y devolverlos a su forma original.

Por ejemplo, supongamos que tomamos una imagen y la encriptamos con una clave; digamos que la clave es 28j932d8kd8. Encriptada con esta clave, nuestra imagen se ve como “X5CSycg14=xJ”. Sin embargo, al descifrarla con la clave correcta, podemos recuperar nuestra imagen.

Términos clave que necesitas entender

Hashing

El hashing es el proceso de convertir datos (textos, archivos), una entrada de tamaño variable en una salida de letras y números de longitud fija, utilizando funciones hash. Es un proceso unidireccional, donde los valores hash no pueden revertirse a la entrada original, pero la misma pieza de entrada siempre generará el mismo valor hash.

Fuente: CyberHoot

En la imagen de arriba, un trozo de texto (un acertijo) pasa a través de una función hash (SHA-256) y se convierte en un hash (una longitud fija de números y letras).

¿Qué son las funciones hash?

Un algoritmo que procesa los datos a firmar, produciendo un valor de hash de tamaño fijo. La función hash garantiza que la firma tenga una longitud fija, independientemente del tamaño de los datos originales.

Valor Hash

La salida final de la función hash es el valor hash, también conocido como digestión, que es único para cada entrada. El tamaño del valor hash varía de 32 bits a 256 bits, dependiendo de la función hash utilizada. Los valores hash solo son necesarios para un solo uso en procesos como la autenticación de datos o la creación de firmas digitales. Por lo tanto, una firma digital es única por transacción.

¿Cómo funcionan las firmas digitales?

Para ejecutar una firma digital, necesitarías lo siguiente:

  1. Un par de claves: El par de claves consta de un par de claves público/privada. La clave privada se utiliza para crear una firma, y la clave pública correspondiente se utiliza para verificar la firma.

  2. Los Datos a Firmar: El contenido o mensaje que deseas firmar. Esto podría ser un documento, una transacción o cualquier dato digital.

  3. Función de hash: Se aplica una función de hash a los datos para crear un valor de hash de tamaño fijo. Este valor de hash se encripta luego con la clave privada para generar la firma digital.

  4. Algoritmo de Firma Digital: Un algoritmo que combina la clave privada con los datos a firmar, generalmente involucrando una función hash. Este algoritmo genera la firma digital.

  5. Mecanismo de Verificación: Cualquiera que desee verificar la firma digital necesita acceso a la clave pública y al mismo algoritmo de firma digital. La clave pública se utiliza para descifrar la firma digital y revelar el valor hash, que luego se compara con el valor hash calculado a partir de los datos originales.

¿Cómo se combinan para que funcione?

Fuente: CamCert — El remitente firma (encripta) el valor hash con su clave privada, y el receptor verifica la autenticidad del mensaje comparando los valores hash

Paso 1: Cree un valor de resumen/hash pasando los datos originales a través de una función hash

Paso 2: Firmar el resumen con la clave privada del remitente para crear una encriptación.

Paso 3: Envíe el archivo cifrado al destinatario, quien puede descifrarlo utilizando la clave pública del remitente para generar un resumen.

Paso 4: Después de descifrar, ejecute los datos a través de la misma función hash para generar un resumen equivalente.

Paso 5: Valide la integridad de los datos comparando el hash recién generado con el valor del hash recibido junto a los datos. Una coincidencia confirma la integridad de los datos.

Utilicemos esta ilustración de una transferencia de un documento entre Mark, el remitente, y Karen, la destinataria.

  1. Firma y Envío: Mark inicia el proceso enviando un documento. El documento se pasa por un algoritmo hash, creando un valor de resumen/hash. Este resumen se cifra con la clave privada de Mark, finalizando la firma digital; una combinación del documento y su clave privada.
  2. Recibir y verificar: Karen, la destinataria, emplea la clave pública de Mark para descifrar la firma digital, obteniendo el resumen original. Independientemente, Karen aplica el mismo algoritmo de hash al documento recibido, generando otro resumen.
  3. Karen compara los dos resúmenes: uno de la firma descifrada y otro generado de forma independiente. Si coinciden, Karen tiene la seguridad de la integridad del documento y la autenticidad de Mark como remitente.

Algoritmos de Firma Utilizados en Blockchains

La elección de algoritmos de Firma digital depende de factores como requisitos de seguridad, tamaño de clave y consideraciones de rendimiento. Cada algoritmo tiene sus fortalezas y debilidades, y su uso puede evolucionar en función de los avances en criptografía y los desafíos emergentes de seguridad.

Esta sección discute los algoritmos de firma digital más comúnmente utilizados en la tecnología blockchain.

  1. ECDSA (Elliptic Curve Digital Signature Algorithm): Esto utiliza claves más cortas y requiere menos recursos computacionales y utiliza claves de criptografía de curva elíptica que son grupos finitos de puntos en una curva donde ciertas operaciones se ejecutan fácilmente en una dirección pero son desafiantes en la dirección contraria. Para seguridad, ECDSA se basa en el problema del logaritmo discreto. Es el algoritmo de firma más popular utilizado en la tecnología blockchain.

  2. EdDSA (Algoritmo de Firma Digital de Curva de Edwards): Este es un algoritmo de firma digital moderno y eficiente basado en criptografía de curva elíptica. Se introdujo para abordar ciertas preocupaciones y mejorar el rendimiento en comparación con otros esquemas de firma como ECDSA. El algoritmo está diseñado para proporcionar una seguridad sólida con tamaños de clave relativamente pequeños, lo que lo hace adecuado para diversas aplicaciones, incluida la tecnología blockchain, por ejemplo, Cardano y Solana.

  3. El algoritmo Schnorr: Una firma Schnorr es un tipo de algoritmo de firma digital que permite la agregación, es decir, múltiples firmas en el mismo mensaje pueden agruparse en una sola firma. Esta firma no solo es más eficiente en espacio, sino que también facilita un proceso de verificación más eficiente.
    Resulta efectivo en escenarios que involucran a múltiples partes firmando un mensaje común, como autorizar una transacción desde una dirección de firma múltiple (multifirma). En tales casos, cada participante debe proporcionar su clave pública y firma. En consecuencia, si tres partes pretenden firmar el mismo mensaje, la prueba abarcará tres claves públicas y tres firmas. Esto parece ser ineficiente en términos de cálculo y almacenamiento, ya que se requiere que cada nodo ejecute la función de verificación de firma tres veces y almacene tres conjuntos distintos de firmas y claves públicas.
    El algoritmo de Schnorr simplemente produce una firma que es válida para la suma de sus claves públicas. La agregación de claves puede reducir las tarifas de gas y mejorar la escalabilidad de la capa base, ya que las firmas provenientes de una transacción de firma múltiple ocupan el mismo espacio en un bloque que las firmas provenientes de una transacción de una sola parte.

  4. La Firma BLS: El algoritmo criptográfico BLS (Boneh-Lynn-Shacham) se basa en emparejamientos bilineales sobre grupos de curvas elípticas. Fue introducido por Dan Boneh, Ben Lynn y Hovav Shacham en 2001. El enfoque principal de la criptografía BLS se centra en esquemas de firma eficientes y seguros que admiten propiedades únicas como la agregación. Además, la Firma BLS se utiliza en Ethereum 2.0 y Chia.

Cadenas de bloques, su algoritmo de hash y algoritmo de firma

  1. Bitcoin (BTC):
    Algoritmo de hash: SHA-256
    Algoritmo de Firma Digital: ECDSA, Schnoor (Rama Blanda TapRoot)

  2. Ethereum (ETH):
    Algoritmo de hash: Keccak
    Algoritmo de Firma Digital: ECDSA

  3. Litecoin (LTC):
    Algoritmo de hash: Scrypt
    Algoritmo de firma digital: ECDSA

  4. Ripple (XRP):
    Algoritmo de hash: SHA-256
    Algoritmo de firma digital: ECDSA

  5. Cardano (ADA):
    Algoritmo de hash: Keccak
    Algoritmo de Firma Digital: EdDSA (Algoritmo de Firma Digital de Curva de Edwards)

  6. Polkadot (DOT):
    Algoritmo de Hashing: Blake2
    Algoritmo de Firma Digital: EdDSA

  7. Tezos (XTZ):
    Algoritmo de hash: Blake2b
    Algoritmo de Firma Digital: EdDSA

  8. Cadena BNB (BNB):
    Algoritmo de hash: Keccak (utilizado para tokens BEP-2)
    Algoritmo de Firma Digital: ECDSA

Cómo Bitcoin utiliza la Firma digital

Bitcoin utiliza el Algoritmo de Firma Digital de Curva Elíptica (ECDSA) para generar una firma única para cada transacción. Sin embargo, con los avances recientes, el algoritmo de Schnorr ha sido introducido a través de la bifurcación suave TapRoot. Este algoritmo, conocido por su eficiencia en términos de almacenamiento y velocidad de verificación, puede mejorar la escalabilidad de Bitcoin hasta un 30%, con su característica de agregación de transacciones.

)

Fuente: TimesofIndia - Solo las transacciones firmadas pueden ser propagadas y validadas por los nodos de la red

El mecanismo básico de las transacciones de Bitcoin implica una serie de pasos que incluye el uso de firma digital.

Aquí tienes un resumen:

  1. El remitente decide realizar una transacción de bitcoin, Esto podría implicar enviar bitcoins a otro usuario o varios usuarios.
  2. El remitente crea un mensaje de transacción que contiene detalles clave, como la dirección de la billetera del destinatario, la cantidad de BTC que se envía, cualquier tarifa asociada y el origen del bitcoin (salidas de transacciones no gastadas o UTXO) que se utilizan como insumos para la transacción.
  3. El remitente firma el mensaje de transacción con su clave privada utilizando el Algoritmo de Firma Digital de Curva Elíptica (ECDSA). Esta firma digital proporciona pruebas de que la transacción ha sido autorizada por el legítimo propietario de la dirección de envío.
  4. El mensaje de la transacción se hasheado utilizando el SHA-256 (Algoritmo de Hash Seguro de 256 bits) y luego se hasheado aún más utilizando RIPEMD-160 (Evaluación de Primitivas de Integridad de Carrera Mensaje de Digerir de 160 bits). Este proceso genera un hash de longitud fija, comúnmente conocido como la ID de transacción o hash.
  5. La transacción firmada se transmite a la red de Bitcoin, donde se vuelve visible para todos los nodos (computadoras que participan en la red de Bitcoin). Los nodos en la red, incluidos los mineros, verifican la validez de la transacción. Esta verificación incluye revisar la firma digital para asegurarse de que coincida con la clave pública del remitente y de que los insumos (UTXOs) utilizados en la transacción estén sin gastar y sean válidos.
  6. Las transacciones válidas son recopiladas por los mineros, quienes compiten para resolver un problema matemático complejo (prueba de trabajo). El primer minero en resolver el problema agrega un bloque que contiene las transacciones verificadas a la cadena de bloques.
  7. El bloque recién agregado se transmite a la red, y otros nodos verifican la prueba de trabajo y la validez de las transacciones dentro del bloque. Una vez que se alcanza un consenso, el bloque se considera confirmado y la transacción se registra permanentemente en la cadena de bloques.
  8. El saldo de la billetera del destinatario se actualiza para reflejar los bitcoins recibidos, y el saldo de la billetera del remitente se ajusta para tener en cuenta los UTXOs gastados.

Aplicaciones de Firmas Digitales en Web3

Ahora que entendemos el funcionamiento y la importancia de las firmas. Destaquemos las aplicaciones prácticas de las firmas digitales en la seguridad de transacciones, la autenticación de identidades y la garantía de la integridad de los datos en el ecosistema Web3.

Autenticación de transacción

Tomemos, por ejemplo, que Alice quiere transferir Ethereum a Bob. Ella firma la transacción con su clave privada, generando una firma digital. La red de Ethereum verifica la firma usando la clave pública de Alice, asegurando que la transacción esté autorizada por ella. Esto también es aplicable a la transferencia de propiedad de un NFT, ya que se registra en la cadena de bloques con una transacción firmada, asegurando la legitimidad del cambio de propiedad.

Ejecución de contratos inteligentes

Los contratos inteligentes están diseñados para interactuar con las firmas y pueden ejecutar transacciones tras verificarlas. Por ejemplo, en una plataforma de préstamos descentralizada, un usuario inicia una solicitud de préstamo. La solicitud activa la ejecución de un contrato inteligente. El usuario firma la transacción con su clave privada, y el contrato inteligente verifica la firma para ejecutar el acuerdo de préstamo.

Identidad y autenticación descentralizadas

Un usuario inicia sesión en una aplicación descentralizada (dApp) utilizando su identidad blockchain, por ejemplo, la dirección de Ethereum. La dApp solicita un mensaje firmado del usuario (clave privada), que sirve como prueba de propiedad. La firma digital autentica la identidad del usuario.

Esta también puede ser una forma fácil de incorporar nuevos usuarios de Web3, ya que no necesitan crear una cuenta y almacenar otra contraseña, los usuarios pueden ocultar su identidad y no necesitan necesariamente revelar detalles privados como su dirección de correo electrónico.

Integridad de datos y No Repudio de NFTs

Un artista firma un archivo de arte digital con su clave privada antes de acuñarlo como un NFT. La firma digital asegura la integridad de la obra de arte, y el artista no puede negar más tarde la autoría.

Sistemas de votación

En una plataforma de votación descentralizada, los votantes emiten sus votos firmando sus opciones con sus claves privadas. Las firmas digitales autentican los votos y garantizan que cada votante pueda verificar su contribución. Esta aplicación se ve en la votación de gobernanza y la votación de protocolo de consenso.

Interoperabilidad entre Cadenas

Un usuario transfiere un token de una cadena de bloques a otra utilizando un protocolo puente. El usuario firma una transacción en la cadena de origen, y la cadena de destino verifica la firma, permitiendo la transferencia entre cadenas.

Desafíos y tendencias futuras

El Desafío de los Ataques Cuánticos

Las firmas digitales siguen siendo una de las formas infalibles de autenticación en la cadena de bloques. Sin embargo, el desarrollo de computadoras cuánticas a gran escala representará una amenaza para la seguridad de las cadenas de bloques, ya que los algoritmos criptográficos pueden ser descifrados rápidamente por computadoras cuánticas.

Las computadoras cuánticas pueden procesar tareas a velocidades increíbles, logrando en segundos lo que a las computadoras tradicionales les llevaría horas, los actores malintencionados pueden usar una computadora cuántica para llevar a cabo ataques cuánticos que podrían comprometer toda una cadena de bloques.

Sin embargo, pueden ser prevenidos por firmas post-cuánticas, que ya están en desarrollo, aunque ocuparían un espacio de almacenamiento más grande en la cadena de bloques.

Conclusión

Las firmas digitales verifican la autenticidad y la integridad de los datos, basándose en los principios de la criptografía asimétrica y el hashing. Funciona utilizando la clave privada del remitente para autenticar la forma hasheada de los datos, y el receptor verifica con la clave pública del remitente. Los algoritmos criptográficos más comúnmente utilizados por las blockchains son las firmas ECDSA, EdDSA, Schnorr y BLS.

Además, el uso de firmas digitales es principalmente aplicable en la autenticación de transacciones, la ejecución de contratos inteligentes, la votación de gobernanza, las transferencias entre cadenas y la integridad de los datos de NFTs.

Auteur : Paul
Traduction effectuée par : Sonia
Examinateur(s): Piccolo、Edward、Ashley He
* Les informations ne sont pas destinées à être et ne constituent pas des conseils financiers ou toute autre recommandation de toute sorte offerte ou approuvée par Gate.io.
* Cet article ne peut être reproduit, transmis ou copié sans faire référence à Gate.io. Toute contravention constitue une violation de la loi sur le droit d'auteur et peut faire l'objet d'une action en justice.

¿Qué es una Firma digital y cómo funciona?

Intermedio1/19/2024, 6:23:26 PM
Las blockchains utilizan firmas digitales como parte integral de su proceso de verificación descentralizado, creando una forma segura de autenticar procesos sin exponer la identidad del usuario.

Introducción

Una firma digital es una herramienta criptográfica empleada en campos como ciberseguridad, comercio electrónico y distribución de software. Proporcionan un método para verificar el origen y la integridad de mensajes o documentos digitales.

Sin embargo, la tecnología Blockchain popularizó el uso de firmas digitales como parte integral de su proceso de verificación descentralizado y de transacciones. Este artículo examina de cerca cómo funciona la firma digital, los diversos algoritmos utilizados por las cadenas de bloques y sus aplicaciones en el espacio Web3.

Comprendiendo la Firma digital

Fuente: CoinGeek

Una firma digital es una técnica criptográfica utilizada para verificar la autenticidad e integridad de mensajes digitales, documentos o transacciones. Las firmas digitales se consideran más seguras que las firmas electrónicas.

Tradicionalmente, las firmas garantizan que los acuerdos sean legalmente vinculantes, validan las identidades de las partes involucradas y tienen una aceptación definitiva de los términos del contrato. Las firmas digitales van un paso más allá para resolver el problema de la alteración y falsificación, lo que las convierte en una forma de firma más segura.

Características de la Firma digital

Las principales características de una firma digital son:

  • Autenticación: Una firma digital demuestra que el mensaje fue enviado por el remitente reclamado verificando el mensaje con las claves públicas del remitente.
  • No repudio: Las firmas digitales utilizan las claves públicas del remitente para descifrar la firma, si tienen éxito, el remitente no puede negar el envío del mensaje.
  • Integridad: La capacidad de verificar que el valor hash/digestión demuestra que los datos no fueron modificados en tránsito.

Cifrado asimétrico

Fuente: WikiBooks

La criptografía asimétrica es un método para cifrar y descifrar datos con dos claves diferentes, lo que hace que una de las claves (es decir, la clave pública) se comparta abiertamente con cualquiera. La otra clave, conocida como la clave privada, es una clave confidencial y almacenada de forma segura, conocida solo por el firmante. Los datos cifrados con una clave solo pueden descifrarse con la otra.

En criptografía, una clave suele ser una cadena de números y letras, utilizada para cifrar datos de manera que parezcan aleatorios. Sin embargo, cualquier persona con la clave correcta para descifrar los datos puede deshacer el cifrado y devolverlos a su forma original.

Por ejemplo, supongamos que tomamos una imagen y la encriptamos con una clave; digamos que la clave es 28j932d8kd8. Encriptada con esta clave, nuestra imagen se ve como “X5CSycg14=xJ”. Sin embargo, al descifrarla con la clave correcta, podemos recuperar nuestra imagen.

Términos clave que necesitas entender

Hashing

El hashing es el proceso de convertir datos (textos, archivos), una entrada de tamaño variable en una salida de letras y números de longitud fija, utilizando funciones hash. Es un proceso unidireccional, donde los valores hash no pueden revertirse a la entrada original, pero la misma pieza de entrada siempre generará el mismo valor hash.

Fuente: CyberHoot

En la imagen de arriba, un trozo de texto (un acertijo) pasa a través de una función hash (SHA-256) y se convierte en un hash (una longitud fija de números y letras).

¿Qué son las funciones hash?

Un algoritmo que procesa los datos a firmar, produciendo un valor de hash de tamaño fijo. La función hash garantiza que la firma tenga una longitud fija, independientemente del tamaño de los datos originales.

Valor Hash

La salida final de la función hash es el valor hash, también conocido como digestión, que es único para cada entrada. El tamaño del valor hash varía de 32 bits a 256 bits, dependiendo de la función hash utilizada. Los valores hash solo son necesarios para un solo uso en procesos como la autenticación de datos o la creación de firmas digitales. Por lo tanto, una firma digital es única por transacción.

¿Cómo funcionan las firmas digitales?

Para ejecutar una firma digital, necesitarías lo siguiente:

  1. Un par de claves: El par de claves consta de un par de claves público/privada. La clave privada se utiliza para crear una firma, y la clave pública correspondiente se utiliza para verificar la firma.

  2. Los Datos a Firmar: El contenido o mensaje que deseas firmar. Esto podría ser un documento, una transacción o cualquier dato digital.

  3. Función de hash: Se aplica una función de hash a los datos para crear un valor de hash de tamaño fijo. Este valor de hash se encripta luego con la clave privada para generar la firma digital.

  4. Algoritmo de Firma Digital: Un algoritmo que combina la clave privada con los datos a firmar, generalmente involucrando una función hash. Este algoritmo genera la firma digital.

  5. Mecanismo de Verificación: Cualquiera que desee verificar la firma digital necesita acceso a la clave pública y al mismo algoritmo de firma digital. La clave pública se utiliza para descifrar la firma digital y revelar el valor hash, que luego se compara con el valor hash calculado a partir de los datos originales.

¿Cómo se combinan para que funcione?

Fuente: CamCert — El remitente firma (encripta) el valor hash con su clave privada, y el receptor verifica la autenticidad del mensaje comparando los valores hash

Paso 1: Cree un valor de resumen/hash pasando los datos originales a través de una función hash

Paso 2: Firmar el resumen con la clave privada del remitente para crear una encriptación.

Paso 3: Envíe el archivo cifrado al destinatario, quien puede descifrarlo utilizando la clave pública del remitente para generar un resumen.

Paso 4: Después de descifrar, ejecute los datos a través de la misma función hash para generar un resumen equivalente.

Paso 5: Valide la integridad de los datos comparando el hash recién generado con el valor del hash recibido junto a los datos. Una coincidencia confirma la integridad de los datos.

Utilicemos esta ilustración de una transferencia de un documento entre Mark, el remitente, y Karen, la destinataria.

  1. Firma y Envío: Mark inicia el proceso enviando un documento. El documento se pasa por un algoritmo hash, creando un valor de resumen/hash. Este resumen se cifra con la clave privada de Mark, finalizando la firma digital; una combinación del documento y su clave privada.
  2. Recibir y verificar: Karen, la destinataria, emplea la clave pública de Mark para descifrar la firma digital, obteniendo el resumen original. Independientemente, Karen aplica el mismo algoritmo de hash al documento recibido, generando otro resumen.
  3. Karen compara los dos resúmenes: uno de la firma descifrada y otro generado de forma independiente. Si coinciden, Karen tiene la seguridad de la integridad del documento y la autenticidad de Mark como remitente.

Algoritmos de Firma Utilizados en Blockchains

La elección de algoritmos de Firma digital depende de factores como requisitos de seguridad, tamaño de clave y consideraciones de rendimiento. Cada algoritmo tiene sus fortalezas y debilidades, y su uso puede evolucionar en función de los avances en criptografía y los desafíos emergentes de seguridad.

Esta sección discute los algoritmos de firma digital más comúnmente utilizados en la tecnología blockchain.

  1. ECDSA (Elliptic Curve Digital Signature Algorithm): Esto utiliza claves más cortas y requiere menos recursos computacionales y utiliza claves de criptografía de curva elíptica que son grupos finitos de puntos en una curva donde ciertas operaciones se ejecutan fácilmente en una dirección pero son desafiantes en la dirección contraria. Para seguridad, ECDSA se basa en el problema del logaritmo discreto. Es el algoritmo de firma más popular utilizado en la tecnología blockchain.

  2. EdDSA (Algoritmo de Firma Digital de Curva de Edwards): Este es un algoritmo de firma digital moderno y eficiente basado en criptografía de curva elíptica. Se introdujo para abordar ciertas preocupaciones y mejorar el rendimiento en comparación con otros esquemas de firma como ECDSA. El algoritmo está diseñado para proporcionar una seguridad sólida con tamaños de clave relativamente pequeños, lo que lo hace adecuado para diversas aplicaciones, incluida la tecnología blockchain, por ejemplo, Cardano y Solana.

  3. El algoritmo Schnorr: Una firma Schnorr es un tipo de algoritmo de firma digital que permite la agregación, es decir, múltiples firmas en el mismo mensaje pueden agruparse en una sola firma. Esta firma no solo es más eficiente en espacio, sino que también facilita un proceso de verificación más eficiente.
    Resulta efectivo en escenarios que involucran a múltiples partes firmando un mensaje común, como autorizar una transacción desde una dirección de firma múltiple (multifirma). En tales casos, cada participante debe proporcionar su clave pública y firma. En consecuencia, si tres partes pretenden firmar el mismo mensaje, la prueba abarcará tres claves públicas y tres firmas. Esto parece ser ineficiente en términos de cálculo y almacenamiento, ya que se requiere que cada nodo ejecute la función de verificación de firma tres veces y almacene tres conjuntos distintos de firmas y claves públicas.
    El algoritmo de Schnorr simplemente produce una firma que es válida para la suma de sus claves públicas. La agregación de claves puede reducir las tarifas de gas y mejorar la escalabilidad de la capa base, ya que las firmas provenientes de una transacción de firma múltiple ocupan el mismo espacio en un bloque que las firmas provenientes de una transacción de una sola parte.

  4. La Firma BLS: El algoritmo criptográfico BLS (Boneh-Lynn-Shacham) se basa en emparejamientos bilineales sobre grupos de curvas elípticas. Fue introducido por Dan Boneh, Ben Lynn y Hovav Shacham en 2001. El enfoque principal de la criptografía BLS se centra en esquemas de firma eficientes y seguros que admiten propiedades únicas como la agregación. Además, la Firma BLS se utiliza en Ethereum 2.0 y Chia.

Cadenas de bloques, su algoritmo de hash y algoritmo de firma

  1. Bitcoin (BTC):
    Algoritmo de hash: SHA-256
    Algoritmo de Firma Digital: ECDSA, Schnoor (Rama Blanda TapRoot)

  2. Ethereum (ETH):
    Algoritmo de hash: Keccak
    Algoritmo de Firma Digital: ECDSA

  3. Litecoin (LTC):
    Algoritmo de hash: Scrypt
    Algoritmo de firma digital: ECDSA

  4. Ripple (XRP):
    Algoritmo de hash: SHA-256
    Algoritmo de firma digital: ECDSA

  5. Cardano (ADA):
    Algoritmo de hash: Keccak
    Algoritmo de Firma Digital: EdDSA (Algoritmo de Firma Digital de Curva de Edwards)

  6. Polkadot (DOT):
    Algoritmo de Hashing: Blake2
    Algoritmo de Firma Digital: EdDSA

  7. Tezos (XTZ):
    Algoritmo de hash: Blake2b
    Algoritmo de Firma Digital: EdDSA

  8. Cadena BNB (BNB):
    Algoritmo de hash: Keccak (utilizado para tokens BEP-2)
    Algoritmo de Firma Digital: ECDSA

Cómo Bitcoin utiliza la Firma digital

Bitcoin utiliza el Algoritmo de Firma Digital de Curva Elíptica (ECDSA) para generar una firma única para cada transacción. Sin embargo, con los avances recientes, el algoritmo de Schnorr ha sido introducido a través de la bifurcación suave TapRoot. Este algoritmo, conocido por su eficiencia en términos de almacenamiento y velocidad de verificación, puede mejorar la escalabilidad de Bitcoin hasta un 30%, con su característica de agregación de transacciones.

)

Fuente: TimesofIndia - Solo las transacciones firmadas pueden ser propagadas y validadas por los nodos de la red

El mecanismo básico de las transacciones de Bitcoin implica una serie de pasos que incluye el uso de firma digital.

Aquí tienes un resumen:

  1. El remitente decide realizar una transacción de bitcoin, Esto podría implicar enviar bitcoins a otro usuario o varios usuarios.
  2. El remitente crea un mensaje de transacción que contiene detalles clave, como la dirección de la billetera del destinatario, la cantidad de BTC que se envía, cualquier tarifa asociada y el origen del bitcoin (salidas de transacciones no gastadas o UTXO) que se utilizan como insumos para la transacción.
  3. El remitente firma el mensaje de transacción con su clave privada utilizando el Algoritmo de Firma Digital de Curva Elíptica (ECDSA). Esta firma digital proporciona pruebas de que la transacción ha sido autorizada por el legítimo propietario de la dirección de envío.
  4. El mensaje de la transacción se hasheado utilizando el SHA-256 (Algoritmo de Hash Seguro de 256 bits) y luego se hasheado aún más utilizando RIPEMD-160 (Evaluación de Primitivas de Integridad de Carrera Mensaje de Digerir de 160 bits). Este proceso genera un hash de longitud fija, comúnmente conocido como la ID de transacción o hash.
  5. La transacción firmada se transmite a la red de Bitcoin, donde se vuelve visible para todos los nodos (computadoras que participan en la red de Bitcoin). Los nodos en la red, incluidos los mineros, verifican la validez de la transacción. Esta verificación incluye revisar la firma digital para asegurarse de que coincida con la clave pública del remitente y de que los insumos (UTXOs) utilizados en la transacción estén sin gastar y sean válidos.
  6. Las transacciones válidas son recopiladas por los mineros, quienes compiten para resolver un problema matemático complejo (prueba de trabajo). El primer minero en resolver el problema agrega un bloque que contiene las transacciones verificadas a la cadena de bloques.
  7. El bloque recién agregado se transmite a la red, y otros nodos verifican la prueba de trabajo y la validez de las transacciones dentro del bloque. Una vez que se alcanza un consenso, el bloque se considera confirmado y la transacción se registra permanentemente en la cadena de bloques.
  8. El saldo de la billetera del destinatario se actualiza para reflejar los bitcoins recibidos, y el saldo de la billetera del remitente se ajusta para tener en cuenta los UTXOs gastados.

Aplicaciones de Firmas Digitales en Web3

Ahora que entendemos el funcionamiento y la importancia de las firmas. Destaquemos las aplicaciones prácticas de las firmas digitales en la seguridad de transacciones, la autenticación de identidades y la garantía de la integridad de los datos en el ecosistema Web3.

Autenticación de transacción

Tomemos, por ejemplo, que Alice quiere transferir Ethereum a Bob. Ella firma la transacción con su clave privada, generando una firma digital. La red de Ethereum verifica la firma usando la clave pública de Alice, asegurando que la transacción esté autorizada por ella. Esto también es aplicable a la transferencia de propiedad de un NFT, ya que se registra en la cadena de bloques con una transacción firmada, asegurando la legitimidad del cambio de propiedad.

Ejecución de contratos inteligentes

Los contratos inteligentes están diseñados para interactuar con las firmas y pueden ejecutar transacciones tras verificarlas. Por ejemplo, en una plataforma de préstamos descentralizada, un usuario inicia una solicitud de préstamo. La solicitud activa la ejecución de un contrato inteligente. El usuario firma la transacción con su clave privada, y el contrato inteligente verifica la firma para ejecutar el acuerdo de préstamo.

Identidad y autenticación descentralizadas

Un usuario inicia sesión en una aplicación descentralizada (dApp) utilizando su identidad blockchain, por ejemplo, la dirección de Ethereum. La dApp solicita un mensaje firmado del usuario (clave privada), que sirve como prueba de propiedad. La firma digital autentica la identidad del usuario.

Esta también puede ser una forma fácil de incorporar nuevos usuarios de Web3, ya que no necesitan crear una cuenta y almacenar otra contraseña, los usuarios pueden ocultar su identidad y no necesitan necesariamente revelar detalles privados como su dirección de correo electrónico.

Integridad de datos y No Repudio de NFTs

Un artista firma un archivo de arte digital con su clave privada antes de acuñarlo como un NFT. La firma digital asegura la integridad de la obra de arte, y el artista no puede negar más tarde la autoría.

Sistemas de votación

En una plataforma de votación descentralizada, los votantes emiten sus votos firmando sus opciones con sus claves privadas. Las firmas digitales autentican los votos y garantizan que cada votante pueda verificar su contribución. Esta aplicación se ve en la votación de gobernanza y la votación de protocolo de consenso.

Interoperabilidad entre Cadenas

Un usuario transfiere un token de una cadena de bloques a otra utilizando un protocolo puente. El usuario firma una transacción en la cadena de origen, y la cadena de destino verifica la firma, permitiendo la transferencia entre cadenas.

Desafíos y tendencias futuras

El Desafío de los Ataques Cuánticos

Las firmas digitales siguen siendo una de las formas infalibles de autenticación en la cadena de bloques. Sin embargo, el desarrollo de computadoras cuánticas a gran escala representará una amenaza para la seguridad de las cadenas de bloques, ya que los algoritmos criptográficos pueden ser descifrados rápidamente por computadoras cuánticas.

Las computadoras cuánticas pueden procesar tareas a velocidades increíbles, logrando en segundos lo que a las computadoras tradicionales les llevaría horas, los actores malintencionados pueden usar una computadora cuántica para llevar a cabo ataques cuánticos que podrían comprometer toda una cadena de bloques.

Sin embargo, pueden ser prevenidos por firmas post-cuánticas, que ya están en desarrollo, aunque ocuparían un espacio de almacenamiento más grande en la cadena de bloques.

Conclusión

Las firmas digitales verifican la autenticidad y la integridad de los datos, basándose en los principios de la criptografía asimétrica y el hashing. Funciona utilizando la clave privada del remitente para autenticar la forma hasheada de los datos, y el receptor verifica con la clave pública del remitente. Los algoritmos criptográficos más comúnmente utilizados por las blockchains son las firmas ECDSA, EdDSA, Schnorr y BLS.

Además, el uso de firmas digitales es principalmente aplicable en la autenticación de transacciones, la ejecución de contratos inteligentes, la votación de gobernanza, las transferencias entre cadenas y la integridad de los datos de NFTs.

Auteur : Paul
Traduction effectuée par : Sonia
Examinateur(s): Piccolo、Edward、Ashley He
* Les informations ne sont pas destinées à être et ne constituent pas des conseils financiers ou toute autre recommandation de toute sorte offerte ou approuvée par Gate.io.
* Cet article ne peut être reproduit, transmis ou copié sans faire référence à Gate.io. Toute contravention constitue une violation de la loi sur le droit d'auteur et peut faire l'objet d'une action en justice.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!