A silent but intense competition seems to be taking place when it comes to defining blockchain technology. A Google search for the question “What is blockchain” yields over 120 million possible results. This number includes thousands of guides, videos, FAQs and other “educational” material on the subject. A shining example is a video depicting a blockchain expert trying to explain the technology to a 5-year-old kid. Really?
One common trait of all these resources is the lack of agreement on a single and straightforward definition of a blockchain. So take your pick. But, as mentioned in a previous post, this is probably not that relevant. After all, many people use mobile phones on an hourly basis and have no idea how they work. They do not need to, nor do they seem to care about it. The same goes for the Internet, refrigerators, cars, and toilets, among many others. Competency without comprehension is undoubtedly not big news nowadays.
End users will adopt a technology if it brings additional benefit and/or value-added to their daily activities, public and/or private. Sure, those wanting to harness and enhance the technology must have a good grasp of its inner workings and thus possess the specialized knowledge required to do so. But the diffusion of the technology is not just a function of the number of people who really really really understand its core structure. No doubt blockchains are involved, perhaps one of the sophisticated technologies out there today. But this is not the reason why their diffusion is still in its infancy.
Many blockchain definitions seem to agree that the technology is a database. The main difference between a blockchain and a traditional database is the distributed nature of the former,1 For some reason, the decentralized and distributed attributes are assumed to be equal. This is not correct, strictly speaking. in addition to its append-only character and its heavy use of cryptography.
In its first incarnation, Bitcoin, the blockchain was designed and deployed as a ledger, which, in a nutshell, can be defined as space, digital or analog, where accounting and financial transactions are recorded. A ledger is not quite a database. It resembles more a log file of transactions. Ledgers have been around for centuries, getting more sophisticated as economic transactions and trade increased over time. Blockchains can be seen as the latest and yet more advanced implementation of ledger technology. Bein that as it may, adding other types of information or data to a ledger will surely defeat its intended purpose. No accountant with the right mind would ever do so. Ledgers and big data are indeed not the best of friends.
Second generation blockchains, represented by the so-called altcoins, tweaked the ledger a bit and started to store metadata in the blockchain to help manage the new cryptocurrencies generated by these platforms. Colored coins are the best example here. Furthermore, Namecoin, the first-ever altcoin, allowed for domain name and ID management within the blockchain.
All this changed with the advent of Ethereum and the introduction, among other features, of smart contracts, tokens and the Ethereum Virtual Machine (EVM), thus enhancing the ledger capabilities of blockchains.2 For the record, Ethereum claims to be a Turing-complete platform. For example, smart contracts are stored in the ledger in computer format (bytecode) and executed by all Ethereum nodes (via the EVM) when pre-established conditions are met by the parties involved. But we still have a ledger in place – and not a regular database management system.
While the difference between a ledger and a database can be subtle, the critical point here is that blockchains are not the best technology to store all sorts of data in large quantities. Sure, both Bitcoin and Ethereum blockchains are now relatively large in size3 Bitcoin is over 150 gigabytes while Ethereum is approaching 1 terabyte for full nodes. Size does introduce issues when it comes to the performance of these platforms. But that is another story.. However, they still pale in comparison to the massive data storage powerhouses.
Unlike most databases, blockchains are public for the most part. Anyone can view the (encrypted) data that blockchains store – without registering, providing ID, or paying for access. Again, bear in mind you are browsing a mostly encrypted ledger.
Blockchain.info provides web-based access to the Bitcoin blockchain. Let us look at block 500,000, which was added last December. The web page has two main sections. The header or summary of the block is at the top, as we can see on the screenshot below. A combination of accounting data with more technical terms such as hash, nonce, and difficulty, among others, is presented succinctly.
The block contains a total of 2,701 transactions, which are listed at the bottom of the page. The screenshot below shows the first four transactions.
Text in blue is clickable, so one can poke a bit deeper into the metadata related to any given transaction, including the parties involved. But most data is hashed, so it is not possible to identify who is behind these transactions other than their Bitcoin addresses.
Etherscan.io provides similar functionality for the Ethereum blockchain. Looking at block 5,000,000, we will see that the header and summary portion contains more information than Bitcoin, such as gas, sha3uncles, and uncle blocks, to name a few.4 Do not worry about these terms,` but feel free to Google them if interested! Block 5,000,000 includes 109 transactions and ten smart contracts, which are shown in the screenshot below.
Again, text in blue can be clicked to obtain additional information on the smart contract in question or on the parties involved.
So there you go. Now we have seen a blockchain and, frankly, it is not that exciting. In the end, ledgers are dull, mostly if data displayed is hashed and cryptographic format, which we cannot quickly read and interpret -albeit this is great for privacy. But now we know that blockchains are not designed to store zillions of data points as conventional databases. This is why many blockchain projects rely upon and/or connect to so-called “off-chain” data sources, including traditional databases, to ensure full functionality 5 Oracles are external data resources to supplement smart contract execution. Tangible and intangible objects can also be placed on blockchains via encryption tools (hashing, digital signatures, etc.) and linked to off-chain data (IDs, land titles, health records, etc.) This creates an enhanced data ecosystem that is more secure and transparent. Blockchains thus play a critical role in making this a reality.
All in all, the applications that blockchains could support in addition to cryptocurrencies is where the excitement lies -and not on my capacity to explain to my grandmother what a blockchain is.
At the moment, however, no killer-app has emerged; but that may change soon.
Cheers, Raúl
Endnotes
⇧1 | For some reason, the decentralized and distributed attributes are assumed to be equal. This is not correct, strictly speaking. |
---|---|
⇧2 | For the record, Ethereum claims to be a Turing-complete platform. |
⇧3 | Bitcoin is over 150 gigabytes while Ethereum is approaching 1 terabyte for full nodes. Size does introduce issues when it comes to the performance of these platforms. But that is another story. |
⇧4 | Do not worry about these terms,` but feel free to Google them if interested! |
⇧5 | Oracles are external data resources to supplement smart contract execution |