# All Bitcoin Balance

## Sorted, updated weekly.

Every Bitcoin addresses with balances, ~ 24 millions of them, are listed here. They are yours to view, search, analyze, as well as ... to collide!

## What is a Bitcoin private key?

Bitcoin use private public key cryptography, you first acquire a private key, you then go through some computational steps to get your public key.
Bitcoin address is the public key, to "unlock" a Bitcoin address, you need its corresponding private key.
In fact, owning the private key is THE proof that you own that address. A private key is a 256 bit long zeros and ones.

You can produce private keys by writing down 256 zeros and ones by hand, or by running a computer program, or by loading a web page (this is what we do here).
Once you produce a private key (256 bits of zeros and ones), you can follow Bitcoin's algorithm to produce the public key, then convert the public key to the so-called
"base58" format. You will get 2 formats from a single private key - compressed and uncompressed base58 address.
Refer to this page for a detailed explanation.

If you are extremely lucky, your generated private key may correspond to an address that has some BTC balance in it already. This process can be thought as "collision" -
your private key just happen to "collide" with another BTC address's private key.

By the process of RIPEMD160 to compute public key from private key, the mapping of domain to co-domain is signifantly downsized,
this leads each single Bitcoin address to have roughly 2^96 private keys corresponding to it.
You just need to find one!

## What is my chance?

Slim, but not zero.

If you could do 2^80 computations you'd have a whopping 50% probability that 2 keys in the 2^80 generated keys collide (be the same).

2^80 is the magic number, had we have this massive computation power, Bitcoin would be in the state of collapse.

So how big is 2^80 ?

It is a huge number in the short run.

In the long run, maybe not. How long is long run? We are talking 10-15 years.

To put things in perspective, at the time of writing, the world's fastest super computer
can do 200,000 teraflops per second at peak performance, that's nearly 2^58 computations per second, but let's take 1/2 of its peak - 2^57,
then that monster machine will need 2^23 seconds - 92 days to gain 50% chance to collide a private key.

Thinking 50% chance as tossing a fair coin, you toss it once but don't get the desired result (head), toss it a few more times, you'll have no problem getting a head.

Another perspective, at the time of writing, Bitcoin's network hashrate is about 50,000,000 TH/s (declined from its peak 60,000,000 TH/s), that is close to 2^66 computations per second, if that computing power is used to collide a private key, it only takes 2^15 seconds - 32,000 seconds, - less than half a day. But remember, Bitcoin's mining algorithm is SHA256(SHA256(block info)) - SHA256 twice, for generating a private key, you only need SHA256 once, that means you can get much better performance with the same amount of hardware investment due to simpler circuit design.

## But computers don't get faster!

Indeed, classical computers approach the physical limit to get faster clockrate, but they are spawning more cores.
These days Moore's Law seem to happen on multiplying cores, it won't surprise people if,
in 10 years, you run a desktop computer of 1000 CPU cores, your GPU (Graphic Card) is already creeping to give more and more computational threads.
With ever increasing CPU cores and GPU ALU count, the overall classical computing power is still growing exponentially.

And don't forget the game changer - the quantum computers that are already on the horizon, that seem to progress fast in terms of number of qubits they can control state. Some are provided on the cloud (IBM), you can test run some quantum algorithm by manipulating a small number of quantum circuit gate on IBM website
All in all, the difficulty of colliding is constant, but the computing power is growing at exponential rate, time seem to favor colliding private keys.

## Contact Us

For questions, comments, corrections, suggestions, send email to feedback at bitkeys dot work.