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!