[tor-dev] [RFC] Proposal for the encoding of prop224 onion addresses

George Kadianakis desnacked at riseup.net
Mon Jan 23 13:50:27 UTC 2017


George Kadianakis <desnacked at 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
    


More information about the tor-dev mailing list