#Address Re-use in different cryptocurrencies

Bitcoin originated a method of conducting transactions called Unspent Transaction Outputs or UTXO. This means whenever you want to spend funds from your Bitcoin wallet app, your app will send the remainder balance to a new public address generated for you by the wallet app. This makes UTXO-type cryptocurrencies require you to generate and physically give out a new public address every time you want to accept funds from someone.

In short, this is how it works: Your account has X BTC (100 BTC for this example). You want to send Y BTC (1 BTC for this example) to your friend who wants to try BTC for the first time. You open your wallet app and enter your friend’s public address, enter 1 BTC as the amount and click send. Automatically, your wallet sends 1 BTC to your friend and calculates 100 - 1 = 99 BTC, it generates a new public address for you and sends 99 (minus the transaction fees involved) to that that new generated address. Finally, your friend receives 1 BTC, and you are left with around a little below 99 BTC in the new generated account after you pay transaction fees.

At first glance, it looks overkill, why go through all that trouble instead of keeping the same public address. However, Bitcoin developers decided this procedure helps the network maintain some semblance of privacy by using one-time accounts for everything and design the wallet apps to work around this to keep casual everyday payments from revealing all the funds you have available and give slight obfuscation to the source of those funds. This behavior is designed into wallets but technically speaking, you could force your way around that manually as there is no restriction in the Bitcoin nor UTXO protocol to restrict the number of transactions an account can send. *

Other cryptocurrencies such as Ethereum and Nano have reusable addresses as a core feature. With their wallets, you are free to create as many public addresses as you want, but by default, transactions will reuse the same account. This makes sharing public addresses as easy as sharing a phone number and removes the need to ask a recipient for their current address on every payment.

*IOTA uses a Quantum-resistant type of encryption for its transactions that reveals part of the private key in each send transaction. This forces users to change public addresses on each send, or risk having your funds compromised. Similar security risks were noted in this forum