140 / 736P2EP

Payjoin

Un pago construido junto con quien lo recibe

En un pago normal, la cartera selecciona monedas del remitente y envía parte de su valor al destinatario. Payjoin invita a este último a participar: añade monedas propias a la misma transacción. El pago llega igualmente, pero quien solo observa la cadena pública dispone de pistas menos fiables sobre el propietario de cada entrada.

Payjoin permite preparar un pago Bitcoin junto con quien lo recibe. Ambas partes aportan fondos propios a una misma transacción, pero cada una conserva sus claves privadas y autoriza el gasto de su dinero. Así se dificulta que un observador de la cadena pública deduzca a quién pertenecían las monedas utilizadas. No crea otra moneda ni garantiza el anonimato.

Alice paga a Bob. Una cartera es una aplicación o un dispositivo para recibir y enviar bitcoin. Su cartera no maneja un único saldo bancario: selecciona salidas de transacciones anteriores que aún no se han gastado, llamadas UTXO. Cada salida tiene un importe y unas condiciones para gastarla. La nueva transacción hace referencia a esas UTXO mediante sus entradas y crea nuevas salidas para Bob y para el cambio de Alice, si lo hay. En un pago normal, solo Alice aporta fondos. Con Payjoin, Bob participa añadiendo una UTXO propia. Sigue recibiendo el pago acordado, pero también mueve dinero que ya tenía. Ambas carteras deben comprobar el resultado. Cada parte autoriza después el gasto de sus entradas con una firma digital; no se envían las claves privadas. La clave privada es un valor numérico secreto con el que se crea esa firma. [1] [3] [8] [6]

Un analista suele suponer que las entradas gastadas juntas pertenecen a una misma cartera. Esta regla orientativa se llama common-input-ownership heuristic. No es una norma de Bitcoin ni una prueba de identidad, sino una deducción basada en el uso habitual. Payjoin crea transacciones válidas en las que esa deducción falla. El observador ya no puede atribuir automáticamente todas las entradas a Alice, aunque otras informaciones puedan seguir ayudándolo. [1] [3]

Expresaremos los importes en sats, las unidades más pequeñas de bitcoin. Dejemos momentáneamente la comisión aparte. Alice tiene una entrada de 100 000 sats y paga 20 000 sats a Bob; recupera 80 000 sats de cambio. Bob añade una entrada propia de 50 000 sats y su salida aumenta a 70 000 sats. Entradas y salidas siguen sumando 150 000 sats cada conjunto. Bob no recibe un regalo adicional: ya poseía 50 000 sats y solo gana los 20 000 sats acordados. Una transacción real debe pagar también su comisión. [1] [6]

Para entenderse, las carteras necesitan un procedimiento y un formato de mensajes comunes. BIP78, el documento técnico de Nicolas Dorier que recibió su número en 2019, utiliza PSBT — Partially Signed Bitcoin Transaction. Es un paquete de datos con una transacción y la información necesaria para comprobarla y firmarla, no un pago ya enviado a la red. La solicitud de pago incluye el parámetro pj: la dirección del servicio con el que debe comunicarse la cartera. Primero, el remitente envía el pago original dentro de una PSBT completamente firmada y finalizada. Ya puede difundirse, aunque el nombre del formato contenga la palabra «partially». El destinatario devuelve una propuesta modificada con sus entradas y firmas añadidas. El remitente la comprueba, vuelve a firmar sus entradas y difunde la transacción resultante en la red Bitcoin. La conexión debe estar cifrada y el extremo remoto autenticado. PSBT no es una copia de seguridad: no se envían la seed de la que se derivan las claves, las claves privadas ni datos innecesarios sobre su derivación. [1] [5]

La cartera del remitente debe comprobar que conserva sus entradas y salidas protegidas, que el cambio no se ha reducido arbitrariamente y que la aportación a la comisión no supera el límite permitido. Solo firma sus entradas originales. El protocolo permite ciertas modificaciones de las salidas del destinatario bajo condiciones precisas; no autoriza redirigir todo el pago. En el dispositivo de firma hay que entender los importes mostrados, no limitarse a aceptar otra pantalla. [1] [5]

Una entrada adicional ocupa espacio y puede aumentar la comisión absoluta de ese pago. Las carteras negocian quién la paga y hasta qué límite. El destinatario, sin embargo, puede consolidar UTXO o incluir otro pago que de otro modo haría por separado. El ahorro total depende de comparar las mismas operaciones, no de prometer que cada Payjoin será más barato. Una comisión igual en satoshis para una transacción mayor supone una tarifa menor por unidad de tamaño. [1] [2]

BIP78 requiere que el destinatario disponga de un servicio accesible por internet y que ambas partes se comuniquen al mismo tiempo. Eso resulta incómodo si un teléfono pierde la conexión. BIP77, o Payjoin v2, utiliza un servidor como buzón temporal: una cartera deja un mensaje y la otra lo recoge después, antes de que venza el plazo de negociación. Eso es comunicación asíncrona. La propuesta de pago se cifra de extremo a extremo: la leen las carteras participantes, no el operador del buzón. OHTTP, Oblivious HTTP, añade otra protección. Envía las solicitudes por un intermediario separado, de modo que el servidor de buzones normalmente no ve la dirección IP de la cartera. La dirección IP es la dirección de red que utiliza un dispositivo para comunicarse por internet. Ocultar esa relación presupone que el intermediario y el servidor no compartan sus registros. Ninguno recibe las claves privadas que controlan los bitcoins. Aun así, el servidor puede retrasar o descartar mensajes: el cifrado por sí solo no garantiza la entrega. [2] [4] [7]

Payjoin no hace anónimo un pago automáticamente. Los importes, entradas, salidas y momento de confirmación permanecen visibles en la cadena. La otra parte conoce además cómo transcurrió la negociación; un comercio puede tener un pedido con tu nombre. La transacción pública no lleva una etiqueta Payjoin obligatoria, pero reutilizar direcciones o las particularidades de una cartera pueden dar otras pistas. Los receptores automáticos también deben protegerse de intentos de descubrir sus UTXO mediante solicitudes que nunca se completan. [1] [2]

La transacción original firmada puede servir como pago ordinario de respaldo. En el protocolo correcto, ella y la propuesta Payjoin gastan las mismas entradas originales, por lo que como máximo puede confirmarse una de ellas. Eso no justifica crear otro pago independiente tras un error sin comprobar nada. Una firma ya entregada puede permitir al destinatario difundir la transacción original. La cartera debe mostrar claramente si se realizó Payjoin, el pago ordinario de respaldo o todavía ninguno, y contrastarlo con la cadena. [1] [2]

Enviar y recibir Payjoin son capacidades distintas; las carteras y versiones concretas deben funcionar juntas. Procesar una solicitud sin añadir una entrada del destinatario no produce la mejora descrita frente a la heurística de propiedad. Al comprobarlo el 17 de octubre de 2026, BIP78 tiene estado Deployed, mientras que BIP77, de Dan Gould y Yuval Kogman, está en Draft. Payjoin se negocia entre aplicaciones mediante transacciones Bitcoin normales: no espera un Soft Fork ni modifica las reglas de emisión. [1] [2] [3]

Para obtener la imagen más completa, lee esta entrada junto con CoinJoin, Privacidad en Bitcoin, PSBT, Seudonimidad, UTXO, Satoshi. También enlazan con esta entrada Change Address, Privacidad en Bitcoin, Seudonimidad, Chain Surveillance.

DOC · 001BIP78 — A Simple Payjoin ProposalEspecificación DOC · 002BIP77 — Async PayjoinEspecificación DOC · 003Bitcoin Optech — PayjoinDocumentación DOC · 004Payjoin projectFuente primaria DOC · 005Bitcoin Core — PSBTDocumentación DOC · 006Bitcoin Developer Reference — TransactionsDocumentación DOC · 007RFC 9458 — Oblivious HTTPEspecificación DOC · 008Bitcoin Developer Guide — WalletsDocumentación
Revisado: Fuentes primero · No es asesoramiento financiero