George Kadianakis desnacked@riseup.net writes:
Hello list,
<snip>
[D3] Do we like base32???
In this proposal I suggest we keep the base32 encoding since we've been using it for a while; but this is the perfect time to switch if we feel the need to. For example, Bitcoin is using base58 which is much more compact than base32, and also has much better UX properties than base64: https://en.bitcoin.it/wiki/Base58Check_encoding#Background If we wanted to get a more compact encoding, we could adopt base58 or make our own adaptation of it. In this proposal I'm using base32 for everything, but I could be persuaded that now is the time to use a better encoding.
Oops, pressed "Send" a bit too quickly as always...
Just to give you a better idea here, I did some calculations about the compactness of base58.
It seems that if we use Bitcoin's base58 we will be able to encode a 37-byte address (32 byte pubkey, one version byte and 4 bytes of checksum) into 51 base58 characters, instead of 60 base32 characters.
Comparison:
(base32): tc2dty3zowj6oyhbyb5n3a2h3luztlx22hy2cwdvn37omsv7quy7rxiysn3a.onion tbdczrndtadzdhb6iyemnxf7f4i6x7yojnunarlrvt2virtmrecmwgx5golq.onion
(base58): tkb8klf9zgwqnogidda76mzpl6tszzy36hwxmsssznydyxyb9kf.onion touecgu8rmjxexxipud5bdku4mkfqezyd4dz1jvhtvqvbtlvytj.onion