C

Chainhunters

18 min
Onderzoek
Bitcoin
Payjoin
Blockchain-analyse
Privacy
BIP 78
Payjoin v2: De volgende evolutie in Bitcoin privacy
Payjoin v2 introduceert asynchrone, serverloze Bitcoin-transacties die traditionele blockchain-analyse technieken ondermijnen. Door zender en ontvanger inputs te combineren in één transactie, wordt het onmogelijk om te bepalen wie hoeveel aan wie heeft betaald.

Inleiding

Payjoin v2 vertegenwoordigt een nieuwe doorbraak in Bitcoin privacy-technologie. Waar eerdere privacy-oplossingen vaak complex waren of externe diensten vereisten, maakt Payjoin v2 privacy tot een naadloos onderdeel van gewone Bitcoin-transacties. Het protocol lost een van Bitcoin's grootste privacyproblemen op: de transparante link tussen inputs en outputs die blockchain-analyse mogelijk maakt.

Voor onderzoekers en analisten betekent Payjoin v2 het einde van een van de meest betrouwbare heuristieken in blockchain-forensics: de aanname dat alle inputs in een transactie van dezelfde entiteit komen. Voor gebruikers die hun financiële privacy willen beschermen, biedt het een krachtige tool die werkt zonder complexe setup of vertrouwen in derde partijen.

Hoe werkt het?

Probleemstelling: De input ownership heuristiek

In een traditionele Bitcoin-transactie gebruikt de zender een of meerdere inputs (ontvangen betalingen) om een nieuwe transactie te creëren naar de ontvanger, vaak met wisselgeld terug naar zichzelf. Blockchain-analisten hebben jarenlang vertrouwd op de Common Input Ownership Heuristic: de aanname dat alle inputs in een transactie eigendom zijn van dezelfde entiteit.

Deze heuristiek maakt het mogelijk om:

  • Bitcoin-balansen van gebruikers te schatten
  • Transactiepatronen te volgen
  • Financiële relaties te identificeren
  • Commerciële activiteiten te monitoren

Payjoin doorbreekt deze aanname door zowel de zender als de ontvanger inputs te laten bijdragen aan dezelfde transactie.

Het Payjoin-mechanisme

In een Payjoin-transactie werken zender en ontvanger samen om een gedeelde transactie te creëren:

  1. Zender initieert: Alice wil 0.01 BTC betalen aan Bob
  2. Ontvanger draagt bij: Bob voegt zijn eigen inputs toe aan de transactie
  3. Gedeelde transactie: Het resultaat bevat inputs van beide partijen
  4. Privacy-verbetering: Buitenstaanders kunnen niet bepalen wie betaalt en wie ontvangt

Het eindresultaat ziet er uit als een normale Bitcoin-transactie, maar de traditionele analyse-aannames kloppen niet meer.

Technische details

Payjoin v1 vs v2: De evolutie

BIP 78 (Payjoin v1) introduceerde het basisprincipe, maar had belangrijke beperkingen:

  • Synchrone communicatie: Beide partijen moesten tegelijkertijd online zijn
  • Server-vereiste: De ontvanger moest een Payjoin-server draaien
  • Complexe setup: Technische kennis was vereist voor implementatie

BIP 77 (Payjoin v2) lost deze problemen op:

  • Asynchrone transacties: Partijen hoeven niet tegelijkertijd online te zijn
  • Serverloze communicatie: Geen eigen server-infrastructuur nodig
  • Oblivious HTTP: Privacy-beschermde communicatie via relay-servers

Cryptografisch ontwerp en communicatie

Payjoin v2 gebruikt een geavanceerd communicatieprotocol gebaseerd op Oblivious HTTP (OHTTP):

Deze architectuur zorgt ervoor dat:

  • IP-adressen van partijen verborgen blijven
  • De Payjoin Directory geen metadata kan verzamelen
  • Communicatie end-to-end versleuteld is

Technische implementatie

Het Payjoin v2 protocol werkt als volgt:

Fase 1: Session Initialisatie

let mut session = payjoin::receive::v2::SessionInitializer::new(
    address.assume_checked(),
    payjoin_directory,
    ohttp_keys,
    ohttp_relay,
    std::time::Duration::from_secs(600)
);

De ontvanger registreert zich bij de Payjoin Directory met:

  • Bitcoin-adres: Voor het ontvangen van de betaling
  • OHTTP keys: Voor privacy-beschermde communicatie
  • Session timeout: Maximale wachttijd voor voorstellen

Fase 2: URI Generatie

let uri = session.pj_uri_builder()
    .amount(payjoin::bitcoin::Amount::from_sat(88888))
    .build();

De ontvanger genereert een speciale Bitcoin URI die Payjoin-ondersteuning signaleert:

Fase 3: Proposal Validatie

Wanneer een zender een Payjoin voorstelt, voert de ontvanger uitgebreide validaties uit:

let mut payjoin = proposal
    .check_broadcast_suitability(None, |tx| {
        // Controleer of transactie broadcastbaar is
        Ok(bitcoind.test_mempool_accept(&[serialize_hex(&tx)]))
    })
    .check_inputs_not_owned(|input| {
        // Verificeer dat ontvanger geen inputs van zender bezit
        Ok(bitcoind.get_address_info(&address).is_mine.unwrap())
    })
    .check_no_mixed_input_scripts()
    .check_no_inputs_seen_before(|_| Ok(false))
    .identify_receiver_outputs(|output_script| {
        // Identificeer outputs voor ontvanger
        Ok(bitcoind.get_address_info(&address).is_mine.unwrap())
    });

Fase 4: Input Contribution

De ontvanger selecteert strategisch inputs om bij te dragen:

let selected_outpoint = payjoin.try_preserving_privacy(candidate_inputs).unwrap();
payjoin.contribute_witness_input(txo_to_contribute, outpoint_to_contribute);

De try_preserving_privacy functie gebruikt geavanceerde heuristieken om:

  • Privacy te maximaliseren voor beide partijen
  • Transactiekosten te optimaliseren
  • Verdachte patronen te vermijden

Fase 5: Finalisatie en Ondertekening

let mut payjoin = payjoin.finalize_proposal(
    |psbt| {
        Ok(bitcoind.wallet_process_psbt(&psbt.to_string(), None, None, Some(true)))
    },
    Some(payjoin::bitcoin::FeeRate::MIN)
)?;

Waarom dit revolutionair is voor privacy

Voor gewone gebruikers

Financiële privacy: Merchants kunnen niet langer de volledige financiële geschiedenis van klanten zien door simpelweg hun Bitcoin-adres te analyseren.

Bescherming tegen targeting: Grootschalige Bitcoin-houders kunnen hun balansen verbergen voor criminelen en overheden.

Commerciële confidentialiteit: Bedrijven kunnen hun transactievolumes en handelspartners privé houden.

Voor blockchain-analisten: Het einde van betrouwbare heuristieken

Payjoin v2 ondermijnt fundamentele analysemethoden:

Common Input Ownership: De basisaanname dat alle inputs van dezelfde entiteit komen wordt onbetrouwbaar.

Change Output Detection: Het identificeren van wisselgeld-outputs wordt complex wanneer beide partijen outputs hebben.

Transaction Flow Analysis: Het volgen van Bitcoin-stromen wordt exponentieel moeilijker naarmate meer transacties Payjoin gebruiken.

Cluster Analysis: Het groeperen van adressen per entiteit verliest betrouwbaarheid.

Cascade-effect op surveillance

Het krachtigste aspect van Payjoin is dat het twijfel zaait over alle transacties. Zelfs als slechts 10% van de transacties Payjoin gebruikt, kunnen analisten niet meer met zekerheid bepalen welke transacties wel of niet Payjoin zijn. Dit creëert een privacy-umbrella voor alle Bitcoin-gebruikers.

Detectiemogelijkheden en tegenmaatregelen

Wat onderzoekers nog kunnen detecteren

Wallet fingerprinting: Verschillende Payjoin-implementaties kunnen subtiele verschillen hebben in:

  • Input selectie-algoritmes
  • Fee rate berekeningen
  • Output ordering patronen

Timing-analyse: De asynchrone natuur van v2 introduceert timing-patronen die geanalyseerd kunnen worden:

  • Tijd tussen proposal en finalisatie
  • OHTTP relay response tijden
  • Directory polling frequenties

Network-layer analyse: Ondanks OHTTP blijven sommige metadata detecteerbaar:

  • Tor exit node correlaties
  • Traffic pattern analysis
  • Relay server monitoring

Economic analysis: Ongewone fee patterns of input/output verhoudingen kunnen Payjoin-transacties verraden.

Nieuwe analyse-technieken

Onderzoekers zullen nieuwe methoden moeten ontwikkelen:

Probabilistic clustering: In plaats van deterministische regels, probabilistische modellen die onzekerheid incorporeren.

Multi-transaction analysis: Patronen over meerdere transacties heen om Payjoin-gebruik te identificeren.

Cross-protocol correlation: Payjoin combineren met andere privacy-tools kan nieuwe aanknopingspunten creëren.

Machine learning approaches: AI-modellen trainen om Payjoin-patronen te herkennen in grote datasets.

Implementatie-status en adoptie

Wallet-ondersteuning

Cake Wallet: Eerste mobiele wallet met volledige Payjoin v2 ondersteuning sinds mei 2025.

Sparrow Wallet: Desktop wallet met uitgebreide Payjoin v1 en v2 functies.

BTCPay Server: Merchant-software met server-side Payjoin ondersteuning.

In ontwikkeling: Veel andere wallets werken aan implementaties, maar adoptie is nog beperkt.

Infrastructuur-vereisten

Payjoin Directory: Centrale coördinatie-servers zoals payjo.in die sessies faciliteren.

OHTTP Relays: Privacy-beschermende proxy-servers die metadata beschermen.

Development Libraries: Payjoin Dev Kit en andere implementatie-tools voor wallet-ontwikkelaars.

Technische uitdagingen en beperkingen

UX-complexiteit

Educatie-vereiste: Gebruikers moeten begrijpen waarom Payjoin waardevol is voor adoptie.

Wallet-compatibiliteit: Beide partijen moeten Payjoin-compatible wallets gebruiken.

Network-effecten: Privacy-voordelen nemen toe met adoptie, maar initiële adoptie is traag.

Technische beperkingen

UTXO-vereiste: Ontvangers moeten beschikbare inputs hebben om bij te dragen.

Fee-complexiteit: Eerlijke verdeling van transactiekosten tussen partijen.

Scaling-overwegingen: OHTTP-infrastructuur moet schalen met adoptie.

Implementatie-risico's

Directory centralisatie: Afhankelijkheid van Payjoin Directory servers creëert potential single points of failure.

OHTTP relay trust: Hoewel privacy-beschermend, introduceren relays nieuwe vertrouwensvereisten.

Protocol complexity: Meer complexe implementaties introduceren meer potentiële bugs en beveiligingsrisico's.

Combinatie met andere privacy-technologieën

Silent Payments + Payjoin

De combinatie van Silent Payments en Payjoin in Cake Wallet creëert meerdere privacy-lagen:

  • Silent Payments elimineren adreshergebruik
  • Payjoin ondermijnt input ownership heuristieken
  • Samen vormen ze een krachtige privacy-stack

CoinJoin vs Payjoin

CoinJoin: Combineert inputs van meerdere gebruikers in grote mixing-transacties Payjoin: Verbergt betalingen in normale-uitziende transacties

Payjoin heeft als voordeel dat het:

  • Minder verdacht oogt dan duidelijke mixing-transacties
  • Lagere fees heeft dan grote CoinJoin-rounds
  • Geen coördinatie met onbekende partijen vereist

Gevolgen voor regulatory compliance

AML/KYC-uitdagingen

Transaction monitoring: Traditionele compliance-tools worden minder effectief.

Risk scoring: Payjoin-transacties zijn moeilijker te categoriseren voor risicobeoordelingen.

Source of funds: Het traceren van Bitcoin-oorsprong wordt complexer.

Regulatory response

Enhanced reporting: Regulators kunnen strengere rapportagevereisten introduceren.

Privacy coin treatment: Payjoin-enabled Bitcoin kan vergelijkbaar worden behandeld als privacy coins.

Technical requirements: Exchanges kunnen gedwongen worden om Payjoin-detectie te implementeren.

Toekomst van Payjoin

Protocolvrijheden

Cross-input signature aggregation: Geavanceerde cryptografie om transactiegrootte te verkleinen.

Decentralized directories: Elimineren van centrale coördinatie-punten.

Lightning integration: Payjoin combineren met Lightning Network voor off-chain privacy.

Adoptie-scenario's

Conservative: Langzame adoptie beperkt tot privacy-bewuste gebruikers (~5% van transacties)

Mainstream: Breed wallet-ondersteuning leidt tot significante adoptie (~25% van transacties)

Ubiquitous: Payjoin wordt de standaard voor Bitcoin-transacties (~75% van transacties)

Elk scenario heeft verschillende implicaties voor blockchain-analyse en financiële privacy.

Conclusie

Payjoin v2 vertegenwoordigt een paradigmaverschuiving in Bitcoin privacy. Door de fundamentele aannames van blockchain-analyse te ondermijnen, creëert het een nieuwe realiteit waarin financiële surveillance exponentieel moeilijker wordt. Voor gebruikers biedt het krachtige privacy-bescherming zonder de complexiteit van eerdere oplossingen.

Voor blockchain-onderzoekers betekent Payjoin v2 het einde van een tijdperk waarin deterministische heuristieken betrouwbare resultaten opleverden. De toekomst vereist nieuwe, probabilistische analysemethoden die onzekerheid en ambiguïteit accepteren als inherente eigenschappen van een privacy-beschermend financieel systeem.

De ware kracht van Payjoin ligt niet alleen in de directe privacy-voordelen voor gebruikers, maar in het creëren van systematische twijfel over alle Bitcoin-transacties. Naarmate adoptie groeit, wordt het onderscheid tussen private en niet-private transacties onmogelijk te maken, wat Bitcoin transformeert van een transparant naar een genuanceerd privé waardesysteem.

Voor criminelen die hun activiteiten willen verbergen, biedt Payjoin v2 een krachtige tool. Voor onderzoekers die deze activiteiten willen traceren, markeert het het begin van een nieuwe, complexere fase in blockchain-forensics waar traditionele methoden moeten worden heroverwogen en nieuwe technieken ontwikkeld.