Blockchain is going to change our lives forever. Do you want to know how?
Let’s think of the important things that happen in our lives. We are born, we study, we get married, we have children, buy a house, pay off the mortgage, work, receive a salary, write a book, create something new …
What do all these things have in common? All of them need someone else to certify that they actually happened. Our identity is recorded in a civil registry, our studies in a certificate, our marriage in a church or civil registry, certified by witnesses, our mortgage by a notary, our salary by the Social Security, the Tax Authorities and the bank as a back-up. Even our children. Babies wear identification labels and the parents …, well, you know the rest.
This all helps to avoid making a payment twice or someone else just taking our property, etc. and it occurs in many different areas that we are all familiar with: banks, notaries, registrars, patents, property rights and public institutions that certify our academic qualifications, our working situation and how much social security we pay.
All this is going to change with Blockchain. It’s only a question of time. Banks are already preparing as fast as they can. If I worked in any of these areas, I would also be preparing for Blockchain and how to adapt to the business model to come. The only alternative, in my opinion, is to disappear.
When people talk about how Blockchain is going to replace all these things, the descriptions are often only superficial. They simply describe Blockchain as a series of blocks that contain something, that each new block is joined to the last, that they contain things that can’t be changed once they are included and that they don’t need other “trusted” certifiers. My aim is to shed some light on these ideas, while attempting not to fall into a technical jargon trap. We should start by realizing all the technology and circumstances that have contributed to this technological structure called Blockchain which, I believe, is definitely going to change our lives.
Basically, we need to prove that Blockchain can ensure that:
- The content is safe.
- Nothing is lost.
- No change is overlooked.
- The same content can’t be used (e.g. payment) more than once (“double spending”).
- There is no need for a “centralized” body to certify the content.
- It is fast and cheap.
Let’s start at the beginning, which I think is the most important. Let’s talk about Content. In my next series of articles, we will study the others. The content is obviously not real, but encrypted. Actually, there are three steps involved: codification, encryption and integrity.
Codification. When we talk about these steps, the concept is extremely important. Original content may be multiple and vary from text, images, combinations of both or anything else that can be digitalized, in fact, codified. This is therefore the first step. There is nothing to hide. All it involves is passing from one “human” language to a language that is “usable” by computers and similar devices. A language that is reversible and can easily pass from “human” to “usable” and vice versa. The ASCII code used by the majority of computers, which assigns a code to each written character, would be an example.
Encryption. If we want to make sure that non-one else has access to our content, or only with a great deal of difficulty, it must be encrypted. Encryption is ancient and began a long time before the digital age. Since the beginning of the world as we know it, people have always tried to send messages that could only be understood by the addressee and not by others. The majority of systems were ingenious (writing backwards like Leonardo da Vinci) or mechanical encryption (gears, Enigma machine, etc.). All of them required the issuer and receiver to have a code that enabled them to codify and decode the message. The search for codes by others has given rise to a great deal of literature on both types of codes and how to decipher them.
However, the digital age has changed all this in an unprecedented way. It happened in 1976, not so long ago. In November 1976, Whitfield Diffie and Martin Hellman published their study “New Directions in Cryptography” in the IEEE (https://www-ee.stanford.edu/~hellman/publications/24.pdf ). Nothing has been the same since. They were able to prove that anyone can send a code publicly, that everyone can see, but only the two people taking part in the transmission (issuer and receiver) <re be able to use it. Magic? Let me explain the trick.
Let’s not forget that the information sent is encrypted. We need something that enables the sender to encrypt it and the receiver to decrypt it. This something is one or several codes that allow the process to take place. Something like a key that opens the door. Let’s assume that this code has to be the result of a calculus process. We could call the code obtained in this way and sent to the receiver as the Public Code and the variable that enabled me to calculate it and that only I know as the Private code. Let’s take a simple example: my public code is twice my private code: . This function is easily reversible. If X=1, then Y=2, but as I know the function, if I know that the result is Y=2; I can easily deduce that X=1.
However, what would happen if the power required to pass from the Private to the Public Code were totally different to the one required to pass from the Public to the Private Code. Then again, what would happen if they were so different that the last step became virtually impossible? This is where logarithm functions come into play (elliptical ones, to be exact). Without going into the underlying math paraphernalia, the asymmetry of the process must be highlighted. Let’s say my public code, Y, is the result of my private code X by using the following formula: (where a is the so-called generator and q a prime number. La mod function is the remainder of the division between and q ). My private code X would therefore be a logarithmic function:
To highlight the asymmetry of the whole idea, if q is correctly chosen (for example, , if b=200), to obtain Y from X would require about 400 multiplications. However, the other way around, to obtain X from Y would require something like operations, immensely greater than 400.
Imagine two friends, Mary and Joe want to send each other private information using the model described above. Let’s say it is a secret number. Imagine there is another person, Carlos, who is monitoring their communications. Mary and Joe exchange their public codes, but without the private code, the message will be almost impossible to decipher. We have just proven that if Carlos has the Public code, he will be extremely difficult for him to obtain the Private Code that enables him to decipher the message. Now, let’s see how Mary and Joe receive the secret message. The example is a very simple one, but I hope it proves the point.
We will use the same creation formula: Y = α^x mod q
Let’s say q is the prime number 17, α is 3, X is the Private Code and Y is the Public Code.
Mary chooses a Private Code of 15 (which only Mary knows). Joe, who is not superstitious, chooses 13 (which only Joe knows).
Mary’s Public code is Ymary = 3^15 mod 17= 14,348,907 mod 17 = 6
Joe’s Public code is Yjoe = 3^13 mod 17 = 1,594,323 mod 17 = 12
Publicly (which Carlos can see) Mary sends 6 to Joe and Joe sends Mary 12. We have already seen how difficult it is to work out the Private Code (15 and 13 respectively from 6 or 12. Joe can also check what he sent to Mary and vice versa. Joe receives 6 and to prove its source, uses it as , in other words, calculates his Ymessage as 6^13 mod 17 . Don’t forget that this 6 came from (Mary) as 3^15 mod 17 and by substituting the source for 6, his Ymessage is (3^15)^13 mod 17.
In Mary’s case, the calculation would be Ymessage = 12^15 mod 17, or, just by repeating the same process as Joe, (3^13)^15 mod 17 . As we can see, the number is exactly the same: (3^15^13) is the same as 3^13^15. If anyone wants to calculate it, the result is 10, which is the secret number that they want to exchange, under Carlos’ very nose.
Integrity. Finally, Mary and Joe want to be sure that the information they have sent cannot be changed. This is called “Hashing”. Let’s take some written words, such as: “This text cannot be altered without consequences”. If we use the simple Hashing method, the result would be: “14484a953ee645c59017d35a700df61f”. If we simply change the initial upper case letter for a lower case one, the result would be “b1022567a41d40deda80618d20df019d”. This means that even the slightest change gives a completely different result.
The content to be transmitted is obviously protected and only decipherable by exchanging public codes and keeping the private code secret. We have seen that any change at all in the content of the block results in a codification change (Hash).
In coming articles, I will talk about the concepts of “decentralization”, its implications and explain how these methods provide speed, economy and an enormous number of possible applications, from Bitcoin to Smartcontracts, including Fintech and even censuses and elections.
Translated by Jeff Callow