How Random Bitcoin Addresses Are… Exactly?

cryptopoiesis
Coinmonks
2 min readSep 22, 2018

--

This is a brief empirical analysis of the degree of randomness of the public keys/addresses, currently in use on the blockchain, for the purpose of ensuring that what is meant to be random theoretically, it is so in practice too.

BIP39, BIP32 and BIP44 have made significant progresses in standardising the private and public key generation, whilst at the same time not compromising their security by bringing a significant amount of entropy into the process.

However regardless of these developments, Bitcoin’s security is solely reliant on the robust cryptography derived from secp256k1 parameters within the ECDSA. This is also true for the majority of blockchains and pseudo- blockchains technologies currently in use. In addition to this, in what concerns the private to public key cryptography, the further obfuscation and compression of this encryption by sha256 in tandem with ripe160 plays also a factor. A bit by bit empirical analysis of the product of these encryptions, of a significant “cohort” of addresses reveals that indeed randomness appears random:

Bitcoin addresses… bit by bit frequency

Discussion

The only part that can be said to stand out is within the first 9 bits. It is sensible to assume that this feature is somewhat a reflection of the least random part of its input. The first byte/8 bits of it being either 00000010 or 00000011 depending on the evenness of the y derived output of secp256k1, or 00000400 if the entire secp256k1 output is used for further encryption.

What is surprising, from a layman’s perspective, is that this slight peculiarity of the product / digest of sha256 & ripe160 appears right at the beginning of the address, when the purpose of these functions is specifically to further randomise, obfuscate and condense the core secp256k1 derived encryption.

It would not be surprising to find out that for a cryptographer, well versed in these algorithms, and their implementation in Bitcoin, this slight peculiarity is “old news” and has already been shown to be of trivial significance.

Conclusion

Randomness appears indeed to be truly random, with very minor exceptions where it appears to be randomish.

Get Best Software Deals Directly In Your Inbox

--

--

cryptopoiesis
Coinmonks

Biomed student, unabashed creature of the lab & Dabbler in Chief: ceramics, painting, creative writing, video prod, graphic design, trading, Bitcoin maximalist