One of the most useful things about a blockchain network is that anyone can create and own an “account” by generating a cryptographic keypair. The use of cryptography for authentication means that everyone can access network resources. They are always globally available to anyone with an Internet connection.
That’s a big win for creating equal opportunity, but keypairs come with usability issues. The most challenging problem is the associated personal responsibility. Users must find a way to safeguard private keys or corresponding seed words. If their security fails, they could lose access to their assets or have them stolen.
Another prominent issue involves the public keys themselves. They are usually long and confusing strings of characters, making blockchain interaction difficult. They are more error-prone than bank account numbers or email addresses, so accidental transfers are more likely to occur.
Neo developers are working on a native domain service to improve on this design. Users will be able to map their addresses to easy-to-use domain names. This provides native compatibility at the protocol level, improving on third party solutions.Base58 encoding
Users of Neo and other blockchains are unlikely to have interacted with an actual public key. Most users are instead familiar with public addresses, encoded representations of these keys. These addresses are designed to be a little easier to work with.
The Base58 format enabled this first step towards human readable addresses. Invented by Satoshi Nakamoto, it was first implemented in Bitcoin. Like Base64, it converts binary data to ASCII characters, with a key difference intended to improve the readability of the output.
The difference is the exclusion of six problematic characters. Four are characters that may appear similar in some fonts, “0” vs “O” and “i” vs “l”. The other two are non-alphanumeric characters, usually ...