63 / 736CJ

CoinJoin

Una transacción conjunta para mejorar la privacidad

Los pagos de Bitcoin son públicos, pero el registro no tiene por qué revelar quién posee cada nueva salida. CoinJoin aprovecha esa diferencia: varias personas construyen una transacción conjunta. Puede dificultar el seguimiento de su dinero, sin borrar el historial ni prometer anonimato.

CoinJoin permite reunir fondos de varias personas en una transacción Bitcoin mientras cada una conserva sus claves y comprueba lo que firma. La transacción crea nuevas salidas para los participantes o sus destinatarios. A un observador puede resultarle más difícil saber qué propietario original recibió cada salida. El efecto depende de la estructura de la transacción, del protocolo y de la información adicional disponible.

Anna paga un servicio y no quiere que el destinatario pueda rastrear fácilmente sus demás fondos. Pero Bitcoin no tiene un extracto bancario privado: su historial es público. Una transacción gasta salidas anteriores aún disponibles, llamadas UTXO, y crea otras nuevas. Una salida registra una cantidad y las condiciones para gastarla. Si un pago normal utiliza varias, un analista suele suponer que las controla una sola persona. Es una regla para estimar, una heurística, no una prueba. CoinJoin rompe esa suposición al reunir a varios propietarios en una transacción. No reescribe el pasado; cambia la certeza con la que pueden inferirse relaciones a partir de datos públicos. [1]

En un ejemplo simplificado, Anna y Pavel tienen cada uno una salida de 100 500 sat. Sat es la abreviatura de satoshi, la unidad más pequeña de bitcoin. Acuerdan una transacción que devuelve a cada uno una nueva salida de 100 000 sat; los 1 000 sat restantes son la comisión de red conjunta. El modelo didáctico no incluye otras tarifas de servicio. Un coordinador o las carteras que se comunican preparan una propuesta. Una firma digital es una autorización verificable creada con una clave privada, el dato secreto que permite firmar a quien lo posee. La clave en sí no se revela. Cada persona verifica la dirección de su salida, el importe, las comisiones y todas las condiciones antes de firmar sus entradas. El coordinador por sí solo no tiene las claves ni permiso para gastar fondos ajenos. Sin una firma necesaria, esa transacción no puede completarse válidamente. La protección presupone un software correcto y revisar la propuesta: firmar un pago a la dirección de un estafador la anularía. [1] [5]

En el ejemplo, quien solo mira la cadena ve dos nuevas salidas de igual valor. El importe no indica cuál pertenece a Anna y cuál a Pavel. Eso no implica automáticamente una probabilidad de una entre dos ni anonimato garantizado: el observador puede conocer una dirección o tener otra pista. En transacciones reales, el cambio reconocible, los importes distintos, los tipos de salida o el momento del pago pueden ayudar a relacionarlos. El conjunto de anonimato son los candidatos que un observador no puede distinguir, no simplemente el número de inscritos en una ronda. La puntuación de una cartera es una estimación según cierto modelo, no una promesa sobre lo que sabe cada observador. [1] [4]

Poder robar dinero y poder averiguar algo son capacidades distintas. Un coordinador sencillo puede conocer la relación entre entradas y salidas; otros protocolos la ocultan mediante técnicas criptográficas. También cuentan los datos de red, como direcciones IP y horarios de conexión. Otro problema es un Sybil Attack: un adversario se presenta como muchos participantes, conoce sus propias salidas y reduce la incertidumbre sobre las restantes. Además, alguien puede negarse a firmar e interrumpir toda la ronda. Por eso importan las reglas concretas de participación y la defensa frente a saturación o sabotaje, conocidos como DoS. Un gran número de entradas no resuelve esas cuestiones por sí solo. [1] [4]

Anna combina más tarde su nueva salida con fondos retirados de una plataforma que conoce su identidad. Así puede dar al observador un vínculo nuevo allí donde intentaba crear ambigüedad. Reutilizar direcciones o reunir varias salidas en una, una consolidación, puede producir un efecto similar. Coin Control permite elegir qué UTXO gasta la cartera y ayuda a separar distintos contextos. No es un botón de privacidad absoluta. El destinatario puede conocer al pagador y un servicio puede conservar sus propios registros. La protección continúa después de una ronda exitosa; no depende solo de la forma de una transacción. [5]

Primero identifica qué información quieres proteger y frente a quién. Un destinatario curioso, el coordinador y un observador de la red no tienen las mismas capacidades. Después comprueba quién guarda las claves, qué firma la aplicación, qué costes cobra y cómo gestiona las salidas resultantes. Un servicio al que primero envías fondos para que los custodie tiene un modelo de confianza distinto del CoinJoin sin custodia. CoinJoin no añade una regla especial a Bitcoin: los nodos verifican una transacción normal y sus condiciones. Un nodo es un ordenador con software que verifica las transacciones y los bloques de Bitcoin. CoinJoin tampoco elimina los registros de una plataforma o destinatario ni promete cómo tratará el pago un servicio concreto. Entender esos límites ayuda más a un principiante que una etiqueta de ‘anónimo’ en la aplicación. [1] [5]

Gregory Maxwell explicó públicamente CoinJoin en agosto de 2013. La idea no exigía cambiar las reglas de la red, pero había que resolver cómo encontrar participantes y coordinarlos. JoinMarket mostró un enfoque de mercado: quien organiza una transacción conjunta paga a otros por disponer de sus fondos para participar. Los protocolos coordinados lo organizan de otra manera. WabiSabi, por ejemplo, admite importes variables y credenciales anónimas que permiten acreditar el derecho a las salidas sin revelar directamente su vínculo con las entradas. Por eso no debe identificarse todo CoinJoin con una aplicación ni suponerse que todas sus variantes requieren únicamente salidas iguales. [1] [2] [4]

El texto de Maxwell explica la idea básica, la documentación de una cartera describe su procedimiento y el artículo WabiSabi analiza propiedades del protocolo. Son niveles de evidencia distintos. En esta revisión, el repositorio original JoinMarket client/server está archivado; sirve aquí como material histórico y técnico, no como recomendación de instalación. PayJoin, según BIP 78, es una colaboración relacionada entre pagador y destinatario en la que ambos aportan entradas. Normalmente no busca un gran grupo de salidas iguales. Al comparar, pregunta quién colabora, qué puede averiguar y qué comprueban realmente la persona y su cartera antes de firmar, no te quedes solo con la palabra ‘privacidad’. [1] [2] [3] [4] [5] [6]

Ejemplo · CJ

Una transacción conjunta no implica un único propietario

Alice y Bob controlan cada uno una entrada distinta de una transacción conjunta y reciben sus propias salidas. Aquí es falso suponer que todas las entradas pertenecen a una persona. Unir entradas no garantiza ocultar la propiedad de las salidas; importes, otros datos y gastos posteriores pueden revelar vínculos.

Para obtener la imagen más completa, lee esta entrada junto con Bitcoin, Privacidad en Bitcoin, Seudonimidad, Cartera, UTXO, Transacción. También enlazan con esta entrada Change Address, Privacidad en Bitcoin, Seudonimidad, KYC.

01¿Puede un coordinador CoinJoin robar fondos de las entradas?

En un CoinJoin sin custodia bien diseñado, las claves siguen en manos de los participantes. Antes de firmar, comprueban toda la transacción, sobre todo sus propias salidas, importes y comisiones. Sin las firmas necesarias, el coordinador no puede crear un gasto válido, pero puede interrumpir una ronda o rechazar participantes. Pero si un participante firma una transacción que envía su dinero a un estafador, él mismo está autorizando ese pago.

02¿Las salidas son anónimas para siempre después de CoinJoin?

No. El historial sigue siendo público. Reutilizar direcciones, consolidar, pagar a contrapartes conocidas, el comportamiento reconocible de la cartera y los metadatos de red pueden reducir o eliminar la ambigüedad. El resultado depende del protocolo y del uso posterior de las salidas.

DOC · 001Gregory Maxwell — CoinJoin: Bitcoin privacy for the real worldFuente primaria DOC · 002JoinMarket client/serverFuente primaria DOC · 003JoinMarket — Architecture Notes (archived)Documentación DOC · 004WabiSabi: Centrally Coordinated CoinJoins with Variable AmountsFuente primaria DOC · 005Wasabi Wallet — CoinJoin documentationDocumentación DOC · 006BIP 78 — PayjoinEspecificación
Revisado: Fuentes primero · No es asesoramiento financiero