Blockchain and more blockchain! That’s currently a common term, almost a fad in the corporate spheres. Everybody wants something with blockchain, even if they don’t know exactly what a “blockchain” is. Something about cryptocurrencies, right? Something like a new super-techy-thingamajig, right…?
Not exactly, my friend. So, we can start stating what is NOT a blockchain and what is it NOT for:
* Blockchain isn’t a cryptocurrency.
* Blockchain isn’t an investment platform.
* Blockchain isn’t the bigger open-source platform.
* Blockchain may not be a distributed system.
* Blockchain may not be a decentralized system.
* Blockchain isn’t magical.
* Blockchain can’t solve all your problems.
* Blockchain may not increase your earnings in any way.
All clear? Then, we can begin to learn what a “blockchain” really is and what is its purpose in the universe.
A blockchain is…
This thing is nothing more than an accounting ledger in a digital-encrypted version. Sounds boring? Well, it’s kind of boring, to be honest. Where’s the magic in there? Why everybody is so excited? And why this thing has something to do with cryptocurrencies? Let us explain.
Twelve years ago, the person (or group of people) known as Satoshi Nakamoto was trying to solve the double-spending problem on digital cash in a trustless way. Ok! We can slow down a bit. Double-spending is, basically, spend the same digital money more than once (as it should be). You know, you can copy and paste almost everything on the Internet, why not the money?
To avoid this kind of behavior, we’ve trusted centralized institutions, like banks and governments. Once you send an electronic bank transfer, the bank’s system discounts that money from your account. If they weren’t there, probably the people would just spend the same money several times. And that it’s like a robbery.
So, Satoshi was thinking in an automatic system to replace these centralized institutions and make it possible to have digital cash without the double-spending problem at the same time. He/she/it grabbed then a kind of experimental cryptographic (encrypted) database created in the 70s and mixed it up with other techy-elements to create the first decentralized digital currency without a double-spending problem. And Bitcoin was born in 2009!
This experimental cryptographic database is the famous blockchain, despite nobody knew it as it back then. Not even Satoshi: the name came after Bitcoin. Why not “crypto-database” or something like this, instead of “blockchain”? Well, it’s because the database is actually… a chain of blocks, as it sounds. Digital blocks.
How do blocks work?
Every “block” is a little container of data (monetary transactions, in a cryptocurrency case), chained to all the others (pasts and futures) with something called “hashes”. These are the encrypted result from passing the data through a complex algorithm. Something like this (if we use the SHA256 algorithm):
*Initial data: You’ve transferred 1 BTC to Mike.
*Hashed data: 710DAEB54021CCD83046E4FA16106E4DC10E5D617E4C28F61CE29C29CFAE823E
Every hash represents a unique identity for every transaction and every block (a group of transactions) in existence. All those identities mathematically merge later with each other, “chaining” themselves that way. So, if anybody tries to cheat, the hash of their transaction (the unique identity) will change; and if it changes, it’ll be unchained and become invalid automatically.
For example, let’s remember our initial data (You’ve transferred 1 BTC to Mike). If we change even a little character in there, the hash will radically change as well:
*Initial data: You’ve transferred 2 BTC to Mike.
*Hashed data: 005002AC29AE0D1944110DB27CC73E9090F013B15207D84F2086B8646DAF549E
The transaction isn’t valid anymore and you, poor mortal, can’t deceive the blockchain system. Even if the authorities aren’t supervising. But now, let’s simulate the “merging” between transactions. Let’s say those hashes are indeed both valid and represent the identities of two different blocks. How they chain to each other? Hashing themselves together, of course. As this:
*Hashed data: EDFE12B5DB008F6491BA671DBE6BA25BD89BD6445B5003E9B3789605DBD24AD8
And that’s it! If you want to change something and make it valid, you must first decipher and change every block in existence. Good luck with it.
A blockchain doesn’t work alone
Despite the math, that sophisticated ledger can’t work by itself. It needs the other elements Satoshi added to it: a distributed network of nodes (and people), the aforementioned algorithm to encrypt transactions and set the rules for the validators, the transactions to spend or “coins”, and private and public cryptographic keys. Let’s check quickly one by one.
It’s not the banks or governments, but someone should verify the transactions in some way. And, for decentralized systems (like most cryptocurrencies), that’d be a distributed network conformed by a lot of people all around the world and their computers and equipment (nodes). Especially the last ones.
The thing is, every member of the network (known as miner or validator) has a copy of the entire blockchain in their hardware, and their specialized software or mining equipment is in charge of verifying and keeping the record of every new transaction and mint new “coins”; following the mathematical rules set by the system’s algorithm. The result always should be the same for most validators, otherwise, the transaction or block will be invalid.
A consensus algorithm
We can define an algorithm as a set of steps and methods that are built -with math- to achieve a specific result or solve a problem. There’s a lot of algorithms out there, and not all of them work to build a blockchain. They should be very complex and strong, in order to maintain high security and force the rules among validators.
Not every cryptocurrency or blockchain system uses the same algorithm, either. Bitcoin, for example, uses SHA256 (the one we used before), but Ethereum uses Ethash and Zcash uses Equihash. They’re different mathematical functions, but the purpose is the same: encrypt the data.
Unspent transaction outputs (UTXOs)
We know the term sounds difficult, but these are the “digital coins” or transactions per se. They’re like fragments of property that work to exchange with other people. You can compare them with the bills or cents inside your physical wallet, as well.
Private and public cryptographic keys
These are mathematical keys that work as addresses to send and receive funds inside a blockchain. The public key is like a bank account number: you can share it freely to receive money. The private key, on the other side, works to “sign” the transactions and verify the real owner and their intention to send the funds. In other words, a private key is like a password, and both, the private and public key, form an “account” within the cryptocurrency or the blockchain.
“Blockchain” doesn’t mean “decentralized” always
As we said at first, a blockchain may not be distributed and may not be decentralized. It’s just a cryptographic ledger, after all, and the other elements that work with it can change according to the needs of their creators.
Satoshi Nakamoto was the first person to use it with Bitcoin, but the source code for this kind of ledger is open to the public. It can be copied, pasted, modified, and even sold. So, a lot of people (and enterprises) all around the world have been trying this technology for their own uses, even beyond cryptocurrencies. The banks aren’t excluded: they like using blockchains to build new payment platforms. And, as you may imagine, these aren’t decentralized, but totally controlled by the institutional network.
Sometimes, blockchains don’t work with distributed networks, just with controlled internal networks. This kind of platform needs user permissions from the creators, so, they’re called “permissioned” or private blockchains. On the other side, cryptocurrencies and platforms like Bitcoin works with decentralized networks. That makes them “permissionless” or public.
Originally published at https://blog.alfa.cash on August 30, 2020.