[bitcoin-dev] Human readable checksum (verification code) to avoid errors on BTC public addresses
ts at cronosurf.com
Mon Aug 16 04:23:25 UTC 2021
Entering a BTC address for a transaction can pose a risk of error (human or technical). While
there is a checksum integrated in BTC addresses already, this is used only at a technical
level and does not avoid entering a valid but otherwise wrong address. Moreover, it does not
improve the overall user experience.
In case this hasn't been discussed before, I propose to implement a 3 or 4 digit code (lets
call it 4DC for this text), generated as checksum from the address. This 4DC should be shown
in all wallets next to the receiving address. When entering a new address to send BTC, the
sending wallet should also show the 4DC next to the entered address. This way, the sending
person can easily verify that the resulting 4DC matches the one from the receiving address.
This would mean that a receiver would not only send his public address to the sender, but also
the 4DC. A minor disadvantage since a) it is not mandatory and b) it is very easy to do.
However, it would greatly reduce the probability of performing transactions to a wrong address.
Technically, this is very easy to implement. The only effort needed is agreeing on a checksum
standard to generate the code. Once the standard is established, all wallet and exchange
developers can start implementing this.
Agreeing on a good name for this code would be helpful for a fast adoption (human readable
checksum, verification code or 4DC are just examples).
Obviously, this solution could be used for all other coins/networks. But ideally, each of them
should have its own checksum algorithm, in order to further avoid sending funds to the wrong
network. Especially when the address standard is the same like it is the case with BTC and BCH.
Hopefully, Bitcoin can implement this first and serve as example-to-follow to other
More information about the bitcoin-dev