Reusable Payment Codes for Bitcoin Privacy

The following is a direct extract from Marty’s Bent Issue #1182: “BDK plans to add support for BIP47.” Subscribe to the newsletter here.


It is very encouraging to see; the team working on the Bitcoin Development Kit (BDK) seems to want to merge to support BIP47, which would allow wallet developers who build their wallets leveraging the BDK to easily implement reusable payment codes. This would allow Bitcoin users to interact with each other more privately by allowing users to receive via a static payment code that does not reveal the actual address a UTXO ends up at.

To date (and to my knowledge), the only popular wallet to activate BIP47 is Samourai Wallet. Recently, there has been renewed interest in more wallets starting to implement this feature. Historically, BIP47 has been controversial because many developers believe that if BIP47 is widely adopted, it will bloat the chain and increase fees due to the amount of data needed to create payment codes via OP_RETURN. As fees have remained low for a long time and bitcoiners seek better privacy tools as authoritarian governments like Canada seem eager to use their financial systems to run political witch hunts, it seems many are more that comfortable with this compromise that comes with BIP47.

The beauty of the BDK team adding support for BIP47 is that it should make it easier for a number of wallets to implement payment codes without having to build it from scratch. It will be interesting to see how many wallets start implementing BIP47 once support is officially merged into the BDK. And whether they do it quickly or not. If nothing else, the market will get a very intriguing glimpse of how this feature affects the chain at scale if it gains hardware adoption. In the best case, it greatly increases the ability of users to make more private transactions using many different wallets and it doesn’t affect the chain state too much due to the fee market acting as a forcing feature (as fees increase, individuals become less incentivized to create transactions with OP_RETURN data included).

We will keep you informed as this progresses.