Introducción

La transparencia del sistema es la clave para el funcionamiento normal de blockchain. La llamada transparencia significa que cada nodo de la red puede almacenar una copia y tiene derecho a verificar si existe alguna infracción. En muchos libros de contabilidad distribuidos, cualquiera puede cargar un explorador de bloques y explorar los bloques, transacciones y direcciones en la red.

Desde una perspectiva de privacidad, este enfoque no es ideal. En sistemas como Bitcoin, cada transacción se puede vincular a transacciones anteriores. Los tokens técnicamente no son fungibles, lo que significa que cada token está vinculado a una transacción específica. Nadie puede impedirle que envíe Bitcoins, pero si esas monedas alguna vez pasan por una dirección incluida en la lista negra, la otra parte tiene derecho a rechazar la transacción.

En el peor de los casos, la falta de homogeneidad puede tener profundas consecuencias para los cimientos del sistema. Las monedas limpias obtienen una prima, mientras que las primeras monedas pierden valor debido a problemas históricos.

A menudo se exagera la privacidad de Bitcoin. De hecho, tanto los tokens como los usuarios del sistema son rastreables. Las personas están acostumbradas a operar de forma anónima (mostrando una dirección pública en lugar de un nombre), pero este enfoque tiene ciertos inconvenientes. Con una precisión cada vez mayor, los análisis de vanguardia agregan entidades en toda la red para su anonimización.

Las transacciones confidenciales son un medio mejorado para promover transacciones verdaderamente privadas.


¿Qué es una transacción confidencial?

El concepto de Transacciones Confidenciales (CT) fue propuesto por primera vez en 2013 por Adam Back, director ejecutivo de Blockstream, y posteriormente fue ampliado y ampliado por el desarrollador de Bitcoin Gregory Maxwell. En la primera parte, Maxwell describió los problemas mencionados de "homogeneización" y "débil anonimato" y propuso las soluciones correspondientes. Señaló que el monto de la transacción se puede ocultar en la red más amplia y que solo los participantes de la transacción pueden conocer el valor específico.


常规交易与保密交易对比


En circunstancias normales (las transacciones se pueden ver públicamente), los nodos pueden verificar fácilmente que la cantidad de monedas recibidas excede la cantidad enviada. Por ejemplo, Alice quiere enviar 0,3 BTC a Bob, utiliza la salida no gastada (llamémosla "1 BTC") y la divide en dos partes: 0,3 BTC a Bob y 0,69 BTC para enviarlos de vuelta a su billetera personal (el resto los fondos se extraen a medida que se pagan las tarifas mineras).

Para otros nodos, es una cuestión de álgebra simple: 1 > 0,3+0,69, las firmas son todas correctas y la entrada de Alice no se consume en ningún otro lugar, por lo que la transacción debe ser válida. Después de que se ocultó la cantidad, las cosas se complicaron. ¿Cómo determinamos si una cantidad desconocida es mayor o igual a la suma de otras dos cantidades desconocidas?


Una descripción general de los principios criptográficos involucrados

Para ocultar los datos se deben aplicar algunas técnicas de cifrado. Sin embargo, el método tradicional es similar a guardar documentos en una caja fuerte: una vez cerrados, no se pueden sacar hasta que se desbloqueen. Las transacciones confidenciales funcionan de manera similar a una caja fuerte digital, donde los contenidos están ocultos y personas externas pueden verificar la propiedad de los activos.

La respuesta está en el "cifrado homomórfico", un mecanismo llamado promesa de Pedersen. Este tipo de cifrado permite a personas externas realizar operaciones con los datos cifrados para diversos fines sin poder ver el contenido específico.

Se puede utilizar un hash normal para enviar los datos que desea mostrar. Supongamos que desea anunciar un concurso en las redes sociales para ganar 0,01 BTC por adivinar su intercambio favorito. Los participantes pueden ser escépticos acerca del concurso porque definitivamente puedes mirar sus respuestas después del concurso y elegir un intercambio que nadie haya mencionado.

Para ello, proporciona a sus fans un hash: una cadena aparentemente aleatoria de números y caracteres (correspondiente a una entrada específica), pasa la respuesta a través de una función específica (es decir, especifica el intercambio) y finalmente obtiene el resultado. Tomemos como ejemplo el algoritmo SHA256:


f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191


Según el valor hash anterior, no conoce la entrada específica y no puede obtener la entrada anterior trabajando hacia atrás en la función. Pero si sabes que la entrada es "Binance", puedes determinar fácilmente que su hash coincide con el mencionado anteriormente. De esta manera, los fanáticos se sentirán más cómodos sabiendo que no cambiarás tu respuesta al final del juego, lo que resultaría en un resultado completamente diferente.

De hecho, este método no es absolutamente seguro. Si bien los fanáticos no pueden aplicar ingeniería inversa al algoritmo, pueden crear una lista de intercambios y hacer coincidir los hashes uno por uno hasta obtener la respuesta correcta. Para evitar este tipo de operaciones, podemos agregar datos aleatorios, llamados "factor de enmascaramiento", a los datos que deben ser sometidos a hash.

Si ingresamos "Binance es mi intercambio favorito sobre cualquier otro intercambio 2#43Wr", será difícil para los competidores adivinar el resultado (después de todo, no pueden intentarlo innumerables veces por solo 0,01 BTC).

Con las promesas de Pedersen podemos agregar entradas después de la promesa. Maxwell explicó esto como:


confidential transaction equation


C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)

donde BF se refiere al factor de enmascaramiento y D se refiere a los datos


Los siguientes pasos implican criptografía de curva elíptica y pruebas de rango, pero la idea básica es realizar el procesamiento de compromiso de Pedersen en la dirección. Al enviar fondos, el sistema generará dos "compromisos" adicionales (la dirección de cambio y la dirección de destino para la devolución de los fondos).

Nadie sabe la cantidad enviada, pero se puede comprobar que el compromiso de cambio y destino (el lado izquierdo de la ecuación de Maxwell) son iguales a la dirección original (el lado derecho de la ecuación). Si el cálculo es correcto, basta con demostrar que la entrada y la salida son iguales, lo que indica que la transacción del usuario es válida.


Qué pueden lograr las transacciones confidenciales

Si se implementan transacciones confidenciales en Bitcoin, se puede crear un sistema más privado. Las entradas y salidas del sistema se ocultarán y las entidades del libro mayor se ofuscarán, pero los nodos aún podrán verificar su autenticidad. Con una privacidad significativamente mejorada, el análisis de la cadena no puede revelar el historial de una unidad determinada, lo que hace que Bitcoin sea efectivamente fungible.

En cuanto a si se pueden integrar "transacciones confidenciales" en el acuerdo, parece poco probable por el momento. Con la adición de esta característica, el tamaño de las transacciones será mayor que el de las transacciones normales, lo que naturalmente creará una mayor demanda en el mercado dado el espacio de bloque limitado. Además, la mayoría de los participantes en la red deben aceptar cambiar el código, lo que ha sido un problema en el pasado.


Resumir

Algunas criptomonedas se han repetido hasta cierto punto en transacciones confidenciales en cadenas laterales de Bitcoin. Por ejemplo, Monero integra perfectamente las transacciones confidenciales con la estructura de "firma en anillo" para lograr anonimato y homogeneidad. La privacidad de las cadenas laterales de Liquid y MimbleWimble también se ha mejorado significativamente.

Las transacciones confidenciales tienen muchas ventajas, pero también enfrentan el problema de un mayor volumen de procesamiento. Las criptomonedas han enfrentado durante mucho tiempo desafíos en términos de escalabilidad y rendimiento de la capa base, y los grandes volúmenes de transacciones también prohibirán a muchas personas. No obstante, los defensores de la privacidad argumentan que es necesario ocultar los montos de las transacciones y los participantes para que las criptomonedas se conviertan en monedas verdaderamente homogéneas.