Blockchain's, Randomness and Computers
https://www.quantamagazine.org/how-randomness-can-make-math-easier-20190709/

Blockchain's, Randomness and Computers

There are two numerical sciences, not one. You have mathematics AND statistics. This is because humans have identified two different processes at work in the universe namely: Causal processes and random processes. Maths is great at modeling causal processes and Stats is great at modeling random processes.

At first year university it always blew my mind that if you put 2 grams of radioactive Carbon 14 on a table and went away for 5730 years exactly, when you got back precisely 1 gram would still be radioactive C14 but the other would not be. Here's the kicker, if you had to bet on a single atom of C14 on when it would decay into non radioactive carbon...... you'd almost certainly loose because there is no (and never will be) any math that could calculate when.

What I am saying is, somethings in this world are truly random. No math can help you study or predict their outcome as an individual thing. But. BUT grab a whole bunch of unpredictable things and make a network out of them and BOOM, the network behavior (or group behavior) totally regular, precisely knowable, like clockwork, all thanks to Stats.

C'mon guys, that weird! It can't just be me who does a double take when thinking about it!? Obviously this is the mechanism that keeps the blockchain network predictable. Each miner is a source of randomness within the network and can win or loose a puzzle to hopefully earn some BTC and thanks to this large group of randomness, the overall network is highly predictable and secure.

This seems at high level to all be reasonable IF miners have access to a truly random event. Here's the first real technical challenge. Miner's mine on computers. Computers have to be perfectly deterministic machines in order to compute. Computers are MATH engines, not STATS engines. Intel put a lot of money and time into ensuring that what you ask you computer what is 3 + 3 it quickly and rapidly and always returns 6, never anything else. It's the most perfect example of causality in the universe. How then can we produce a random event with the most non random machine ever built? Put another way, if computers can't produce random numbers, mining would be hackable and BTCs would devalue over night.

So the boys and girls at Linux and Microsoft over many years had to do some pretty clever and amazing thing so that machines could produce random numbers. For Linux beginners this link https://en.wikipedia.org/wiki//dev/random will give you an entry point to deep dive the concept but at very high level some of the world's brightest people settled for: No machine can ever be TRULY random but, by mixing timestamps from every time a user hits a key on the keyboard or wiggles their mouse and measuring some thermal spiking and electrical noise during the boot sequence and finally passing those values through special bit fuzzing operations like XOR, the output is so close to random that nobody would be able to tell the difference between a really random number and a number you can get from the entropy pool inside your machine.

But I want to go one step deeper into the relationship between decisions, randomness and computers. Because this is where the discussion gets fascinating and to be honest a bit SCI-FI creepy...... in next week's article.


To view or add a comment, sign in

More articles by Andrew Kessler

Explore content categories