MoneroSwapper MoneroSwapper

Transacciones confidenciales RingCT de Monero

MoneroSwapper · · · 15 min read · 13 views

RingCT de Monero: las transacciones confidenciales explicadas

Abre cualquier explorador de bloques de Bitcoin y podrás leer el importe exacto de cada transacción jamás realizada, hasta el último satoshi. Escribe una dirección y verás su saldo, rastrearás de dónde vinieron las monedas y seguirás hacia dónde fueron. Esa transparencia es deliberada, y también es la razón por la que un sueldo, una donación o un solo depósito hecho sin cuidado pueden desanonimizar una cartera entera. Monero adopta la postura contraria: en su cadena, el propio importe permanece oculto. La tecnología que lo hace posible es RingCT, abreviatura de Ring Confidential Transactions (transacciones confidenciales en anillo).

RingCT es la razón por la que una transacción de Monero aparece en el libro mayor público como un compromiso criptográfico en lugar de un número legible. Entró en funcionamiento en enero de 2017 y se volvió obligatoria para todas las transacciones más adelante ese mismo año. Cada XMR que envías desde una cartera —o que adquieres a través de un servicio sin cuenta como MoneroSwapper— está protegido por ella. Este artículo desglosa qué hace RingCT, las matemáticas que permiten a la red verificar una transacción sin ver los importes, cómo ha evolucionado a través de Bulletproofs y Bulletproofs+, y hacia dónde se dirige con FCMP++.

Por qué importa ocultar el importe

La privacidad en una cadena de bloques no es una sola característica; son tres problemas que hay que resolver al mismo tiempo. Si dejas cualquiera de ellos expuesto, los otros dos se filtran a través de él. Monero ataca los tres, y RingCT se ocupa del tercero.

  • Quién la envió: lo resuelven las firmas en anillo, que firman una transacción en nombre de un grupo de posibles emisores, de modo que un observador no puede saber cuál es la entrada real.
  • Quién la recibió: lo resuelve la tecnología de direcciones ocultas (stealth addresses), que genera una dirección única y de un solo uso para cada pago, de forma que los fondos nunca aterrizan en una dirección pública reutilizable.
  • Cuánto se envió: lo resuelve RingCT, que cifra el importe en un compromiso de Pedersen mientras sigue permitiendo que cada nodo confirme que las cuentas cuadran.

Antes de que existiera RingCT, Monero ocultaba al emisor y al receptor, pero dejaba los importes a la vista, en texto plano. Para conseguir algo de privacidad en las cantidades, el protocolo obligaba a que las transacciones se dividieran en denominaciones fijas —piensa en 0,01, 0,1, 1, 10—, igual que pagarías algo con monedas de valor exacto. Eso filtraba una cantidad sorprendente de información. El conjunto de señuelos plausibles para una salida de 7,3 XMR es mucho más pequeño que el de una salida oculta, porque los señuelos tenían que coincidir en denominación. Los importes visibles también permitían a los analistas enlazar transacciones siguiendo valores idénticos por toda la cadena.

Las cantidades confidenciales cierran ese agujero. Una vez que el valor está cifrado, cada salida parece estructuralmente idéntica a cualquier otra, y eso es la base de la fungibilidad: la propiedad por la que una unidad de XMR es intercambiable con cualquier otra, sin un historial «manchado» que un comercio o un exchange pudiera rechazar. Eso importa más cada año. Después de que Binance retirara XMR de sus libros de órdenes a principios de 2024 y varios exchanges europeos siguieran el mismo camino, el argumento a favor de una moneda cuyas unidades individuales no se pueden filtrar ni poner en una lista negra solo se hizo más fuerte.

Qué es realmente RingCT y cómo funciona

La mitad «CT» de RingCT —Confidential Transactions— es la parte que oculta los importes, y descansa sobre una pieza de criptografía llamada compromiso de Pedersen. La mitad «Ring» enlaza esa ocultación del importe con el esquema de firmas en anillo que Monero ya tenía, para que el emisor también permanezca anónimo. Conviene tomar las dos ideas por separado.

Compromisos de Pedersen: cifrar un número con el que todavía puedes hacer cuentas

Un compromiso es una forma de fijar un valor para que no puedas cambiarlo después, sin revelar cuál es. Un compromiso de Pedersen a un importe se ve así: C = xG + aH, donde a es el importe real, x es un secreto aleatorio llamado factor de cegado (blinding factor) y G y H son puntos fijos en una curva elíptica. El factor de cegado es lo que hace el compromiso opaco: sin él, dos salidas del mismo valor producen compromisos de aspecto completamente distinto, así que no puedes saber que son iguales.

La propiedad mágica es que estos compromisos son aditivos, u homomórficos. Suma los compromisos de todas las entradas de una transacción, suma los compromisos de todas las salidas más la comisión, y si los importes reales cuadran, las dos sumas son compromisos al mismo total. El emisor ajusta los factores de cegado para que entradas menos salidas dé como resultado un compromiso a cero. Cada nodo de la red puede comprobar esa ecuación —confirmando que no se crearon ni destruyeron monedas— sin llegar a conocer jamás un solo importe de la transacción.

Todo el truco de RingCT consiste en que la red puede demostrar que las cuentas cuadran hasta el último satoshi siendo, al mismo tiempo, matemáticamente incapaz de leer ninguna partida individual.

Pruebas de rango: impedir que alguien acuñe monedas de la nada

El equilibrio homomórfico tiene una laguna peligrosa. Como los importes están ocultos, un emisor malicioso podría intentar comprometerse a un importe negativo que, gracias a la aritmética modular, daría la vuelta hasta convertirse en un número positivo enorme y le permitiría sacar XMR del aire. Para evitarlo, cada salida confidencial viaja con una prueba de rango: una garantía criptográfica de que el importe comprometido se sitúa dentro de un rango válido —entre cero y 2⁶⁴— sin revelar en qué punto de ese rango cae.

Las pruebas de rango son donde ha vivido la mayor parte del tamaño y del coste de RingCT, y donde se han producido las mayores mejoras. La implementación original de 2017 usaba firmas en anillo Borromean, que eran correctas pero voluminosas: una transacción típica de dos salidas cargaba con unos 13 KB de datos de prueba de rango, lo que hacía que las transacciones de Monero fueran grandes y las comisiones, relativamente altas. Reemplazar esa maquinaria ha sido la principal historia de optimización del protocolo desde entonces.

La evolución de RingCT: Bulletproofs, Bulletproofs+ y CLSAG

RingCT no es algo fijo: se ha rediseñado varias veces a través de los hard forks de Monero, que llegan más o menos cada seis meses, y cada vez se ha vuelto más pequeño y más rápido manteniendo las mismas garantías de privacidad. Las mejoras destacadas:

MejoraActivaciónQué cambió
RingCT (Borromean)Ene 2017, obligatorio sep 2017Introdujo los importes ocultos mediante compromisos de Pedersen y pruebas de rango Borromean.
BulletproofsOct 2018Reemplazó las pruebas Borromean; redujo la prueba de rango de una tx de 2 salidas de ~13 KB a ~2,5 KB, recortando el tamaño total ~80 % y las comisiones más de un 95 %.
CLSAGOct 2020Reemplazó las firmas en anillo MLSAG; firmas ~25 % más pequeñas y verificación notablemente más rápida.
Bulletproofs+Ago 2022Refinó Bulletproofs para recortar más el tamaño y acelerar la verificación; el mismo fork subió el tamaño de anillo a 16 y añadió las view tags.

Bulletproofs, desplegado en el hard fork de octubre de 2018, fue el punto de inflexión. Al cambiar a una prueba de rango de tamaño logarítmico, los datos adjuntos a cada transacción se desplomaron y las comisiones medianas pasaron de dólares a fracciones de céntimo. Es el único cambio que más explica que hoy Monero sea barato de usar. Bulletproofs+, en agosto de 2022, exprimió otro margen y aceleró la verificación, algo que importa porque cada nodo tiene que comprobar cada prueba.

El lado de las firmas en anillo evolucionó en paralelo. CLSAG (Concise Linkable Spontaneous Anonymous Group signatures) reemplazó a la construcción más antigua MLSAG en octubre de 2020, haciendo el componente que oculta al emisor cerca de una cuarta parte más pequeño y más rápido de verificar. El mismo fork de agosto de 2022 que trajo Bulletproofs+ también elevó el tamaño de anillo obligatorio de 11 a 16 —es decir, cada salida gastada se oculta ahora entre 15 señuelos en lugar de 10— e introdujo las view tags, una pequeña optimización que permite a las carteras saltarse la mayor parte del trabajo cuando escanean la cadena en busca de fondos entrantes.

Cómo se construye una transacción RingCT, paso a paso

Ayuda ver cómo se ensamblan las piezas cuando tu cartera envía XMR. Nada de esto requiere acción por tu parte —la cartera lo hace en un segundo o dos—, pero entender la secuencia desmitifica lo que de verdad queda en la cadena.

  1. Seleccionar la entrada real y los señuelos. La cartera elige la salida que realmente vas a gastar y extrae de la cadena otras 15 salidas reales que sirven de señuelos, formando un anillo de 16 orígenes plausibles.
  2. Generar una imagen de clave. De la salida real se deriva una imagen de clave (key image) única. Es lo que permite a la red detectar un doble gasto y, aun así, no se puede vincular de vuelta al miembro del anillo del que proviene.
  3. Crear salidas ocultas. Para cada destinatario, la cartera calcula una dirección oculta de un solo uso para que el pago no pueda atarse a la dirección pública del receptor.
  4. Comprometer los importes. Cada importe de salida se envuelve en un compromiso de Pedersen con un factor de cegado aleatorio, y los factores se equilibran para que entradas menos salidas menos comisión se comprometan a cero.
  5. Adjuntar las pruebas de rango. Se genera una prueba de rango Bulletproofs+ para cada salida, demostrando que el importe oculto es no negativo y está dentro de rango.
  6. Firmar con CLSAG y difundir. La firma en anillo CLSAG autoriza el gasto en nombre de todo el anillo, y la transacción se retransmite —se propaga a través de Dandelion++ para ocultar la IP de origen antes de llegar a la mempool pública.

El resultado que aterriza en la cadena de bloques no contiene ni un emisor legible, ni un receptor legible, ni un importe legible: solo compromisos, pruebas y un anillo de posibilidades. Y, aun así, es plenamente verificable por cada nodo.

Qué significan en la práctica las transacciones confidenciales para ti

La recompensa práctica de RingCT es la fungibilidad y la resistencia a la vigilancia, y se nota en situaciones concretas. Piensa en un freelancer que cobra en cripto. En una cadena transparente, cada cliente puede ver el saldo completo de la cartera y todos los demás pagos que ha recibido jamás; una sola dirección filtrada lo expone todo. En Monero, el pago entrante es una salida oculta con un importe cifrado: el cliente no aprende nada más allá de la transacción que él mismo envió.

También cambia cómo funciona contra ti el «análisis de cadena». Las firmas que venden análisis forense de blockchain construyeron su negocio agrupando direcciones y siguiendo importes. RingCT elimina por completo la señal del importe, las firmas en anillo enturbian el origen y las direcciones ocultas rompen el vínculo con el destino. No hay saldo que consultar ni un rastro de dinero limpio que seguir, y precisamente por eso el rastreo de monedas de privacidad sigue siendo un problema sin resolver en lugar de un producto de catálogo.

Por eso también importa cómo las adquieres. Si compras XMR en una plataforma fuertemente vigilada que ata tu identidad a una salida concreta en la cadena, has creado un punto de partida conocido aunque la propia cadena sea privada. Usar un servicio de intercambio como MoneroSwapper, que no mantiene cuentas ni exige documentos de identidad, mantiene limpio ese primer salto, de modo que la confidencialidad que RingCT aporta en la cadena no queda socavada por un rastro de papel fuera de ella. Nada de esto es asesoramiento fiscal —en España la Agencia Tributaria, y el SAT en México, siguen tratando la enajenación de cripto como un hecho imponible por muy privada que sea la cadena—, pero sí significa que la red en sí no está difundiendo tus finanzas a cualquiera que tenga un explorador de bloques.

Hacia dónde va RingCT a continuación: FCMP++

La ocultación de importes de RingCT es sólida como una roca, pero su anonimato del emisor tiene un techo teórico: un anillo de 16 significa que el gasto real es uno de 16 candidatos, y el análisis estadístico puede, de vez en cuando, arañar esas probabilidades. La respuesta de Monero, en desarrollo activo durante 2025 y 2026, es FCMP++: pruebas de pertenencia a toda la cadena (full-chain membership proofs). En lugar de ocultar un gasto entre 15 señuelos, FCMP++ lo ocultaría entre cada salida elegible que haya existido jamás en la cadena, ampliando el conjunto de anonimato de 16 a decenas de millones.

Lo crucial es que FCMP++ reemplaza el componente de firma en anillo, no el componente de transacción confidencial. Los compromisos de Pedersen y las pruebas de rango Bulletproofs+ que ocultan los importes permanecen en su sitio; lo que cambia es cómo se demuestra la pertenencia al conjunto de salidas gastables. Más adelante, el protocolo de transacciones Seraphis y el esquema de direcciones Jamtis están diseñados para construirse sobre esta base. La lección para los usuarios es sencilla: la privacidad del importe vía RingCT es una parte asentada y madura de Monero, y el protocolo sigue reforzando las partes que la rodean.

Preguntas frecuentes

¿Qué oculta realmente RingCT?

RingCT oculta el importe de una transacción de Monero. Cifra cada valor en un compromiso de Pedersen, de modo que la cifra nunca queda escrita en texto plano en la cadena de bloques, mientras sigue permitiendo que cada nodo verifique que las entradas igualan a las salidas más la comisión. El emisor y el receptor los ocultan mecanismos distintos —las firmas en anillo y las direcciones ocultas— con los que RingCT trabaja en conjunto.

Si los importes están ocultos, ¿cómo impide la red las monedas falsas?

Con dos salvaguardas. La propiedad homomórfica de los compromisos de Pedersen permite a los nodos confirmar que las entradas y salidas ocultas se equilibran a cero, así que no se crea ni se destruye valor. Y una prueba de rango adjunta a cada salida garantiza que el importe comprometido es no negativo y está dentro de un rango válido, bloqueando el truco del desbordamiento que de otro modo permitirían los importes negativos ocultos.

¿Cuál es la diferencia entre RingCT y las firmas en anillo?

Resuelven problemas distintos y a menudo se confunden porque los nombres se solapan. Las firmas en anillo ocultan quién envió una transacción firmando en nombre de un grupo de posibles emisores. RingCT oculta cuánto se envió usando compromisos confidenciales. RingCT integra las dos cosas para que ambas protecciones se apliquen a la misma transacción.

¿Reemplazó Bulletproofs a RingCT?

No. Bulletproofs y Bulletproofs+ son mejoras dentro de RingCT, concretamente del componente de prueba de rango. Reemplazaron las pruebas de rango Borromean, más antiguas y voluminosas, recortando el tamaño de las transacciones en torno a un 80 % y las comisiones en mucho más de un 90 %, pero el marco general de RingCT y sus importes ocultos siguieron igual.

¿Se eliminará RingCT cuando llegue FCMP++?

No. Está previsto que FCMP++ reemplace las firmas en anillo de Monero por pruebas de pertenencia a toda la cadena, ampliando de forma drástica el conjunto de anonimato del emisor. Se espera que la maquinaria del importe confidencial —los compromisos de Pedersen y las pruebas de rango Bulletproofs+— permanezca. Dicho de otro modo, FCMP++ refuerza la privacidad del emisor sin deshacer la privacidad del importe que aporta RingCT.

Conclusión

RingCT es el caballo de batalla silencioso de la privacidad de Monero: convierte cada importe de la cadena en un compromiso que la red puede verificar pero que nadie puede leer, y lo hace mientras las pruebas de rango mantienen honesto el suministro. Combinado con las firmas en anillo que ocultan al emisor y las direcciones ocultas que ocultan al receptor, es la razón por la que una salida de Monero parece idéntica a cualquier otra y no se puede filtrar, poner en lista negra ni rastrear por valor. A través de Bulletproofs, Bulletproofs+ y CLSAG no ha hecho más que volverse más barato y más rápido, y con FCMP++ en el horizonte la privacidad que lo rodea sigue profundizándose. Si quieres monedas que lleven esta protección desde el momento en que las recibes, puedes comprar Monero de forma anónima a través de MoneroSwapper y dejar que RingCT haga el resto en el instante en que operas.

Comparte este artículo

Artículos Relacionados

Exchange de Monero Anónimo

Sin KYC • Sin Registro • Intercambio Instantáneo

Intercambiar Ahora