Should Bitcoin addresses be truly disposable?
When you send Bitcoin, you need a recipient Bitcoin address.
When you receive Bitcoin, you give your recipient address to the transaction partner. When you send Bitcoin, you confirm the recipient’s address and send the bitcoins to that address.
First of all, what is a Bitcoin address?
We will roughly describe how the Bitcoin address is generated later in this blog ,but here is a brief explanation of a Bitcoin address.[*1]
A Bitcoin address is similar to a physical address or an email. It is the only information you need to provide for someone to pay you with Bitcoin. An important difference, however, is that each address should only be used for a single transaction.
It says that each address should only be used for a single transaction.
It is technically possible to either continue using the same address or to use a new address for each transaction — however, why not use the same address continuously? Should addresses be disposable?
Advantages of using the same address
- If you have sent Bitcoin to an address in the past, you can be sure that it is the recipient address and reduce the risk of mistransfers.
- It simplifies paperwork by eliminating the need to exchange address information with the same transaction partner every time you send Bitcoin.
Disadvantages of using the same address
- All the deposits and withdrawals of the address will be fully visible, and as a result there are various risks.
- Deposits and withdrawals of a particular address can be checked by anyone using the Blockchain Explorer.
Below are examples of the Blockchain Explorer.
Blockstream.info
Blockchain.com
Bitcoin.com
What are the risks of having all deposits and withdrawals in full view?
- It is possible to read trends in transactions, such as which addresses you trade with frequently and how much you trade with them, so there is no privacy and security.
- Anyone can see not only the deposits, withdrawals, and balances of your own address, but also the deposits and withdrawals of your counterparties to you, threatening the privacy and security of others.
- If you have a large balance, your assets may become targets of illicit activities
- When depositing and withdrawing funds to and from exchanges, there is a risk that the movement of transactions will be read and used for front running.[*2]
So, supposing that you do not re-use your Bitcoin address, what will be needed?
Things you need to not re-use your Bitcoin address
A Bitcoin address is derived from a Public key using a one-way function. (It is impossible to calculate reversely) [*3]
A wallet contains the Private key needed to generate a bitcoin address.
In order to avoid re-using an address, you need a wallet that allows you to create a new address for each transaction.
There are many different types of wallets you can choose from depending on your use and purpose.
Types of wallets
I will provide details of each wallet in another article.
In addition to the wallet types listed in the table above, there are three other categories based on the address generation method (key generation algorithm)[*4] [*5].
- Non-deterministic Wallets: These wallets randomly generate Private keys, every time an address is created. The generated Private keys are not related to each other. It is complicated to manage.
- Deterministic Wallets: These wallets generate Private keys from a single seed using a hash function, every time an address is created. Each generated private key is related to each other. It is easy to manage.
- HD Wallets: These are Hierarchical Deterministic wallets supporting BIP-32. Private key has a tree structure, where the parent key generates the child keys, and the child keys generate the grandchild keys.
In order to create a new address for each transaction, you will need a wallet using one of the three wallet systems above.
Next, Let’s consider the disadvantages of using disposable addresses.
Disadvantages of disposable Addresses
- When maintaining customer’s assets (such as in exchanges), the number of keys to manage becomes too many thus making it complicated to manage.
- It is necessary to build a system according to the key generation specification and create addresses, which makes the system complex.
- It is necessary to check each time whether the generated or received address is correct/valid.
While there are advantages and disadvantages to using different addresses and disposable addresses as mentioned above, many exchanges do not vow that the receiving address used to send Bitcoin to your account on the exchange is disposable.
In the end, while personal privacy must be protected, there is also an aspect of proving itself by making it publically available , and we should use different types of addresses, whether re-used or disposable, on a case-by-case basis where they fit best.
References
1. https://bitcoin.org/en/vocabulary#address
2. https://en.bitcoin.it/wiki/Address_reuse, Worked Example 2
3. Mastering Bitcoin unlocking digital cryptocurrencies (Author:Andreas M. Antonopoulos, translated by Takaya Imai/Junichiro Hatogai, NTT Publishing)
4. https://www.1daydude.com/deterministic-and-non-deterministic-wallets/
5. https://tomokazu-kozuma.com/wallet-mechanism-of-crypto-currency/
Crypto Garage Inc. has developed a P2P Protocol Based Crypto Asset Derivative Settled in Bitcoin. If you are interested, please check out our Crypto Finance Development Kit (CFD).