Todas las entradas
2026-05-28

Las cantidades cifradas no son privadas: ocultar el número no es ocultar el vínculo

Hay dos cosas distintas que la gente quiere decir con "privado", y la mayoría de las herramientas solo hacen la fácil. Puedes ocultar cuánto enviaste, o puedes ocultar a quién se lo enviaste. No son el mismo problema, y resolver el primero casi no hace nada por el segundo. Una clase creciente de esquemas de transferencia confidencial cifra la cantidad de una transferencia —el número está oculto, los saldos están cifrados— y presenta esto como privacidad. Es una funcionalidad real y útil. También es la mitad del problema que menos información filtra.

Este artículo trata de la otra mitad: el vínculo entre emisor y destinatario, que el cifrado de cantidades deja completamente intacto.

Qué oculta realmente una cantidad cifrada

Imagina una transferencia normal de Solana con la cantidad en blanco. Un observador todavía ve: la wallet A envió algo a la wallet B, en este momento, en este token. La arista del grafo está ahí. Las dos direcciones están ahí. El momento está ahí. Lo único que falta es la cifra en el campo de cantidad.

Para gran parte de la desanonimización del mundo real, la cifra es la pieza menos valiosa. Si un investigador, una contraparte o un curioso ya puede ver que tu wallet paga a un destinatario concreto cada dos semanas, tiene tu relación, tu cadencia y —cruzando otras transferencias públicas— normalmente también una buena estimación de la cantidad. Cifrar el número eleva ligeramente el esfuerzo. No rompe la conexión.

Y en un libro contable transparente, la conexión es la parte sensible. Tus contrapartes, tu nómina, tus relaciones de trading, el hecho de que la wallet A y la wallet B sean la misma persona: esas son propiedades del grafo, no propiedades de la cantidad. Sobreviven al cifrado de cantidades sin un rasguño.

Lo que de verdad tiene que desaparecer: la arista

La privacidad en una cadena pública es fundamentalmente cuestión del grafo, no de las etiquetas en las aristas. Para conseguir no-vinculabilidad real tienes que eliminar la arista misma: hacer que ningún observador pueda trazar una línea desde donde entraron los fondos hasta donde salieron.

Eso requiere un pool blindado. Mucha gente deposita detrás de compromisos criptográficos; cada uno retira más tarde usando una prueba de conocimiento cero que afirma "soy dueño de uno de los depósitos no gastados de este pool" sin revelar cuál (/learn/how-zk-proofs-work). El depósito y el retiro son dos transacciones separadas sin ninguna arista entre ellas. El observador ve un depósito de la wallet A y un retiro no relacionado a la wallet B y genuinamente no puede saber si son la misma persona, porque las matemáticas que se lo permitirían nunca se publicaron.

Fíjate en lo que cambió. No es que la cantidad esté cifrada. Es que la conexión desapareció. Esto es algo estructuralmente más difícil de construir: necesita un árbol de Merkle de compromisos, un esquema de nullifiers para evitar el doble gasto y un sistema de pruebas real (/glossary/shielded-pool, /glossary/nullifier), que es exactamente por qué el cifrado de cantidades es la oferta más común. Es el problema de ingeniería más fácil.

"Pero todos usan las mismas cantidades": por qué el pool aún requiere cuidado

Romper la arista es necesario pero no automáticamente suficiente, y aquí es donde las cantidades vuelven a la historia, desde una dirección completamente distinta. Dentro de un pool blindado, el peligro no es que tu cantidad sea visible; es que tu cantidad sea distintiva. Si cada depósito del pool ronda los 0,5 SOL y tú depositas 47, entonces cuando salgan esos 47 las matemáticas te señalan sin importar lo buena que fuera la prueba. La prueba oculta qué nota gastaste; una cantidad atípica reduce la lista de sospechosos a uno de todos modos.

Así que en un pool blindado el objetivo es lo opuesto del cifrado: quieres que tu cantidad se parezca a la de todos los demás. Deposita y retira en cantidades que igualen a la multitud, en cifras redondas, y te mezclas en el conjunto más grande posible. /blog/anonymity-sets-on-solana detalla exactamente cómo las bandas de cantidades determinan entre quién te ocultas. Este es un tratamiento más honesto de las cantidades que el que te da el cifrado: el número no es el secreto, la similitud con los demás es la protección.

Una forma rápida de saber qué tipo de "privado" ofrece una herramienta

Hazte una pregunta: después de usarla, ¿puede un observador seguir viendo que mi wallet está conectada con el destinatario?

  • Si la respuesta es "sí, pero no pueden ver cuánto", es privacidad de cantidad. Útil para ocultar saldos y tamaños de pago; inútil para ocultar relaciones.
  • Si la respuesta es "no, la conexión misma desapareció", es privacidad de vínculo, que es lo que aporta un pool blindado.

La mayoría de las cosas vendidas como transferencias confidenciales son del primer tipo. Para los modelos de amenaza que de verdad le importan a la gente —no querer que una contraparte mapee tu tesorería, no querer que un destinatario vea todo tu patrimonio, no querer que el grafo de tu nómina sea público— necesitas el segundo.

A dónde ir después

Si quieres ver la privacidad de vínculo en la práctica, /blog/sending-sol-without-revealing-your-main-wallet es el paso a paso. Si quieres las fronteras honestas —lo que ni siquiera la privacidad de vínculo arregla— /learn/what-solmask-cannot-protect-you-from es la lista sin maquillaje. Y /compare expone en qué se diferencian realmente los distintos diseños de este espacio.

FAQ

P. ¿No es cifrar la cantidad mejor que nada? R. Sí, para el objetivo limitado de ocultar saldos y tamaños de pago. Solo que no lo confundas con no-vinculabilidad: deja al emisor, al destinatario y el momento completamente públicos, que suele ser la información que la gente realmente quería proteger.

P. Si un pool blindado rompe el vínculo, ¿por qué le importan las cantidades? R. Porque una cantidad inusual te vuelve a identificar por eliminación incluso cuando la prueba es perfecta. Dentro de un pool quieres que tu cantidad se parezca a la multitud, no que esté oculta. Es lo inverso del cifrado de cantidades.

P. ¿SolMask también cifra las cantidades? R. SolMask oculta el vínculo, que es la propiedad más difícil y valiosa. Las cantidades de depósito y retiro son parte de cómo te mezclas, así que la recomendación es igualar a la multitud en vez de destacar. Ver /blog/anonymity-sets-on-solana.

P. ¿Puedo tener ambas cosas: cantidades ocultas y un vínculo roto? R. La privacidad de vínculo es la propiedad que derrota el análisis de grafos, y es lo que hay que priorizar. Combínala con buena higiene de cantidades (cifras redondas, igualar a los pares) y una dirección de destinatario fresca y habrás cubierto lo que el cifrado de cantidades por sí solo no puede tocar.

Las cantidades cifradas no son privadas: ocultar el número no es ocultar el vínculo · SolMask