Monero

Stealth Addresses – Que es y por qué la utiliza Monero?

Monero está basado en el protocolo CryptoNote y utiliza las tecnologías criptográficas más potentes en un esfuerzo por proteger la privacidad del emisor, del receptor y ocultar la cantidad transaccionada.

Para proteger la privacidad del emisor, se ha implementado Anillo de Firmas para evitar que las entradas de las transacciones se puedan distinguir unas de otras. Ring Confidential Transactions (RingCT), que oculta los importes de las transacciones, se implementó en el bloque #1220516 durante enero de 2017 y, desde septiembre de 2017, esta característica se hizo obligatoria para todas las transacciones en la red de Monero. Además de estas dos tecnologías criptográficas fundamentales que Monero utiliza para garantizar la privacidad de cada usuario de Monero durante el proceso de transacción, las direcciones ocultas (Stealth Addresses) garantizan la privacidad del receptor. Este artículo se centrará en cómo funcionan las Direcciones Ocultas, por qué se introdujeron, y discutirá algunos detalles que no se conocen comúnmente sobre esta característica fundamental de Monero.

Imaginemos que tienes que comprar un producto en una plataforma de comercio electrónico a un vendedor. El sistema de pago le devolverá una dirección pública para que pueda enviar el pago al vendedor. En el caso de que utilices una cadena de bloques transparente, como Bitcoin o Ethereum, el vínculo entre tú dirección y la del vendedor es obvio. Así, en las cadenas de bloques transparentes, un tercero ajeno a la transacción tiene la posibilidad de rastrear cómo y dónde se gastan tus fondos.

Bitcoin cadena transparente

Gracias a Ring Signatures y RingCT, tu privacidad como emisor está protegida y el importe de la transacción es desconocido. Para evitar todavía más cualquier posible análisis de la transacción y, lo que es más importante, para garantizar la privacidad del receptor (o, en pocas palabras, cómo y dónde gasta tus fondos), Monero utiliza Stealth Addresses.

Stealth Address
Conexión oculta entre la dirección oculta y la billetera

Una Dirección Oculta (Stealth Addresses) es una clave pública generada automáticamente, de un solo uso (también conocida como una dirección aleatoria de un solo uso) que es creada por el emisor, a nombre del receptor, cuando se inicia una transacción en la red Monero – piense en ello como una “dirección quemada”. Esta clave pública de un solo uso se registra como parte de cada transacción y determina quién puede gastar una salida en una transacción futura. Al observar la cadena de bloques, los terceros (como un gobierno o una empresa que realiza un análisis en profundidad de las transacciones) no son capaces de vincular su dirección de billetera y la dirección de billetera del comerciante; por lo tanto, no es posible saber si Monero está siendo enviado por ti al vendedor.

Mediante el uso de direcciones ocultas, cuando envías Monero a un vendedor, la salida recibida por el vendedor no se asocia públicamente con la dirección del monedero del vendedor. Si te encuentras en una posición en la que necesitas una prueba de que enviaste Monero al vendedor, tu billetera podrá verificar que la transacción fue efectivamente enviada. Además, las direcciones ocultas garantizan que el vendedor siempre puede saber que un tercero no podrá ver si se ha enviado y recibido Monero o cuándo. Esta característica única de una transacción de Monero es especialmente llamativa para los comerciantes, ya que sirve para proteger la información financiera y operativa sensible.

Para entender mejor el concepto de direcciones ocultas, consideremos un ejemplo en el que envías un paquete a tu amigo a través del servicio de correos, donde cada movimiento del paquete, desde el emisor hasta el receptor, es rastreado. Al principio de este intercambio, tu amigo te dice la dirección de su casa. A partir de ahí, tú llevas el paquete a la oficina de correos y lo envías a la dirección de tu amigo que te ha dado. Durante el transcurso de esta transferencia, a través del código de seguimiento proporcionado por el servicio de correos, puedes ver el movimiento del paquete entre tú y tu amigo, incluyendo las direcciones de los domicilios de tu amigo. Esto es análogo a Bitcoin, donde cada movimiento de la transacción, desde el emisor hasta el receptor, es rastreable. Sin embargo, si le dijeras a tu amigo que utilizara un buzón temporal, nadie asociaría el movimiento del paquete a tu amigo, ya que encontrar al propietario de un buzón temporal es difícil.

¿Cómo se generan estas direcciones únicas? La dirección pública de tu billetera de Monero es una secuencia de 95 caracteres, que integra dos claves públicas (clave pública de visualización y clave pública de gasto) que se derivan matemáticamente de tu semilla. Cuando un cliente envía Monero a un vendedor, el cliente utilizará las claves públicas de la dirección del vendedor junto con algunos datos aleatorios para generar una clave pública de un solo uso para la nueva salida (output) del vendedor. Aunque los observadores de la cadena de bloques pueden ver la clave pública de un solo uso, el cliente y el vendedor son las únicas personas que conocen definitivamente que, de facto, el cliente ha enviado Monero al vendedor.

Mientras la billetera del vendedor está escaneando o sincronizando, la clave privada de vista de la billetera se está utilizando para comprobar todas las transacciones y las correspondientes salidas (outputs) en la cadena de bloques (blockchain) en un intento por localizar la salida (output) destinada a su billetera. Una vez que la salida es detectada y recibida por la billetera del vendedor, el vendedor es capaz de calcular una clave privada de un solo uso que corresponde con la clave pública de un solo uso y, si el vendedor lo desea, gastar la salida correspondiente con la clave de gasto privada de la billetera. Gracias a las direcciones ocultas, este proceso de transacción se produce sin vincular públicamente ninguna transacción a la dirección de la billetera del vendedor.

Stealth Address
Una dirección oculta y un pago

En pocas palabras, una Dirección Oculta (Stealth Addresses) es una poderosa tecnología criptográfica que impide que las salidas (outputs) estén vinculadas a la dirección pública de un receptor. Como se ha explicado anteriormente, esto se consigue mediante el uso de claves públicas de un solo uso. Sólo el receptor tiene la capacidad de identificar su salida (output) designada al escanear la cadena de bloques y, una vez recibida, la salida sólo puede ser gastada por el receptor. Dado que las salidas no se pueden vincular, la privacidad del receptor está asegurada.

Aunque el concepto de Direcciones Ocultas (Stealth Addresses) puede parecer bastante técnico para algunos, una de las características de esta tecnología que resulta fácil de usar es que el emisor y el receptor no necesitan dar ningún paso más allá del proceso normal de realizar una transacción, porque las Direcciones Ocultas están implementadas por defecto. A pesar de ser una característica clave de una transacción de Monero, y al estar implementada por defecto, las Direcciones Ocultas pueden pasar desapercibidas y ser consideradas como un engranaje más de la máquina bien engrasada.

Una pregunta habitual es: “Pero si se generan aleatoriamente, ¿es posible que se produzca una colisión?” Luigi1111, colaborador y miembro del Monero Core Team, nos da una estimación. Utilizando la paradoja del cumpleaños para el cálculo, harían falta unas 2^126 Direcciones Oculta generadas para que se produzca una colisión del 50%. Se necesitarían 85.070.591.730.234.615.865.843.651.857.942.052.864 transacciones, cuando en el momento de escribir esto, las transacciones dentro de la red Monero son aproximadamente 8 millones. Para comparar, hay muchos menos granos de arena en el mundo que el número de transacciones que se necesitarían para tal colisión. Es una cifra impresionante que confirma la seguridad de esta potente tecnología de criptografía.

Stealth Address
Muchas direcciones ocultas están vinculadas a la billetera

Por último, un punto importante a destacar es lo que no son las Direcciones Oculta. Con los sistemas de pago que aceptan Bitcoin o Ethereum, se puede encontrar una dirección de pago diferente que se genera al azar. Esto no es una Dirección Oculta (Stealth Addresses), porque a nivel de la cadena de bloques, las herramientas de análisis y seguimiento serían capaces de encontrar un vínculo entre las dos direcciones diferentes, junto con lo que estas direcciones han recibido y enviado.

Articulo Traducido por Lovera

Artículo Original en Ingles por SerHack

Ilustraciones compuestas por el magnífico Anhdres