nanoid is pretty cool because it has very high information density

if i generate a 10 character random hex string i get one of 1099511627776 ~= 2**40 strings

if i generate a 10 character random string with each character being one of 64 characters i get 1152921504606846976 ~= 2**60

we can target 160 bits to use Ethereum as the canary that must get hacked

2^160 = 64^x solve for x

e.g. if someone is going to break 160 bit security it probably won't be to break my 1 DAU service

so with nanoid i only need 26 characters. neat!