While wandering on the internet I found this system, What3Words, that converts any lat/long coordinate into 3 memorable words.
For example, the statue of the liberty is “planet.inches.most”. It’s fun to discover what’s the name of your own home address.
So, I was thinking: what if we apply the same principles to immutable names? For example, instead of memorizing that funny meme as “h7234673uksdjl…”, you can easily memorize it as “plucky.impound.posts”.
How will a 512-bits immutable name fit on a word based coding?
Let’s say we have a 256-word dictionary (8 bits) and the final code has 4 words. Then we have 32 bits. If we get a CRC32 (or whatever 32 bits hash) of the immutable name, we can convert it to this system.
How to convert the 32-bits name back to the 512-bits name
When saving named objects on the network, we generate a mutable that will be named as the 32-bit hash and will contain the 512-bit immutable name. If you want to access “plucky.impound.posts”, you just need to open this mutable, check if the 512-bit name matches the 32-bit hash and read the immutable. If it doesn’t match (attack), we jump to the next version which is a 512-bit hash of the 32-bit hash.
What about collisions?
Collisions happen when 2 or more objects have the same 32-bit hash. If is already a valid mutable using the same name, we use its next version.
I think this memorable immutable names can be particularly useful with the “safe-obj” viewer proposed here: SAFE Browser proposal: link to immutable objects.
Are you a whistleblower that want to share that file? Just spread the “kicks.pasta.steer” word. It’s easier than a long 512-bit string. You can even tattoo it as in a spy movie
With it, you can memorize memes, viral videos, or even objects like PDFs. It’s a bookmark system that uses your memory. A memorable name can help to manage public resources on your page, it can help to bookmark files (using your own memory), and much more.
PS: What3Words is a proprietary system, that charges royalties for its use. Mongolia’s government is replacing their zip codes with this system, which is being very controversial. But please, this is not the focus here. Let’s not discuss this on this topic.
EDIT: immutable names are 512 bits, not 256.