https://bitcointalk.org/?topic=205878 This encoding is designed so that it could replace Base58Check in new data, with the following goals in mind: - Impossible(?) to manipulate without completely changing it - Clearly identifiable prefix, regardless of data size - Cheaper to process (simpler and faster code; it's a power-of-two radix) - Fixed length string for fixed length data - More unambiguous (removal of chars 'isuvzSVZ') - Compatible with using seven-segment displays - Altcoin friendly (16 bit namespace, which can be read without decoding) Since there are fewer digits and more identifying/signature characters, addresses are longer. This should be less of a problem since ordinary users will hopefully be using addresses less common as the payment protocol becomes more popular. Example Python code (including tests) is attached. I can write up a formal BIP if this seems useful. For example: 160 bits of data, such as current addresses: 2nc111dhAPE2aUdYAOF88JhLn5jEjbULy4eFe9tyFYFE8 An ordinary P2SH destination, incorporating Greg's "require the hash mid-image to be relayed" concept (256 bits of data): 2bc511A95e74P13dPb6b5t7yrh12EhC363ayH98n1cFbr3rAHdA49nCcC1G3P71j The same key in Namecoin: 2nc5119ttL35HPhc3Hh6aHe2tOhF6rdFtAOE1ahFLt9Ecabhcn5FLea5Le71P56C The example "puzzle" script from the wiki (arbitrary scripting): 2bc311d126acCyAnHAjabeUtOHcr7F811j4UYE6ECtOcbcGGn4O9chAt7O7y2LU9ty9cnG4 An alternative for BIP32 extended public keys (560 bits): 2bc911AcchHheAGFnn9LC6FdF7bOc99APJtcEc46U655JheH6LCr3Y333eFEOtPJ9rj22rEcchHheAGFnn9LC6FdF7bOc99APJtcEc46U655JheH6LCr3YJCtPYea An alternative for BIP32 extended private keys (552 bits): 2bcb11O77GHdP53FH7Jh44OdEh3rLd4eFr2h7c8rGeErELG18yCy9O7L9LednyHJa5hyeAP77GHdP53FH7Jh44OdEh3rLd4eFr2h7c8rGeErELG18yCyGG5drPF1