¿Qué son Las firmas de anillo?

1
Wikicripto

¿Qué son Las firmas de anillo?

Las firmas de anillo son un protocolo integrado en monero que sirve para comprobar que un mensaje ha sido firmado por uno de los signatarios de una lista autorizada. El algoritmo de la firma de anillo fue desarrollado por Ronald Rivest, Adi Shamri y Yael Tauman y presentado durante la Conferencia Internacional AsiaCrypt 2001.

Este es un sistema que mezcla la dirección del emisor con un grupo de otras direcciones. De esta forma, se hace más difícil rastrear cada nueva transacción. Además, las direcciones generadas por cada transacción hacen imposible descubrir las auténticas direcciones de destino de una transacción por cualquier otra persona que no sea el emisor o el receptor.

Este sistema utiliza técnicas criptográficas avanzadas para ofrecer altos niveles de privacidad en la plataforma de Monero.

Se caracteriza por:

  • Ocultar el origen de los fondos de cada transacción.
  • Evitar los ataques de doble gasto que puedan afectar a la blockchain.
  • Una gran seguridad extra, ya que ningún atacante puede prácticamente falsificar una firma, la probabilidad sería minúscula.

Este protocolo ha sido implementado en monedas como monero para aumentar más aún su seguridad y privacidad.

Sus desarrolladores intentaron resaltar en el nombre del algoritmo la ausencia de una estructura central o de coordinación, de ahí surge el nombre de anillo, ya que es un símbolo geométrico con una periferia homogénea y carece de centro.

¿Cómo funcionan las Firmas de Anillo?

Los círculos de firmas fueron ideados para probar que un firmante pertenece a un grupo sin tener que identificarlo. Para lograr el correcto funcionamiento de este grupo de firmas se deben cumplir tres condiciones:

  • Debe existir una ambigüedad con el firmante. Es decir, Un observador puede saber que un firmante pertenece a un determinado anillo, pero no debe conocer la identidad de dicho firmante. Esta condición tiene el objetivo de ocultar la procedencia de los fondos en cada transacción.
  • Se puede establecer una enlazabilidad. En caso de que se use la misma firma privada para firmar dos mensajes diferentes, los mensajes estarán enlazados con el objetivo de impedir los ataques de doble gasto.
  • La probabilidad de que un ciberdelincuente pueda falsificar una firma es prácticamente nula. Esto permite evitar el robo de fondos.

En las firmas de anillos existe otro sistema de privacidad. Este sistema se llama Círculo de Transacciones Confidenciales o Ring Confidential Transaction. Este sistema tiene el objetivo de ocultar el monto transferido. Mediante este se oculta la información relacionada con las partes dentro de una transacción y los saldos.

Ejemplo de firma de Anillo

Para comprender el funcionamiento de las firmas de anillo, vamos a poner un ejemplo.

Imagina el proceso de cuando envías un cheque a alguien, para poder enviarlo debe estar firmado por la persona que disponga de los fondos que se vayan a enviar en este caso, tú. Sin embargo cualquier persona que sepa como es tu firma (y sepa falsificarla) podría decir que el remitente del cheque ha sido él. Ahora imagínate que encuentras a 3 personas en la calle al azar y creáis una firma única entre los 4. Nadie podrá averiguar de quién es esa firma.

Ahora veamos un ejemplo dentro del contexto de Monero.

  • Un usuario quiere enviar 1 XMR a un amigo utilizando las firmas de anillos que permite Monero. Para esto debe determinar el tamaño del anillo.
  • Determinar el tamaño del anillo consiste en tomar otras transacciones aleatorias y del mismo valor, es decir si envía 1 XMR se tomaran otras transacciones con valor de 1 XMR dentro de la blockchain.
  • Cuanto mayor sea el tamaño mayor será la transacción y mayores serán las comisiones.
  • Una vez se determina el tamaño del anillo, se firma la transacción con la clave privada del wallet. En este tipo de transacciones solo quién recibe los fondos sabrá quien ha sido el remitente.

Uno de los principales problemas que se puede identificar a simple vista es el de como evitar el doble gasto, ya que los mineros no saben quién ha realizado una transacción. Sin embargo, cada transacción de monero posee una clave única, mediante la cual los mineros pueden comprobar si una transacción se ha hecho 2 veces o no, de esta forma Monero protege la privacidad de sus usuarios.