WHAT is blockchain technology and how does it work to provide decentralized transactions?
Blockchain technology is built on 3 key ideas:
1. Private-Public Key Cryptography
2. Distributed Networks
3. Incentivized Computing
Cryptography is the process of writing and reading coded messages. The process of writing it is called encrypting and the process of reading it is called decrypting. In order to properly read and write a message, one needs a key which is the formula to unlock the message.
One of the simplest methods of encryption is direct substitution. An example of this is for you to take a sheet of paper and write the letters A to Z in one long column downwards. In the next column, beside the letter A, start with another letter, for example M, then continue downwards. So you would write N beside B, O beside C, and so on until you get to Z and then you start again at A.
This now is your key.
That means the when you want to write the letter A, you should instead write M. And when you want to write the letter B, you should write N, and so on.
Using this method, the word "apple" will be written as "mbbxq" and the word "balloon" will be written as "nmxxaaz" and so if we write an entire message this way, it will appear as gibberish to someone who does not have the proper key to decode it. Of course, a simple code like this can be broken very easily even by a ten-year old, which is about the age I got interested in this sort of thing.
So one can make a more complex formula, for example a="45w", p="x3e", l="ch", e="6a" so now the word "apple" will read as "45wx3ex3ech6a" and this will be a more difficult code to break. Modern encryption takes advantage of the power of computers to do very complex calculations and so are many orders of magnitude harder to break than these simple encryption methods.
One of the most popular modern encryption technologies is called the private-public keypair. These keys are typically very long numbers which may look like this: "3048024100C918FACF8DEB2DEFD5FD3789B9E069EA97FC20."
Your private key is yours alone while your public key is the one you give to people you want to transact with. For someone to send you an encoded message, he only needs to know your public key. Once he encodes the message, even he will not be able to decode it, as you will need the private key to do that.
Blockchains use this method to ensure that your transaction is authentic, authorized and secure. In fact, this method is more secure than simply typing a password on a web browser.
Next, the blockchain uses the idea of a distributed network. Most of our transactions use the client-server model wherein the data resides in a central repository. For example, if we are doing online banking, all the data resides in the bank's servers (and nowhere else). Therefore, if someone would be able to hack that server and modify certain transactions, it would be possible for that person to make a cash transfer of P1,000 to his account appear to be P1,000,000. If he were then able to withdraw that amount before the hack was discovered, then he would have gotten away with free money.
The same thing happened to a local bank several weeks ago where there was an IT glitch that caused some people to see their bank balances suddenly go to zero or negative, while others were surprised to see more money than they should have in their accounts. In fact, some were able to withdraw this excess cash before the glitch was discovered and all machines were taken offline to prevent further damage.
This happened because the transaction records were centralized and any alteration (whether authorized or malicious) to those records will immediately affect the clients accessing those records.
In contrast, cryptocurrency uses a distributed system which essentially has multiple transaction ledgers. Anyone can download and secure a copy of these ledgers. Transactions are recorded in segments called blocks, and these blocks are produced regularly and sequentially -- that is why it is called a blockchain.
The software to record transactions and secure the blockchain network is called a "miner" or a "node," and it is typically open-source and free for anyone to download and run. So anyone who does this will have a complete record of the entire blockchain since the beginning. It's like having a complete record of all your bank's transactions on your computer.
So now, there is no central repository of the data, and the integrity of the data can be quickly compared with all the other miners or nodes in the network. For example, if someone were able to hack my computer and change the transactions there, once the program verifies that data with the rest of the network, it will discover that my records are different from the vast majority of other miners and, thus, will automatically reject those hacks.
For a hack to be successful, the hacker must be able to manipulate the records of 51 percent of all the miners in existence -- a feat that is near-impossible for popular cryptocurrencies like bitcoin or ethereum which has thousands and thousands of miners all over the world.
But why would someone want to download and run a miner or node on his computer? We'll tackle the next key idea, incentivized computing, next week.
Published in the SunStar Davao newspaper on June 23, 2017.
Latest issues of SunStar Davao also available on your mobile phones, laptops, and tablets. Subscribe to our digital editions at epaper.sunstar.com.ph and get a free seven-day trial.