Privacidad: Métodos para mejorar la privacidad (cadena de bloques)

Esta sección describe diferentes técnicas para mejorar la privacidad de las transacciones relacionadas al registro permanente de éstas en la cadena de bloques. Algunas técnicas son triviales y están incluidas en todas las buenas carteras de bitcoin. Otras se han implementado en algunos proyectos o servicios de código abierto, que puede utilizar más de una técnica a la vez. Otras técnicas todavía no han sido implementadas. Muchas de estas técnicas se enfoca en quebrar diferentes heurísticas y asunciones acerca de la cadena de bloques, de modo que funcionan mejor cuando se combinan en conjunto.

Evitar la reutilización de las direcciones

El utilizar las direcciones más de una vez es muy dañino para la privacidad debido a que enlaza más transacciones de cadena de bloques con la prueba de que han sido creadas por la misma entidad. La forma más privada y segura de utilizar Bitcoin es enviar una nueva dirección a cada persona que le paga. Después de que se ha gastado las monedas recibidas la dirección no se debe utilizar nuevamente. Además, se debe solicitar una nueva dirección cuando se envíe bitcoin. Todas los monederos buenos de bitcoin tienen una interfaz de usuario que desincentiva la reutilización de las direcciones.

Se ha argumento que la frase “dirección bitcoin” ha sido un mal nombre para este objeto debido a que implica que se puede volver a utilizar como si se tratase de una dirección de correo electrónico. Un mejor nombre sería algo como “factura bitcoin”.

Bitcoin no es anónimo, sino seudónimo, y los seudónimos son las direcciones bitcoin. Evitar la reutilización de direcciones es como tirar a la basura un seudónimo después de que se ha utilizado.

Bitcoin Core 0.17 incluye una actualización para mejorar esta situación de privacidad con la reutilización de direcciones. Cuando se paga a una dirección en múltiples ocasiones las monedas recibidas de esos pagos separados se pueden gastar de manera distinta lo cual daña la privacidad debido a que enlaza direcciones que de otro modo no tienen relación. Se ha añadido el parámetro -avoidpartialspends(predeterminado=falso), si se activa el monedero siempre gastará las UTXO existentes a la misma dirección incluso cuando esto resulta en comisiones más altas. Si alguien enviase monedas a una dirección después de que ha sido utilizada, estas monedas también se incluirán en selecciones futuras.

Evitar la reutilización forzada de direcciones

La forma más fácil de evitar la pérdida de privacidad debido a la reutilización forzada de direcciones es no gastar las monedas que han arribado a una dirección previamente utilizada y direcciones vacías. Usualmente los pagos son de poco valor de modo que no se pierde dinero relevante al simplemente no gastar las monedas.

Dust-b-gone es un viejo proyecto que tenía por objetivo el gastar de manera segura los pagos de direcciones reutilizadas de manera forzada. Firma todos los UTXO junto con otras personas y las gasta para el pago de comisiones de minero. Las transacciones utilizan la rara bandera OP_CHECKSIG de modo que se pueden eliminar fácilmente del análisis del adversario, pero al menos los pagos forzados de reutilización de direcciones no conducen a una mayor pérdida de privacidad.

Coin control

Coin control es una característica de algunos monederos de bitcoin que permiten al usuario elegir cuales monedas se deben gastar como entradas de una transacción de salida. Coin control tiene por objetivo evitar lo máximo posible transacciones en las que se originan filtraciones de privacidad debido a montos, direcciones de cambio, el grafo de la transacción y la heurística de la propiedad de entrada común.

Un ejemplo de evitar una filtración del privacidad del gráfico de transacción con coin control: Un usuario recibe pago en bitcoin de su empleador, sin embargo, algunas veces compra bitcoin con efectivo. El usuario desea donar un poco de dinero a una causa de caridad con la que se siente fuertemente identificado, pero no desea que su empleador lo sepa. La organización también tiene una dirección de donación visible de manera pública la cual se puede encontrar por un motor de búsqueda web. Si el usuario paga a la caridad sin utilizar coin control, su monedero podrías utilizar monedas que obtuvo de su empleador, lo cual permitiría al empleador descubrir a qué caridad ha donado el usuario. Al utilizar coin control, el usuario puede asegurarse de que solo las monedas obtenidas de manera anónima empleando efectivo han sido enviadas a la caridad. Esto evita que el empleador se entere alguna vez a qué caridad el usuario apoya financieramente.

Transaciones múltiples

El pagar a alguien con más de una transacción en la cadena de bloques puede reducir la capacidad de ataques de privacidad basados en el monto como la correlación del monto y el redondeo de números. Por ejemplo, si un usuario paga 5 BTC a alguien y no desea que el valor de 5 BTC se pueda buscar fácilemten, entonces puede enviar dos transacciones por el valor de 2 BTC y 3 BTC que en conjunto suman 5 BTC.

Los comercios y servicios deben proveer a los cliente más de una dirección bitcoin a la que pueden pagar.

Evitar el cambio

Evitar el cambio se da cuando las entradas y salidas de una transacción se eligen de manera cuidadosa a fin de no necesitar en absoluto una salida de cambio. El no tener una dirección de cambio es excelente para la privacidad, debido a que quiebra las heurísticas de detección de cambio.

Evitar el cambio es práctico para servicios bitcoin de alto volumen, que típicamente tienen un gran número de entradas disponibles para gastar y un gran número de salidas requeridas para cada uno de sus clientes a los que envían dinero. Este hecho de evitar el cambio también reduce las comisiones de minero debido a que las transacciones en general utilizan menos espacio de bloque

Otra manera de evitar el crear una salida de cambio es en casos en donde el monto exacto no es importante y una UTXO completa o grupo de UTXO se puede gastar por completo. Un ejemplo es cuando se abre un canal de pagos de Lightning Network. Otro ejemplo podría ser cuando se almacenan fondos en un monedero den frio en donde el monto exacto puede no importar.

Salidas de cambio múltiples

Si el evitar el cambio no es una opción entonces el crear más de una salida de cambio puede mejorar la privacidad. Esto también quiebra las heurísticas de detección de cambio las cuales usualmente asumen que solo existe una única salida de cambio. Debido a que este método emplea más espacio en el bloque que lo usual, se prefiere el evitar el cambio.

Mejoras de privacidad del script

El script de cada salida de bitcoin filtra información relevante de privacidad. Por ejemplo, hasta finales del 2018 cerca del 70% de direcciones bitcoin son de tipo de única firma y 30% de múltiple firma. Se ha realizado mucha investigación para la mejora de la privacidad de scripts al buscar formas de que diferentes tipos de scripts se vean de forma similar. Además de mejorar la privacidad, estas ideas también mejoran la escalabilidad del sistema al reducir los requisitos de almacenamiento y ancho de banda.

ECDSA-2P es un esquema de cifrado que permite la creación de un esquema de firmas múltiples 2-de-2 pero que resulta en una firma regular de firma única ECDSA cuando se incluye en la cadena de bloques. No requiere ningún tipo de cambios en las reglas de consenso dado que bitcoin ya emplea ECDSA.

Schnorr es un esquema de firma digital que tiene muchos beneficios sobre el status-quo ECDSA. Un efecto secundario es que cualquier firma múltiple de tipo N-de-N o M-de-N se puede hacer ver como si fuese una de firma única cuando se incluye en la cadena de bloques. Añadir Schnorr a bitcoin requiere un cambio de consenso de tipo bifurcación soft. Hasta el 2019 se ha propuesto un diseño para el esquema de firma. El cambio de consenso que se requiere todavía está en la etapa de diseño a inicios del 2019.

Scripless scripts son un conjunto de protocolos criptográficos que proveen una manera de réplica de la lógica de un script sin revelar las condiciones del script, lo que mejora la privacidad y la escalabilidad al eliminar información de la cadena de bloques. Esto generalmente dirigido a protocolos que involucran Hash Time Locked Contracts como Lightning Network y CoinSwap.

MAST son las siglas de “Merkelized Abstract Syntax Tree”, que es un esquema para ocultar ramas no ejecutadas de un contrato. Mejora la privacidad y escalabilidad al eliminar información de la cadena de bloques.

Taproot es una manera de combinar firmas Schnorr con MAST. La firma Schnorr se puede utilizar para gastar la moneda, sin embargo también un árbol MAST se puede revelar solo cuando el usuario desea utilizarlo. LA forma Schnorr puede ser cualquiera N-de-N o emplear cualquier contrato de tipo “scriptless script”. La consecuencia de taproot es un mayor conjunto de anonimato para contratos inteligentes interesantes, como cualquier contrato como Lightning Network, CoinSwap, firmas múltiples, etc que se presentan de manera indistinta a transacciones comunes de firma única.

El esquema taproot es muy útil debido a que casi siempre se da el caso de que los programas interesante tienen un nivel superior de lógica que permite el satisfacer el contrato con nada más que una firma de todas las partes. Otras ramas podrían emplearse únicamente cuando algún participante no colabora.

Graftroot es un esquema de contrato inteligente similar a taproot. Permite a los usuario incluir otros programas posibles para gastar las monedas pero emplea aún menos recursos que taproot. La concesión es que se requiere interacción entre los participantes.

nLockTime es un campo en el formato de serialización de la transacción. Se puede emplear en ciertas situaciones para crear un bloqueo de tiempo más privado que evitar emplear opcodes en los programas.

Direcciones ECDH

Las direcciones ECDH se pueden emplear para mejorar la privacidad al ayudar a evitar la reutilización de direcciones. Por ejemplo, un usuario puede publicar una dirección ECDH como dirección de donación la cual se puede emplear por personas que desean donar. Un adversario puede ver la dirección ECDH de donación pero no podrá encontrar fácilmente alguna transacción que gasta hacia y desde ésta.

Sin embargo, las direcciones ECDH no resuelven todos los problemas de privacidad dado que todavía son vulnerables a pagos de cliente misterioso; un adversario puede donar algunos bitcoins y vigilar en la cadena de bloques para saber a donde se transfieren posteriormente, empleando heurísticas como la propiedad de entrada común para obtener más información como el volumen de donación y destino final de los fondos.

Las direcciones ECDH tienen algunos problemas prácticos y son muy equivalentes a ejecutar un sitio web http que entrega una direcciones bitcoin a cualquiera que desea donar excepto que no tienen un paso adicional de interacción. De modo que no está claro si ECDH es útil en casos diferentes al caso de uso de donaciones no interactivas o aplicaciones auto-contenidas que envían dinero a un destino sin requerir interacción.

Mezcladores centralizados

Este es un antiguo método para quebrar el grafo de transacción. También se les denomina “volteadores” o “lavadoras”. Un usuario enviaría bitcoins a un servicio de mezclado y el servicio enviaría al usuario bitcoins diferentes, menos una comisión. En teoría un adversario que vigila la cadena de bloques no podría vincular las transacciones de entrada y salida.

Existen diversas desventajas. Se debe confiar en el mezclador para que mantenga en secreto el vínculo entre las transacciones de entrada y salida. Además se debe confiar en el mezclador para que no robe las monedas. El riesgo de robo crea efectos de reputación, los mezcladores más antiguos y establecidos tendrán mejor reputación y podrán cobrar comisiones más altas que el coste marginal de mezclar las monedas. Además no existe manera de vender reputación, el ecosistema de mezcladores estará lleno de estafadores oscaionales que buscan una salida.

Existe una mejor alternativa a los mezcladores que esencialmente tienen los mismos riesgos de privacidad y custodia. Un usuario podría depositar y retirar monedas de cualquier sitio web de bitcoin que tiene una billetera. Mientras que el servicio de bitcoin no solicite al usuario cualquier otra información, tiene los mismos aspectos de privacidad y custodia que un mezclador centralizado y también es más barato. Ejemplos de servicios adecuados son los casinos bitcoin, sitios web de póker, sitios de propinas, casas de cambio de criptodivisas o comercios en línea.

El problema de que el servicio posea el conocimiento completo de las transacciones se podría remediar al emplear diferentes servicios en cascada. Un usuario que desea evitar el rastreo de observadores pasivos de la cadena de bloques primero enviar monedas a un casino bitcoin, desde allí retira y envía directamente a una casa de cambio de criptodivisas, y tal hasta que el usuario está satisfecho con la privacidad obtenida.

CoinJoin

CoinJoin es un tipo especial de transacción bitcoin en donde múltiples personas o entidades cooperan para crear una única transacción que involucra todas sus entradas. Tiene el efecto de quebrar la heurística de propiedad de entrada común y emplea la fungibilidad inherente a las transacciones bitcoin. La técnica CoinJoin ha sido posible desde el inicio de bitcoin y no se puede bloquear excepto en las maneras en las que otras transacciones de bitcoin se pueden bloquear. Solo con inspeccionar la transacción no es posible determinar con seguridad si es un coinjoin. Los coinjoins no requieren custodia puesto que se pueden hacer sin que ninguna parte participante pueda robar los bitcoins de otra.

CoinJoin de salida igual

Digamos que esta transacción es una CoinJoin, implicando que los 2 BTC y 3 BTC de entrada han sido propiedad de diferentes entidades.

2 btc --> 3 btc
3 btc     2 btc

Esta transacción quiebra la heurística de propiedad de entrada común, debido a que sus entradas no son propiedad de la misma persona pero es fácil determinar a donde fueron a parar los bitcoins de cada entrada. Al inspeccionar los montos (y asumiendo que las dos entidad no se pagan una a la otra) es obvio que la entrada de 2 BTC termina en la salida 2 BTC, y lo mismo para 3 BTC. Para mejorar realmente la privacidad necesita una transacción CoinJoin que tenga más de una salida de igual tamaño:

2 btc --> 2 btc 
3 btc     2 btc 
          1 btc

En esta transacción las dos salidas de valor 2 BTC no se pueden vincular a las entradas. Podrían haber tenido origen en cualquier entrada. Esta es la cruz de cómo se puede utilizar CoinJoin para mejorar la privacidad, no tanto al quebrar el grafo de la transacción en cambio fusionándolo. Note que la salida de 1 BTC no ha obtenido mucha privacidad, puesto que es sencillo vincularla con la entrada de 3 BTC. La ganancia de privacidad de estos CoinJoins se vuelve compuesta cuando estos se repiten muchas veces.

Hasta finales de 2018 CoinJin es el único método de privacidad descentralizado de bitcoin que se ha podido desplegar. Ejemplos de (posibles) transacciones CoinJoin son 402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a y 85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238. Note que estos coinjoins involucran más de dos personas, de modo que cada usuario individualmente no puede saber la conexión real entre entradas y salidas (a menos que exista colusión).

PayJoin

El tipo de CoinJoin que se ha discutido en la sección previa se puede identificar fácilmente como tal al verificar las múltiples salidas con valor similar. Es importante considerar que este tipo de identificación es siempre negable, debido a que alguien podría hacer CoinJoins falsos que tengan las misma estructura que una transacción CoinJoin pero ha sido realizada por una única persona.

PayJoin (también denominado “pay-to-end-point” o P2EP) es un tipo especial de CoinJoin entre dos partes en donde una paga a la otra. La transacción por tanto no tiene las múltiples salidas distintas con el mismo valor, y de este modo no es visible de manera obvia como un CoinJoin de salida igual. Considere esta transacción:

2 btc --> 3 btc 
5 btc     4 btc

Se podría interpretar como una transacción simple que paga a alguien con un cambio de sobra (ignore por ahora la cuestión de cual salida es el pago y cual es el cambio). Otra manera de interpretar esta transacción es que la entrada de 2 BTC es propiedad de un comerciante y 5 BTC es propiedad de su cliente, y que esta transacción implica que el cliente paga 1 BTC al comerciante. No existe manera de determinar cual de estas dos interpretaciones es correcta. El resultado es una transacción CoinJoins que quiebra la heurística de propiedad de entrada común y mejora la privacidad, pero que también no es detectadle y es indistinguible de cualquier otra transacción regular de bitcoin.

Si las transacciones PayJoin incluso se vuelven moderadamente utilizadas entonces haría que la heurística de propiedad de entrada común se vuelva completamente defectuosa en la práctica. Dado que estas son imposibles de detectar no podríamos saber si se está utilizando hoy en día. Dado que la mayoría de compañías de vigilancia de transacciones dependen en su mayoría en esta heurística, al 2019 existe un gran interés por la idea de PayJoin.

CoinSwap

CoinSwap es una técnica de privacidad para bitcoin que se basa en la idea de intercambios atómicos o “atomic swaps”. Si Alicia y Roberto desean hacer un coinswap, entonces se puede interpretar como que Alicia intercambia sus bitcoin por el mismo monto (menos comisiones) por los bitcoins de Roberto, pero esto se realiza con contratos inteligentes de bitcoin para eliminar la posibilidad de fraude por alguna de las partes.

CoinSwaps quiebran el grafo de transacción entre los bitcoins enviados y recibidos. En la cadena de bloques se muestra como dos conjuntos de transacciones completamente desconectadas:

Dirección de Alicia ---> dirección 1 de fideicomiso ---> dirección de Roberto
Dirección de Roberto ---> dirección 2 de fideicomiso ---> dirección de Alicia

Obviamente Alicia y Roberto generan nuevas direcciones cada uno para evitar la pérdida de privacidad debido a la reutilización de direcciones.

Es posible efectuar CoinSwaps que sean completamente indistinguibles de cualquier otra transacción en la cadena de bloques. Se puede decir que permite que los bitcoins se teletransporten sin posibilidad de detección a cualquier lugar en la cadena de bloques. Las transacciones que no son CoinSwap se beneficiarían debido a que un analista a gran escala de la cadena de bloques como una compañía de vigilancia de transacciones no podría estar seguro de que las transacciones ordinarias no son en realidad CoinSwaps. Además éstas no requieren mayor espacio de bloque comparado con la cantidad de privacidad que proveen.

Los CoinSwaps requieren mucha interacción entre las partes involucradas, lo que puede hacer que este tipo de sistemas sean complejos de diseñar a la vez que se busca evitar ataques de denegación de servicio. También tienen el requisito de vitalidad y no censura, lo que implica que las entidades que participan debe siempre poder acceder libremente a la red de bitcoin. Si el acceso a Internet se ha interrumpido por días o semanas entonces la mitad de los CoinSwaps completados podrían terminar en que una parte ha sufrido el robo de sus fondos.

Hasta el 2018 no se ha desplegado una implementación de CoinSwap.

CoinJoinXT

CoinJoinXT es una técnica de privacidad que no requiere custodia y que está relacionada de manera cercana con CoinJoin. Permite a cualquier número de entidades participantes el crear entre ellas lo que se denomina grafo de transacción propuesta (PTG) que es una lista de transacciones conectadas. En el PTG los bitcoins que pertenecen a las entidades se envían hacia y desde en todas las transacciones, pero al final del PTG se devuelven a sus propietarios legítimos. El sistema se ha construido de manera que el proceso de PTG que se mina es atómico, de modo que el PTG por completo se confirma en la cadena de bloques o no se hace, esto significa que ninguno de las entidades participantes puede robar a otra.

El grafo de transacción propuesta tiene la liberta de ser cualquier lista de transacciones que ofuscan el grafo de transacción. Para mejores resultados el PTG podría imitar el grafo natural de transacción debido a actividad económica normal en bitcoin, y de este modo un adversario no podría saber en donde ha iniciado o finalizado el PTG, lo que resulta en una inmensa ganancia en privacidad.

Tal como CoinJoin, CoinJoinXT es fácil de hacerse resistente a ataques de denegación de servicio y no requiere un número de pasos de interacciones prohibitivo. A diferencia de CoinSwap no existe el requisito de vitalidad y no censura de modo que los fondos están seguros incluso si bitcoin está bajo censura temporal. Sin embargo, CoinJoinXT utiliza mucho espacio de bloque comparado con la ganancia en privacidad. Además CoinJoinXT requiere una corrección de maleabilidad de modo que todas las transacciones en el PTG deben de ser exclusivamente de tipo segwit. Hasta el 2019 solo cerca del 40% de transacciones son de tipo segwit, de modo que un analizador de la cadena de bloques podría fácilmente eliminar transacciones que no son PTG al verificar si estas son de tipo heredada o segwit.

TumbleBit

TumbleBit es una tecnología de privacidad que no requiere custodia y en donde el servidor de coordinación no puede determinar el enlace real entre la entrada y salida. Esto se logra con una construcción criptográfica en donde el servidor facilita un intercambio privado de firmas digitales. El protocolo es muy interesante para cualquier entusiasta de privacidad y de bitcoin.

Desde el punto de vista de un analizador de la cadena de bloques, las transacciones de TumbleBit se muestran como dos transacciones con muchas salidas (800 en el ejemplo del autor) y todas las salidas de la transacción deben de ser del mismo monto.

Transacciones fuera de la cadena

Las transacciones fuera de la cadena se refiere a cualquier tecnología que permite transacciones bitcoin en una capa superior a la cadena de bloques. Los pagos Bitcoin se realizan fuera de la cadena y no se efectúa una transmisión a todos los nodos en la red, además de que no se minan y almacenan para siempre en una cadena de bloques pública. Esto mejora la privacidad automáticamente debido a que mucho menos información es visible a la mayoría de adversarios. Con las transacciones fuera de la cadena no existen direcciones públicas, no hay grupos de direcciones, no hay transacciones públicas, no hay montos de transacciones o cualquier otro ataque relevante a la privacidad que pueda ocurrir con las transacciones en la cadena de bloques.

Lightning Network es un gran tema en la privacidad de bitcoin por lo que se discute al respecto en su propia sección.

Certificados de portador ciego

Esto es otra manera de efectuar transacciones fuera de la cadena que se basa en firmas ciegas. Los pagos a través de este tipo de sistema podrían ser muy privados. Este se conoce desde 1983, pero el sistema requiere custodia de modo que el servidor de emisión es un gran punto central de fallo que podrían apropiarse de todo el dinero. Sin embargo, el concepto podría aún ser útil para ciertas situaciones en donde Lightning no lo es, por ejemplo los certificados de portador ciego soportan pagos en los que el receptor está desconectado.

Sidechains

Sidechains se forman cuando otra cadena de bloques se crea y utiliza bitcoins como su unidad monetaria. Los bitcoins se pueden mover de la cadena principal de bitcoin a la sidechain lo que les permite transarlos siguiendo reglas de consenso diferentes. Las sidechains pueden tener propiedades de privacidad diferentes y mejores que la cadena de bloques regular de bitcoin.

Transacciones confidenciales

Confidential transactions (CT) es un protocolo criptográfico que tiene como resultado en que el valor del monto de una transacción está cifrado. El cifrado es especial debido a que incluso así es posible verificar que no se pueden crear o destruir bitcoins en una transacción pero sin divulgar los montos exactos de la misma. Las transacciones confidenciales requieren una bifurcación de software que implica añadir un cambio a las reglas de consenso de bitcoin, aunque se podrían añadir también a una sidechain.

Discusión

Privacidad vs. escalabilidad

Muchas de las tecnologías de privacidad mencionadas previamente funcionan al añadir datos extra a la cadena de bloques de bitcoin lo que se utiliza para ocultar información relevante a la privacidad. Esto tiene el efecto colateral de degradar la escalabilidad de bitcoin al añadir más datos que se deben manejar por el sistema. Esto afecta la privacidad debido a que los nodos completos se vuelven más costos de operar en cuanto recursos y estos representan la forma más privada para que un usuario conozca su historial y balance. El añadir datos a los bloques también degrada la seguridad del sistema, y no tiene mucho sentido el tener un bitcoin privado si la pobre seguridad conduce a que se pueda atacar y destruir de manera exitosa. El coste de recursos de utilizar más espacio de bloque se muestra al usuario como una comisión de minero más alta, de modo que la tecnología de privacidad que emplea mucho espacio de bloque podría no utilizarse mucho si los usuarios encuentran que las comisiones son muy onerosas. Durante el periodo de alta demanda de espacio en bloque al final del 2017, las transacciones de bajo valor de tipo JoinMarket CoinJoin en su mayoría desaparecieron (así como lo hicieron la mayoría de transacciones bitcoin de bajo valor).

Las transacciones fuera de la cadena son una manera de evitar esta concesión mutua entre privacidad y escalabilidad. Este tipo de soluciones mejora la privacidad al eliminar por completo los datos de la cadena de bloques, al no añadir más datos señuelo. El evitar el cambio y las mejoras de privacidad de Script también reducen costes al sistema a la vez que mejora la privacidad. CoinJoinXT, TumbleBit emplean buco espacio de bloque adicional en relación a la ganancia de privacidad. PayJoin no utiliza mucho espacio de bloque adicional para hacer una transacción ordinaria, relativo a la ganancia de quebrar la heurística de propiedad de entrada común es muy eficiente en el uso del espacio. CoinSwap utiliza muy poco espacio en relación a la privacidad, dado que se puede entender como un sistema de transacción fuera de la cadena que hace una única transacción y luego retorna a la cadena de bloques. Las transacciones confidenciales requieren mucho espacio de bloque junto con ancho de banda y costes de CPU asociados, pero su ganancia de privacidad es substancial, de modo que el debate en este tema podría ir de cualquier manera.

En el largo plazo a medida que las comisiones de minero se incrementa, las tecnologías de privacidad que son costosas en recursos serán reemplazadas por otras más eficientes en recursos.

Estenografía

La estenografía se emplea en criptografía para señalar el acto de ocultar el hecho de que algo está siendo ocultado. Por ejemplo, el contenido de un mensaje cifrado no puede ser leído por un espía pero aún muestra que algo se está ocultando. El cifrado estenográfico de un mensaje se puede realizar al incrustar un mensaje cifrado en un fichero de audio o imagen que oculta el mensaje en el ruido.

Un CoinJoin de igual salida oculta el origen y destino de cierta moneda, pero la estructura de las transacciones revela que algo se está ocultando. Aún cuando CoinJoin quiebra la heurística de propiedad de entrada común, el hecho de que se puede detectar un CoinJoin de igual salida (aún si la detección es imperfecta) permite excluirlas del análisis del adversario. Además la propiedad de distinción de los CoinJoins podría atraer sospechas y sugerir más investigación.

La idea de estenografía es un buen objetivo. Incrementa grandemente la privacidad debido a que las transacciones que se hacen con esta tecnología no se pueden distinguir de transacciones ordinarias. Además mejora la privacidad de los usuarios que ni siquiera utilizan la tecnología, debido a que sus transacciones siempre se pueden confundir con transacciones privadas reales. Los “Scriptless Scripts” son un gran ejemplo de una tecnología estenográfica de privacidad en donde la información relevante para la privacidad se oculta en los números aleatorios de las firmas digitales. PayJoin, CoinSwap y CoinJoinXT son tecnologías estenográficas buenas debido a que se pueden hacer indistinguibles de transacciones bitcoin ordinarias. CoinJoins de salida igual y TumbleBit no son estenográficas. Además es usualmente sencillo de identificar cuando se está utilizando un servicio de mezcla centralizado con un análisis de heurística de propiedad de entrada común, pero el depositar y retirarlos de un sitio web bitcoin de alto volumen como un casino o una casa de cambio es mejor debido a que es posible que el usuario simplemente desea jugar.

Traducción artículo: Privacy en el wiki de Bitcoin.
https://en.bitcoin.it/wiki/Privacy#Methods_for_improving_privacy_.28blockchain.29

Parte 1: Privacidad: Introducción
Parte 2: Privacidad: Ataques de cadena de bloques a la privacidad
Parte 3: Privacidad: Métodos para incrementar la privacidad (no relacionado con cadena de bloques)