The bottlenecks behind blockchain security
“Never interrupt your enemy when he is making a mistake.”
— Sun Tzu: The Art of War
TL;DR — You lost me past hello. Yes, the line is a shameless, yet slightly adjusted, take from the movie Jerry Mcguire, but you lost me past hello sums up the experience of anyone trying to understand the average blog post on blockchains and cryptocurrencies without a computer background.
There’s a lot of articles out there on the subject of blockchains. The writers, obviously passionate about the subject, are mostly part of the innovators and early adopter group of investors, but even those who are trying to be helpful, just don’t understand the barrier of using abstracted language.
It’s called the curse of knowledge, and it makes understanding new material especially difficult.
In Sugar Rush, we talked about the drivers of motivation, and how the education system fails to explain the importance of overhead costs when you make one choice over another. We discussed the taxonomy of cryptocurrencies, and why, because there are no agreed classifications, comparing one blockchain over another becomes even more complicated.
The world’s most successful and consistent investors, like Warren Buffett, attempt to understand potential investment not so much from a nut and bolt small detail technical viewpoint, but instead from a value perspective.
They spend their time searching for value. And to search for value, they look for toll bridges. A unique advantage one technology has over another.
Uncovering toll bridges also exposes something else. Bottlenecks in the system and outside influences from societal trends.
And it’s possible to use this method without an in-depth understanding of computer science.
It’s all about asking the right questions.
How is a treaty signed in 17th century Germany and random numbers connected? And how can this help you find the blockchains and cryptocurrencies most likely to succeed in the future?
Let’s take a trip back in time.
In 1648, a series of peace treaties ended the Thirty Years War in Europe. The treaties of Westphalia are important because they mark the beginning of the modern international system of sovereignty.
So what have the Westphalia treaties got to do with blockchains?
Westphalian sovereignty (the system that we use today) is the principle that each nation has exclusive sovereignty over its territory. (Sovereignty is defined as a legitimate use of force within a territory)
It works like this.
Two kingdoms, Laurasia and Gondwana, each have satellite provinces and are separated by a sea. One province of Gondwana has overfished its shores and has ventured into waters owned by one of Laurasia’s provinces to fish.
Before sovereignty: The Laurasian province isn’t happy about this and attacks the Gondwana province. The Gondwana province then goes to its King, who controls all of Gondwana’s satellite provinces, for support. The King of Gondwana then sends a large force to the Laurasian province to put down the attack.
The Laurasian province then goes to its King in response, and the Laurasian King attacks the Gondwana King.
The Gondwana King is threatened because he’s being invaded. So, he sends his forces to counter-attack the Laurasian King.
In response, the Laurasian King musters all of his provinces and attacks the Gondwana King with his entire provincial army. And in response to this, the Gondwana King reciprocates this action and attacks Laurasia.
What started as a fishing dispute has escalated into a full-blown war in six moves.
After sovereignty: Instead of attacking the Gondwana province directly, the Laurasian province goes its King and asks him to intervene. The Laurasian King explains to the Gondwana King he does not want to get into a war over a local fishing dispute. The Gondwana King then calls for his local province to stop fishing in the Laurasian waters and to do so immediately because he doesn’t want to be drawn into a full-scale war.
Sovereignty prevents provinces from directly attacking other territories and instead delegates control to centralised sovereign states. The sovereign state is expected to control their regions and keep them in line, preventing them from directly using force without their centralised permission.
But these rules are often broken. Many people are surprised by the fact there is no police force to police sovereignty.
Sovereign states are supposed to control their own domestic affairs and not interfere with other sovereign states. But they do.
Why does no one come to arrest them? It’s because there is no ‘World Police’ force with enough strength to do this. The United Nations is supposed to act as a circuit breaker, but it’s too weak to do anything, like the League of Nations before it, if a major power decides to act. The UN can send in a coalition force, but it’s never strong enough to put down a major actor.
This means international relations exist in a state of anarchy. Anarchy does not mean chaos. It means, when applied to sovereign nations, there is no hierarchical supreme authority.
The 95% are controlled by their emotions. When a word like anarchy is used, it causes a lot of discomfort to the 95% because they use the best heuristic to make sense of the information. Anarchy is an example of an abstract word. It gives the appearance of explaining everything, yet it explains nothing.
In political science, anarchy is a word, when used in international relations, describing any possible state between order and chaos.
So, what has sovereignty got to do with cryptocurrencies?
In 2018, there are 193 states. Each state has a degree of interdependence to the others. How one state acts will affect another states outcome, and the interdependency between 193 actors is complex. How do sovereign nations estimate the effects of their policies on other nations?
One simple non-technical question to ask is how important is strategic interdependence?
A simple way to find out is to research how much money is spent on intelligence by the world’s leading state — the USA?
Between 2009 and 2016, the most powerful states have tripled their intelligence agency budgets. The US spends around 65% of global intelligence spending.
How do sovereign states protect their secrets? Secrets that glue together a complex network of strategical alliances. And what are the consequences to these secrets being stolen by another state?
When you’re attempting to find an advantage one technology has over another, it’s useful to use a construct to help with decision making. The objective is to find that ‘something’ that will dismiss a choice as quickly as possible.
Imagine a square. You have to find an object within the square. Keep the questions simple and ask is the object in this half?
After the first question: Is the object in this half? You’ve reduced the search area by 50%. Repeat the question a second time, and you’ve narrowed the location down to an area 25% of the size of the original square. Repeat four more times and your search area is 1.56% of the original.
The 5%, the most successful and consistent investors, attempt to find the underlying cause of a problem. If you ask the 95% what caused World War I, they would google it and come up with Arch Duke Franz Ferdinand of Austria was assassinated in Sarajevo. That’s true, but it’s not the underlying cause. The real reason is that advances in military technology gave states who struck first a huge advantage.
One way to dismiss answers found when searching online is to ask: Will this answer be useful in preventing this specific situation happening again?
The assassination of Arch Duke Ferdinand is abstract, it provides no information about the sequence of events that led from peace to war in the summer of 1914. Advances in military technology, giving first strike advantage, does explain how states, wrapped into complex alliances, acted.
When you’re looking for an edge in blockchain technology, go beyond the factoid and look instead for the underlying cause.
We live in a world of large numbers, but we’re not very good at making sense of them. For 35% of the population, the trouble starts when you get to a billion.
The United States has $21.6 trillion of national debt. What does this number mean to you?
This is what $21.6 looks like
We use heuristics, mental shortcuts, to quickly process and evaluate situations. Recently though the pace of technology has outpaced our ability to keep up. For example, most people find it difficult to compare and contrast a billion against a trillion. The words sound similar, and so our inbuilt mechanism does its best to give us meaning. But often it’s way off.
Politicians know this and regularly use big numbers to obfuscate the facts.
As an example, suppose $3.4 billion has been made available to solve a $1.7 trillion healthcare problem. $3.4 billion sounds like a lot, and by comparing $3.4 billion to $1.7 trillion most people’s compare and contrast mechanism gives them the false impression that this is a very generous amount.
It’s caused by not having a clear understanding of exactly what $1.7 trillion really means.
Politicians know $3.4 billion compared to $1.7 trillion sounds like a lot more than it is. In fact, $3.4 billion to $1.7 trillion is precisely the same as comparing 3.4 to 1,700.
Here’s the truth. $3.4 billion is just 0.2% of $1.7 trillion. Not very impressive.
How does the average citizen deal with a number like $21.6 trillion as the level of national debt? Simply put, this number is so large most have no way to compare it to anything they have any experience with, so the number is abstracted away and forgotten about — it becomes someone else’s problem.
In Guns and Butter, we converted a dollar into a second, and asked how many years is 21.6 trillion seconds?
The average guess ranges between ten and fifty.
It’s a bit longer than that — it’s 684,463 years.
Let’s give this some perspective. Julius Caesar invaded Britain 2073 years ago.
If you were given a million dollars a day to spend, every day — since 55 BCE; then, you’d have received a total of $757.16 billion since Caesar’s invasion. Compare that to the US national debt of $21.6 trillion and ask yourself what percentage it is? It’s 3.5%.
In October 2018, if you’d received $1,000,000 a day, every day, for the last 2073 years, you would only have 3.5% of the United States national debt.
Numbers matter, and if you think a trillion is a large number, what is coming next is about to bend your mind.
Julius Caesar used cryptography. He’d coordinate an attack using coded messages relayed to his commanders. The method to encrypt the message was substitution. The text would be shifted a number of places down the alphabet. With a shift value of 3, a becomes d, b becomes e, and so on.
The Romans didn’t use the English alphabet. Latin in Caesar’s time used twenty-three letters. To decrypt the message all you’d need is the shift value, but even if you didn’t know this value, it wouldn’t take too long to decode the message because, by trial and error, you’d only have to try twenty-three different shift patterns to break the code successfully.
If you knew the shift value is 18, ‘SLLSUC SL ZGJS LWJLAS’ becomes ‘ATTACK AT HORA TERTIA’ or in English, ‘ATTACK THREE HOURS AFTER DAWN.’
Mary Queen of Scots made the poor decision to use a substitution cipher too when plotting the assignation of Queen Elizabeth I. Unfortunately for her, by the 16th-century, cryptographers had mastered the art of frequency analysis.
In the English language the most common letter is ‘E’ followed by ’T’, ‘A’, ‘I’, and ‘O’. And using this method, her encrypted messages did not take long to decode.
Fast forward 350 years.
The technological military advances of the 19th century gave states a huge first strike advantage. In the thirty years since Heinrich Hertz discovered electromagnetic waves, the ability to send messages over this medium had been mastered. Now for the first time, large complex and coordinated movements could be choreographed, and the means to keep these messages secret became of paramount importance in maintaining a first strike advantage.
German engineer, Arthur Scherbius, invented the Enigma machine at the end of World War I.
Early machines were available commercially to banks and businesses that had a vested interest in keeping their communications secret. Each machine had three rotor slots, and each rotor had 26 different starting positions.
To set up the machine, each Enigma came with five rotors. Three out of the five rotors were picked and slotted into place. This first stage gave sixty different combinations of rotors. (5x4x3)
Each rotor had twenty-six slots representing each letter of the alphabet, and so each rotor had twenty-six different starting positions. Three rotors each with twenty-six different starting positions gives 26 to the power of three, or 26 cubed combinations. 26 cubed is equal to 17,576.
17,576 rotor starting positions, combined with sixty combinations of rotors gave a total of 1,054,560 combinations.
Not bad compared to the twenty-three combinations of Julius Caesar’s cipher.
Breaking a code also comes with a ticking clock. It’s no use breaking a code after the fact. With just over one million possible combinations, you might think this would be all that was necessary to protect mission-critical operations. But this was just the first commercially available Enigma machine.
The version used by the German military at the outbreak of the Second World War had gone a step further. As well as the three rotors, picked from a total of five, with each rotor having twenty-six starting positions, a twenty-six socket plugboard was added into the front of the machine.
And this is where the numbers get interesting — fast.
The twenty-six socket plug board allowed the user to connect ten pairs of letters.
The number of combinations possible with a twenty-six socket plugboard is the factorial of twenty-six — that’s twenty-six times twenty-five times twenty-four, all the way to one. It might not sound like this is going to be a large number, but think again.
The twenty-six factorial is—
That’s 403 Octillion, 291 Sextillion, 461 Quintillion, 126 Quadrillion, 606 trillion.
But from this number, you have to divide by the combinations you’re not going to use. The Enigma plug-board connected ten pairs, that’s twenty letters, leaving six not used. That’s factorial(six).
There are also ten pairs, and each pair can come in any order, so that’s factorial(ten)
There are ten pairs of letters. Connecting W with A is the same as connecting A with W, so that’s 2 to the power of 10.
Factorial(26) / (Factorial(6) Factorial(10) 1024
That’s the number of ways you can connect twenty letters into ten pairs on the Enigma plugboard.
But remember you have to multiply this by the number of combinations from three rotors picked from five and the starting position of each rotor.
This equals = 150,738,274,937,250 x 60 x 17,576
Or 159.96 million, million, million, that’s—
158 Quintillion, 962 Quadrillion, 555 Trillion, 217 Billion, 826 Million, 360 Thousand combinations.
The Germans changed the code every day. At the outbreak of WW II, the Germans had a machine that could encode messages with any one of over 158.96 quintillion combinations. That’s 158.96 with eighteen zeros. The Germans were confident their code system was impossible to break.
They were wrong.
Alan Turing, the British mathematician who led the team that cracked the code, estimated it would take a human being twenty million years to manually find the correct setting, but Turing had less than twenty-four hours. A seemingly impossible task.
Enigma had a flaw. Each letter when pressed could never output itself. If the letter k is pressed, the output is never k, the letter n can never output letter n, and so on.
Turing realised, instead of having to search 158.9 quintillion combinations, he could use a much smaller subset of possibilities.
Every day at 6am, the Germans used Enigma to send a weather report. The breakthrough came when Turing realised that each morning’s message would contain a common phrase or word.
A machine is fast, compared to a human being, when it comes to checking combinations, but a machine didn’t know the meaning of the words themselves. To the machine, they were just strings of data.
Because the Enigma couldn’t output the letters typed, ‘a’ cannot output ‘a,’ ‘b’ cannot output ‘b,’ Turing found the solution by using an expected common word or phrase likely to be in a weather report.
As an example, using the phrase “weather report” Turing would line up the letters of the phrase with the output from the Enigma. Knowing the letters couldn’t ever be themselves, wherever any of the letters of “weather report” lined up with the same letter in the code, this could not be the correct setting. This gave Turing a subset of settings.
Turing developed a machine, the ‘Bombe’ to cycle through the subset of combinations. Instead of having to cycle through each of the 158.9 quintillion combinations, the Bombe could parse a much smaller subset.
Using this method, Turing could crack the daily Enigma code, a code that would take a human being twenty million years to check by hand, in less than a few hours.
Turing also understood that cracking the code had to be kept secret. The Germans thought that breaking Enigma was impossible. Any sudden string of seemingly random successes would tip them off that Enigma had been broken.
But to quote from the film, The Imitation Game, keeping Turing’s breakthrough a secret would require maintaining a conspiracy of lies at the top levels of government.
The Internet is an open and public system, and the data sent has to be secured. The method to accomplish this uses Advanced Computer Standard 256 bit encryption. With 2018 computer technology this number is viewed as too hard to crack. In computing, too hard, means too long. It would take trillions of years to brute force crack, this number of combinations. 256-bit encryption is —
2 ^ 256. This number doesn’t sound too big, because we have no way of comparing its size to anything.
2^256 is, put another way, 115,790 million, million, million, million, million, million, million, million, million, million, million, million.
To put this number into perspective, the Milky Way Galaxy is 6.213711922 x 10^17 miles wide, or 621,371,192,200,000,000 miles.
If you had to travel 2^256 miles, it’s 186,349,304,072,736,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 Milky Way Galaxy widths wide.
Or there and back 93,174,652,036,367,800,000,000,000,000,000,000,000,000,000,000,000,000,000,000 times.
Now it’s time to introduce Alice and Bob. If Alice wants to send Bob a message over the Internet, Alice first encrypts the message using 256-bit encryption and sends it to Bob. But Bob not having the encryption key has no way of decrypting the message. The only way for Bob to read the message is for Alice to send him her decryption key.
This method of sending messages is called symmetric encryption, and it’s a problem because Alice has to give her encryption key to Bob. If Alice’s key is intercepted, anyone with the key could read the message.
The solution, the one you use when interacting with websites, sending emails, or Bitcoins is called Asymmetric or Public Key Encryption.
To exchange information, both Alice and Bob have to generate a key pair. A public key, and a private key.
For Alice to send Bob an encrypted message, Alice sends her public key to Bob, and Bob sends his public key to Alice. (In no way can anyone derive the private key if they know the public key.)
Alice then encrypts her message with Bob’s public key and sends the message to Bob. This message could be intercepted, stolen, or sent to anyone, but only Bob will be able to decrypt it because only Bob has his private key.
If an attacker obtains Alice’s private key, then all encrypted messages sent to Alice will be readable, but the attacker won’t be able to read messages sent by Alice because that will require the recipients private key.
Encryption works because of the length of time it would take to break the code. Because of the rate of increase in computer processing power, the world standard has already moved from 128-bit encryption to 256-bit encryption.
AES 256-bit encryption is considered secure, using 2018 technology, because of the length of time it would take to go through 2^256 combinations.
Remember the world’s 193 states and their complex interconnected alliances. What would happen if one state had the power to shut down another states power grid, or worse?
More data and the secrets it contains have been created in the last two years than in the prior history of mankind. Keeping it safe relies on the security of the systems designed to guard it.
Is AES 256-bit enough?
Spooky Action — Tomorrow’s Problem
If you save files to Dropbox, your files are protected using AES 256-bit key encryption. Some cloud services protect files at rest on servers with AES 256-bit, but files in motion are protected to AES 128-bit SSL/TSL encryption.
Quantum computing threatens all computer security systems because current computer security is based on public key encryption.
What’s at stake?
Everything. All the infrastructure needed to keep democracy secure is at risk.
Public key encryptions strength, (the discrete logarithm problem) is based on the time needed to solve it.
Quantum computer systems are drastically faster than traditional computers.
For all the complexity of today's computers they are still limited to doing one thing at a time. But what about parallel processors? What about them? They still just do one thing at a time, but there are two or more of them doing it.
What about multi-cores? What about threads? What about hyperthreading? These are marking terms. It’s an illusion. Each CPU can do one thing at a time. It time-shares the resources to give you the illusion of parallel processing.
The most powerful supercomputer is the Chinese Sunway TaihuLight. It has a massive 10,649,600 computer cores. Compare that to the six cores in your top end laptop.
A Bitcoin miner uses a specialised CPU,(Application specific integrated circuit — ASIC )to mine coins. These typically have around 189 cores and are wired in parallel to create Bitcoin farms.
For all the speed and power of the world’s most powerful supercomputer, it will be dwarfed by quantum technology, think of it as comparing an SR-71 Blackbird to the Wright brother’s flyer.
What has all this got to do with blockchains and cryptocurrencies?
Traditional computers use bits to transfer data. A bit can have only 2 values either 0 or 1.
A quantum computer uses qubits. Qubits have quantum properties because, unlike the bits used today that can only have a value of 0 or 1, qubits can have both values simultaneously. (Einstein called it ‘spooky action’) It’s called superposition and is achieved by agitating an electron with a laser.
Think of a qubit as a processor core made from an electron in a magnetic field. Each qubit can have 2 values (0 and 1) simultaneously instead of one value (0 or 1).
This doesn’t sound very impressive right? Wrong.
If a computer could be made that has just 30 qubits, it would have 2^30 cores. That’s over one trillion cores. Compare this to the 10 million cores of the world’s most powerful supercomputer and the six cores in your new Apple MacBook Pro you’ll begin to see the problem. The number of operations per second is going to crack the dial. Computer scientists estimate that, with 128-bit encryption, what would take trillions of years with a Mac Book Pro could be brute force cracked in a few months with a quantum computer.
Cryptographically secure encryption relies on the generation of random numbers. Remember, the Germans thought the Enigma was impossible to crack in 1940.
Alan Turing, exposed a flaw in the Enigma system, the fact a letter never reproduced itself in the code — ‘A’ never generates ‘A’ — and using this feature along with words or phrases most likely to be used in a weather report, he was able to break an unbreakable code in sometimes as little as twenty minutes.
If the encryption of data relies on the generation of random numbers, we should ask how effective a technology is at doing this.
In Games without Frontiers, we used the Trilemma, a tool used by the World Economic Forum, to help estimate the likelihood of the mass adoption of blockchain technology.
In September 2015, the World Economic Forum produced a report naming twenty-one technological tipping points. Two of those tipping points, to occur by 2025, is the US government will collect taxes using blockchain technology, and 10% of global GDP would be stored on a blockchain.
How do blockchains maintain security? Blockchain protocols use random numbers to maintain security. But how expensive in terms of computing power is random number generation? And how random is random?
Starting with the origins of the sovereign state in 1648 as a mechanism to prevent the costs of conflict, travelling forward in time into recent history and viewing how sovereign states were intertwined in 1914, asking how states maintained trust between complex alliances and discussing the methods used to keep their relationships secret, we’ve arrived at randomness.
The 5%, attempt to find toll bridges, a technology that can be scaled to increase cash flow and unlock value. If the environment for the mass adoption of blockchain technology over the next five to ten years is highly probable, a potential toll bridge or roadblock is how a blockchain generates randomness.
How many blockchain systems are being built on quantum computing proof random number generators?
Earlier, we used a square, and a binary question to narrow down a search area. Five questions, based on underlying causes will narrow down your search for the blockchain technology most likely to succeed by 97%.
Security of states relies on encryption, and as the level of trust between nations deteriorates, it’s only a matter of time before the attack dogs will be sent in. This time, the war will be fought not in the fields and hills, but inside a circuit board.