A Payment Code itself looks very similar to an average cryptocurrency address. That said, it is just a rather long sequence of hexadecimal digits as well:
The main difference here is that in contrast to a classic address that needs to be exchanged prior to every transaction, a user needs to get a payment code of a counter-party only once. After that, the wallet software automatically generates a new address during each payment. No address reused, no need to scan or copy or paste anything — just choose a recipient, enter an amount, and you are ready to pay. More to that, in contrast to classic addresses, payment codes can be freely published everywhere online or offline: no prying eyes would be able to guess what the actual addresses were used to pay to this particular payment code.Justus Ranvier, author of BIP47 Reusable Payment Codes. Donations accepted to a paycode published on Twitter (https://twitter.com/BlockInTheChain) PM8TJfFccT8JNYN6fWypnkHuWUeH1kyoZzri9qi8gtPajiJmP8TKJvfTzXVry9WWFU6bVuXyhjKJWurFdsZaHN294inAJ1JaSFzP9eEtfS1MQd1BDFda
These two properties of payment codes are essential considering the fully transparent nature of Bitcoin’s blockchain.
The first property eliminates the problem of address reuse. Two people or organizations that have frequent economic activities can establish a long-lasting connection and exchange coins more conveniently without sacrificing privacy. Many wallets provide a feature of ‘labeling’ certain addresses and reusing them as needed; some exchanges give a single address to deposit coins; mining pools make payouts to the same address every time… with payment codes, these practices are a thing of the past.
The second one increases the privacy of users of transparent blockchains. Let’s look at this address: 1HB5XMLmzFVj8ALj6mfBsbifRoD4miY36v. We can learn that during the first three weeks of January 2018 this address received more than 180 mBTC. This Litecoin address: LQ3B36Yv2rBTxdgAdYpU...