C

Chainhunters

15 min
Onderzoek
Bitcoin
Silent Payments
Blockchain-analyse
Privacy
BIP 352
Silent Payments in Bitcoin: Eén adres, onzichtbare ontvangsten. Zet clustering, input-output correlatie en adreshergebruik buitenspel.
Silent Payments (BIP 352) introduceert een methode voor Bitcoin waarbij gebruikers slechts één publiek sp1q adres hoeven te delen, terwijl elke betaling op de blockchain naar een uniek taproot adres lijkt te gaan. Deze BIP zet blockchain-analyse tools buitenspel.

Inleiding

Silent Payments (BIP 352) is een voorstel voor een nieuw ontvangstsysteem in Bitcoin waarmee een gebruiker slechts één publiek adres hoeft te publiceren, terwijl elke ontvangen betaling op de blockchain lijkt alsof het naar een uniek adres is gestuurd. Dit is een privacy verbetering ten opzichte van traditionele manier bitcoins te ontvangen, waarbij het hergebruik van adressen ernstige privacygevolgen heeft. Check hier de blog over het koppelen van gebruikers aan adressen voor meer informatie.

Voor onderzoekers en analisten vormt deze technologie een belangrijk keerpunt: het ondermijnt heuristieken die jarenlang betrouwbaar zijn gebleken voor het analyseren van de herkomst en bestemming van bitcoins. Voor gebruikers die hun privacy willen beschermen – of verbergen – opent het de deur naar bijna volledige onzichtbaarheid zonder interactie met het netwerk.

Silent Payments werd voor het eerst voorgesteld door Ruben Somsen in maart 2022 als een nieuwe benadering van herbruikbare betalingscodes. Het voorstel elimineert de grootste beperking van BIP 47 (Reusable Payment Codes): de noodzaak voor een notificatietransactie. De uitendelijke BIP is inmiddels geimplementeerd en is hier te vinden.

Hoe werkt het?

Probleemstelling: privacy versus hergebruik

Wanneer een gebruiker in het huidige Bitcoin-ecosysteem een adres hergebruikt (bijvoorbeeld in een webshop), kunnen al zijn inkomende betalingen worden gekoppeld. Deze adreshergebruik leidt tot een cumulatief verlies van privacy: zelfs als een betaling anoniem wordt gedaan, verraadt het hergebruik het hele transactieverleden van dat adres.

Silent Payments elimineert deze koppeling zonder de noodzaak voor interactieve coördinatie zoals bij BIP47 (Reusable Payment Codes), waarbij een notificatietransactie vereist is. Dit betekent dat de betaler niet met de ontvanger hoeft te communiceren of verbinding te maken met diens wallet. Alles vindt eenzijdig plaats.

Elke betaling naar hetzelfde Silent Payment-adres zal voor buitenstaanders lijken op een volledig nieuwe, ongerelateerde Taproot-transactie. Dit is de kern van de privacy-verbetering die Silent Payments biedt.

Technische details

Cryptografisch ontwerp

Wanneer Alice fondsen naar Bob wil sturen, combineert zij drie sleutels om een uniek eenmalig adres te creëren dat alleen Bob kan controleren:

  1. De public key van de output(s) die Alice naar Bob wil sturen
  2. Bob's public key in zijn herbruikbare betalingscode
  3. Een shared secret (gegenereerd met de Silent Payment public key en Alice's UTXO private key via ECDH)

Deze drie sleutels combineren tot een uniek eenmalig Taproot-adres dat Bob kan valideren en uitgeven. Het resulterende unieke Taproot-adres zorgt ervoor dat de betaling er exact uitziet als elke andere Taproot-betaling on-chain, waardoor buitenstaanders niet eens kunnen zien dat Silent Payments zijn gebruikt.

Labels: Automatische betaling-identificatie

Een van de krachtigste maar onderbelichte functies van Silent Payments zijn labels. Deze stellen gebruikers in staat om hun statische adres aan te passen voordat ze het delen, waardoor inkomende betalingen automatisch kunnen worden geïdentificeerd.

Hoe labels werken

Wanneer Alice haar Silent Payment-adres deelt, kan zij verschillende gelabelde versies creëren:

  • Een versie voor haar website met label "donations"
  • Een versie voor een specifieke klant met label "client-xyz"
  • Een versie voor Nostr met label "nostr-tips"

Wanneer zij betalingen ontvangt, detecteert haar wallet automatisch welk gelabeld adres werd gebruikt en past het juiste label toe. Alleen de ontvanger kan deze labels zien - voor buitenstaanders blijven alle transacties gewone Taproot-betalingen.

Praktische toepassingen voor bedrijven

Exchanges: Klanten kunnen één gelabeld statisch adres gebruiken voor alle deposits, waardoor het exchange automatisch betalingen kan koppelen aan accounts zonder adreshergebruik.

Merchants: BTCPay Server en andere betaalsystemen kunnen labels gebruiken om inkomende betalingen te koppelen aan specifieke facturen of klanten.

Persoonlijk gebruik: Gebruikers kunnen verschillende gelabelde adressen delen voor werk, persoonlijke projecten, of verschillende online platforms.

Adresformaten en voorbeelden

Silent Payments introduceren een nieuw adresformaat voor off-chain gebruik, terwijl on-chain alle transacties eruitzien als standaard Taproot-adressen.

Off-chain Silent Payment adres:

sp1qqweplq6ylpfrzuq6hfznzmv28djsraupudz0s0dclyt8erh70pgwxqkz2ydatksrdzf770umsntsmcjp4kcz7jqu03jeszh0gdmpjzmrf5u4zh0c

On-chain verschijning (standaard Taproot-adres):

bc1pftjlgdq0ufhq7qwd0atxhrjhlnpmc8v4x50tgytygzk5rz339u6qngunq4

Waarom dit interessant is voor criminelen en dus ook voor onderzoekers

Voor criminelen die anoniem betalingen willen ontvangen, denk aan dark net-markten, ransomware-operators of witwasstructuren, is Silent Payments bijzonder aantrekkelijk. Ze hoeven slechts één adres te publiceren (bijvoorbeeld op een dark web pagina), en kunnen vervolgens betalingen ontvangen zonder dat er voor buitenstaanders enige patroon of link ontstaat tussen transacties.

Zonder heuristieken zoals adreshergebruik, input clustering of associatie met bekende adressen, wordt transactionele linkanalyse drastisch moeilijker. Zelfs als de zender publiek bekend is, bijvoorbeeld via een KYC-uitwisseling, is het niet mogelijk vast te stellen aan wie de betaling is gedaan, tenzij men toegang heeft tot de private scan key van de ontvanger.

Voor onderzoekers betekent dit dat standaardmethoden voor forensische blockchainanalyse aan kracht verliezen. Het zal vereist zijn om alternatieve analysetechnieken te ontwikkelen, bijvoorbeeld patroonherkenning op basis van inputaggregatie, timing of side-channels.

Contacten: Van adressen naar personen

Silent Payments maakt het mogelijk om door van een adres-gecentreerd naar een persoon-gecentreerd model te gaan. Omdat statische adressen veilig herbruikt kunnen worden, kunnen wallets robuuste contactenfuncties implementeren.

In plaats van elke keer een nieuw adres te vragen, kunnen gebruikers contacten opslaan met namen en gezichten. Dit maakt Bitcoin-betalingen veel intuïtiever en vergelijkbaar met traditionele betalingsapps, maar zonder privacy-compromissen.

Wallets kunnen zelfs automatisch voorstellen om een contact aan te maken wanneer een Silent Payment-adres wordt gedetecteerd in het klembord.

Implementatie-uitdagingen

De praktische implementatie van Silent Payments brengt verschillende technische uitdagingen met zich mee:

Wallet-implementatie uitdagingen:

De implementatie van Silent Payments vereist een fundamenteel andere benadering dan traditionele Bitcoin wallets:

Light wallet architectuur: In plaats van het vooraf genereren van grote hoeveelheden adressen (zoals bij standaard BIP 32 light clients), moeten Silent Payment wallets 33 bytes data per potentiële output downloaden en vervolgens een ECDH-berekening uitvoeren om te controleren of deze eigendom is van de gebruiker.

Server-kant wijzigingen: Wallets moeten verbinden met een nieuw type server die de benodigde "tweak" data levert. Het voordeel hiervan is uitstekende privacy: de wallet backend weet niet welke outputs tot welke light client behoren.

Bandwidth en compute: Hoewel dit aanvankelijk lijkt op een grote impact voor gebruikerservaring, maken de eerder genoemde optimalisaties dit praktisch haalbaar.

Op dit moment hebben de volgende wallets deze functionaliteit geïmplementeerd: Wallets

Implicaties voor de toekomst

Silent Payments gaat mogelijk een verschuiving zijn in hoe we denken over Bitcoin-privacy. Voor de gemiddelde gebruiker bieden ze een mooie oplossing voor een van Bitcoin's grootste privacyproblemen: adreshergebruik, clustering en input-output correlatie. Voor exchanges en regulated entities introduceren ze nieuwe compliance-uitdagingen, omdat traditionele transaction monitoring minder effectief wordt.

Voor de bredere cryptocurrency-gemeenschap is Silent Payments een volwassenwording van privacy-technologieën. In tegenstelling tot eerdere oplossingen die vaak complex en moeilijk te implementeren waren, biedt BIP 352 een relatief eenvoudige maar krachtige privacy-verbetering.

Scanning-optimalisaties in praktijk

Geïmplementeerde optimalisaties:

  1. Taproot-only scanning: Alleen Taproot outputs worden gescand (~15% van alle outputs)
  2. Dust filtering: Outputs ≤1000 satoshis worden uitgesloten (~85% van Taproot outputs)
  3. Spent output skipping: Reeds uitgegeven outputs worden overgeslagen
  4. Custom indexing: Gespecialiseerde backend servers (zoals Cake Wallet's electrs fork)

Experimentele optimalisaties:

  • Transaction cut-through: Geavanceerde pruning technieken
  • Bitcoin Core indexen: Native ondersteuning in Bitcoin Core nodes
  • Light client servers: Gespecialiseerde servers die alleen tweak data serveren

Detectiemogelijkheden voor onderzoekers

Wat werkt niet meer

  • Adreshergebruik heuristieken: Volledig ondermijnd
  • Directe adres-clustering: Onmogelijk zonder private keys
  • KYC-uitwisseling tracking: Exchanges kunnen niet zien waar klanten naartoe betalen

Wat nog wel werkt

  • Input clustering: Patronen in hoe wallets inputs selecteren kunnen nog steeds worden gedetecteerd
  • Timing-analyse: Betalingen die kort na elkaar worden gedaan kunnen gelinkt worden via input-aggregatie patronen

Nieuwe detectietechnieken

Onderzoekers zullen nieuwe methoden moeten ontwikkelen:

  • Wallet fingerprinting: Herkenning van specifieke wallet-implementaties via input-selectie
  • Behavioral analysis: Patroonherkenning in transactie-timing en bedragen
  • Cross-chain correlation: Koppeling met andere blockchains waar privacy minder sterk is