Skip to main content

PayJoin | Bitcoin Glossary | Mapping Bitcoin

PayJoin

Segurança

Also known as: P2EP, pay-to-endpoint

Protocolo de privacidade onde remetente e destinatário contribuem com entradas em uma transação, quebrando heurísticas de análise de blockchain on-chain.

Visão geral

PayJoin é uma técnica de privacidade que mina um dos pressupostos mais fundamentais usados na análise de blockchain: que todas as entradas em uma transação pertencem à mesma entidade. Em uma transação PayJoin, tanto o remetente quanto o destinatário contribuem com pelo menos uma entrada, tornando impossível determinar o valor real do pagamento apenas a partir da estrutura da transação.

Como o PayJoin funciona

Em um pagamento Bitcoin padrão, apenas o remetente fornece entradas. No PayJoin, o destinatário também adiciona um de seus próprios UTXOs como entrada:

Pagamento Padrão:                  Pagamento PayJoin:
┌─────────────────────┐           ┌─────────────────────┐
│ Entradas (todas de   │           │ Entradas:           │
│          Alice):     │           │  UTXO Alice: 0,5 BTC│
│  UTXO Alice: 0,5 BTC│           │  UTXO Bob:   0,3 BTC│
│                      │           ├─────────────────────┤
├─────────────────────┤           │ Saídas:              │
│ Saídas:              │           │  Bob:   0,5 BTC      │
│  Bob:   0,2 BTC      │           │  Alice: 0,3 BTC      │
│  Alice: 0,3 BTC      │           │         (troco)      │
│         (troco)      │           └─────────────────────┘
└─────────────────────┘
                                  O analista vê:
O analista vê:                    Duas entradas, não está claro
"Alice pagou Bob 0,2 BTC"         quem pagou quem ou quanto

A transação PayJoin acima parece que poderia ser um pagamento em qualquer direção, um CoinJoin ou uma auto-transferência. O valor real do pagamento (0,2 BTC) fica obscurecido.

Fluxo do protocolo

  1. Alice cria uma transação padrão pagando Bob
  2. Alice envia o PSBT para Bob via endpoint HTTP (BIP78) ou relay Payjoin V2
  3. Bob adiciona suas próprias entradas e ajusta as saídas
  4. Bob envia o PSBT modificado de volta para Alice
  5. Alice verifica as alterações, assina e transmite

Vantagens sobre o CoinJoin

  • Sem coordenador necessário — PayJoin acontece diretamente entre remetente e destinatário
  • Sem taxas extras — A transação é o próprio pagamento, não uma etapa adicional de mistura
  • Indistinguível — Transações PayJoin parecem pagamentos comuns, ao contrário do CoinJoin que tem padrões de saídas iguais identificáveis
  • Quebra heurísticas em escala — Mesmo uma pequena porcentagem de adoção do PayJoin contamina os pressupostos da análise de cadeia para todas as transações

Payjoin V2

O PayJoin original BIP78 exigia que o destinatário executasse um servidor publicamente acessível. O Payjoin V2 remove esse requisito usando um relay não confiável, habilitando PayJoin assíncrono onde o destinatário não precisa estar online no momento exato do pagamento. Isso reduz drasticamente a barreira para adoção.

Conceito errôneo comum

O PayJoin não requer saídas de igual valor como um CoinJoin. Funciona com qualquer valor de pagamento, tornando-o prático para o comércio cotidiano. O benefício de privacidade vem da ambiguidade na propriedade das entradas, não da uniformidade das saídas.