Privacidad de las transacciones

Privacidad de las transacciones

Zcash es una criptomoneda privada con transacciones encriptadas y opciones de privacidad, incluyendo la posibilidad de utilizar transacciones públicas. Descubre cómo las billeteras blindadas y Ywallet trabajan para lograr estas transacciones.

August 11, 2023· 7 min read
18 score

Por Hanh Huynh Huu

Zcash es posiblemente la criptomoneda más privada que existe. A diferencia de sus rivales, ofrece transacciones totalmente encriptadas que no revelan ninguna información sobre el origen y destino de los fondos.

Sin embargo, esto no significa que cada transacción tenga el más alto nivel de privacidad, porque en Zcash, la privacidad es opcional.

Los usuarios pueden decidir utilizar transacciones no encriptadas que son casi idénticas a las transacciones de Bitcoin. En otras palabras, las transacciones de Zcash también pueden ser públicas.

Actualmente, una gran mayoría de las transacciones no utilizan las características de privacidad de Zcash.

En este artículo, discutiremos cómo las billeteras blindadas y Ywallet específicamente trabajan para producir las transacciones más privadas posibles.

Pools y direcciones

Transparente

Zcash tiene varios pools de fondos. Esencialmente, es como si Zcash tuviera varias monedas internas diferentes que son intercambiables 1 a 1, pero con diferentes propiedades de privacidad.

Si utilizas una dirección transparente (son fácilmente reconocibles por el carácter inicial: 't'), tus monedas no están encriptadas y están a la vista, igual que en Bitcoin.

Esto se aplica tanto a las fuentes de fondos como a los destinos de una transacción.

Por ejemplo, si envías monedas a una dirección t, tanto la cantidad enviada como la dirección t se almacenan de forma transparente en la blockchain. Por otra parte, si el destinatario transfiere estos fondos a otra dirección t, tanto el origen como el destino son públicos. Zcash llama a estas transacciones "t2t", de transparente a transparente.

Blindado

Para beneficiarse de la característica de privacidad de Zcash, uno debe usar monedas y direcciones blindadas. Desafortunadamente, no es tan fácil como las transacciones transparentes.

En primer lugar, necesitas un monedero que soporte ZEC blindado como YWallet (descargo de responsabilidad: soy su autor). Los monederos blindados también necesitan un proceso mucho más complejo para sincronizar la blockchain. El principal impacto para el usuario es una sincronización más larga.

Si estás de acuerdo con todo esto, te recomiendo encarecidamente que utilices un monedero blindado. De lo contrario, estarás perdiendo la privacidad de Zcash y todas tus transacciones serán públicas.

En segundo lugar, ¡hay 3 monederos blindados!

Sprout es en su mayoría obsoleto en este momento y casi no se admite más. Sapling es actualmente el pool más grande, pero está siendo reemplazado por Orchard. Orchard se lanzó hace menos de un año. Hay muy pocas aplicaciones que soporten Orchard en este momento.

Transacciones

Cuando realizas una transacción, estás sacando monedas de tu monedero y enviándolas a uno/muchos destinatarios. Tus monedas eran transparentes o blindadas (Sapling u Orchard), y se vuelven transparentes o blindadas en la(s) dirección(es) de destino.

Hemos visto antes que cuando una transacción toma monedas de una dirección transparente y las envía a una dirección transparente, la transacción es t2t. Del mismo modo, si una transacción toma monedas de una dirección blindada y las envía a una dirección blindada, la transacción se denomina z2z.

Sin embargo, t2t, z2z, etc. son simplificaciones excesivas, ya que las transacciones pueden tomar tanto monedas transparentes como blindadas, y producir monedas transparentes y blindadas.

Elementos de una transacción

Sin entrar en detalles, describamos los elementos de una transacción.

Una transacción tiene

  • algunos metadatos: versión, etc.
  • una sección transparente
  • una sección sapling
  • una sección orchard

Cada sección tiene aproximadamente la misma estructura. Tiene un conjunto de entradas que especifican de dónde vienen los fondos, y un conjunto de salidas que especifican a dónde van los fondos.

En la sección transparente, todo está en texto claro y se pueden ver las direcciones y los importes.

En las secciones Sapling y Orchard, la información está cifrada y sólo puede descifrarla alguien que posea la clave de visualización, es decir, el destinatario. Un dato criptográfico especial llamado prueba de conocimiento-cero garantiza que los datos encriptados son válidos sin revelar su contenido.

Sin embargo, las secciones Sapling y Orchard revelan el cambio neto de fondos resultante de la transacción. El protocolo las denomina valueBalanceSapling y valueBalanceOrchard.

valueBalanceSapling es el valor neto de los gastos de Sapling menos las salidas de Sapling. Y valueBalanceOrchard es el mismo valor pero para Orchard.

YWallet muestra los cambios netos como Salidas - Gastos, es decir, lo contrario de value balance, porque un valor neto suele ser la diferencia entre el valor "después" y el valor "antes".

valueBalanceSapling y valueBalanceOrchard se denominan comúnmente "torniquetes".

Privacidad de las transacciones

Una transacción altamente privada revela poca o ninguna información. No debe contener entradas o salidas transparentes y tener un valor bajo de valueBalanceSapling y valueBalanceOrchard.

En otras palabras, intente:

  • evitar el uso de entradas y salidas transparentes
  • utilizar fondos blindados del mismo pool

Es más fácil decirlo que hacerlo. Hay muchos factores que influyen en tu fuente de fondos y en los destinatarios de tus transacciones. Si recibes fondos de alguien que utiliza un monedero transparente, no podrá enviarlos a tu dirección blindada. Del mismo modo, si quieres pagarles tendrás que enviar fondos a una dirección transparente.

Sin embargo, la aplicación de tu monedero puede ayudarte a gestionar tus fondos.

Gestión de fondos

Veamos cómo funciona esto con un ejemplo concreto.

Por ejemplo, alguien acaba de enviarte 100 ZEC a través de su monedero transparente y ahora tienes 100 ZEC en tu dirección transparente.

Quieres blindar algunos de estos fondos para que ya no sean visibles en la blockchain.

Ywallet optará por blindar por igual billetes Sapling y Orchard.

Esto es así para que pueda realizar transacciones altamente privadas tanto con destinatarios Sapling como Orchard.

Si enviara todo a su dirección Orchard, no podría pagar a una dirección Sapling sin cruzar el torniquete de Orchard a Sapling.

Del mismo modo, si enviara todo a su dirección Sapling, usted no podría pagar a una dirección Orchard sin cruzar el torniquete de Sapling a Orchard.

La distribución más versátil es 50% Sapling y 50% Orchard.

Esta transacción tiene "PRIVACIDAD MUY BAJA", ya que implica entradas y salidas transparentes.

Las transacciones de PRIVACIDAD MUY BAJA tienen entradas y salidas transparentes. Las transacciones de PRIVACIDAD BAJA tienen salidas transparentes pero no entradas transparentes.

Después de la transacción de blindaje, ahora tenemos dos billetes: un Sapling (en blanco) y un Orchard (en amarillo). Cada uno cuesta 45 ZEC.

Ahora, si realizamos un pago a una dirección Sapling de 45 ZEC o menos, el monedero puede limitarse a utilizar el billete Sapling y, por tanto, no revelar ninguna cantidad (salvo las comisiones).

Las transacciones de ALTA PRIVACIDAD no tienen elementos transparentes y sólo revelan la comisión al pasar por los torniquetes.

Pero si superamos los 45 ZEC, el monedero necesita utilizar también el billete de Orchard, y esto hará que algunos fondos de Orchard crucen al fondo común de Sapling.

La cantidad revelada es el exceso que no pudo ser cubierto por nuestra nota Sapling. No mostramos el importe exacto de la transacción, pero es menos privada que antes.

Las transacciones de PRIVACIDAD MEDIA no tienen elementos transparentes, pero revelan un importe mayor que la tasa que pasa por los torniquetes.

UA al rescate

Con las UA multirreceptor, es decir, direcciones que incluyen varios tipos de dirección, el receptor muestra su capacidad para obtener fondos en varios pools.

Supongamos que necesitamos pagar la misma cantidad que antes (50 ZEC) pero nos han dado una UA que tiene receptores Sapling y Orchard.

Ahora Ywallet puede dividir automáticamente el pago entre Sapling y Orchard y utilizar ambos billetes sin pasar por los torniquetes.

Además, pudo mantener equilibrados los monederos del remitente, ya que después de la transacción sigue habiendo la misma cantidad en ambos monederos blindados.

El monedero del remitente mantiene un potencial de gasto blindado óptimo.

Pago múltiple

Incluso con transacciones más complejas que implican múltiples destinatarios y tipos de dirección, Ywallet puede calcular un plan de ejecución óptimo.

Por ejemplo, consideremos el caso de una transacción con 6 destinatarios que tiene:

  • una dirección Sapling
  • una Orchard UA
  • una Transparente y Sapling UA
  • una Transparente y Orchard UA
  • una Sapling y Orchard UA
  • y, por último, una transparente, Sapling y Orchard UA

Se incluyen todos los tipos de dirección excepto la dirección t, que arruinaría nuestra privacidad.

Ywallet muestra la siguiente transacción:

Cuando se le ofrece la opción de utilizar Transparente o Blindado, Ywallet siempre elige Blindado: los destinatarios #3 y #4 están totalmente protegidos.

Cuando el destinatario tiene tanto receptores Sapling como Orchard (#5 y #6) Ywallet calcula cantidades que suman la cantidad solicitada, pero también maximiza tu privacidad y tu futuro potencial de gasto blindado.

La transacción es ALTAMENTE privada y gastamos una cantidad igual de billetes Sapling y Orchard por ella.

Traducción del original en inglés de Hanh Huynh Huu


Si quieres aprender más sobre privacidad en la economía digital descentralizada, te puedes unir a la comunidad de Zcash Español en Telegram. Para conectar con el ecosistema digital de Zcash Español, visita nuestro LinkTree.

Tags

Related Articles