That is the percentage of proposals I hear starting with, “you know, we could use blockchain…”, that has been at least a bad idea, usually unworkable. Fully 80% of said proposals have betrayed, usually within the bounds of a single sentence, that the speaker has no idea what blockchain is or what it does.
I don’t know why blockchain has become one of the latest ‘sexy tools in search of a problem’ with tech aficionados. But that number, 100%, gives me pause. Is everyone hyping blockchain as out of touch as my 100%? How much of the hype does it actually deserve?
I’m going to be honest here. I have not yet fully formed an opinion, even as I type this paragraph. You may or may not have already made your own opinion about blockchain. For those who, like me, are still trying to figure it out, let’s look at what blockchain is, what it isn’t, and what problems it is well suited to address. From there we can each form an opinion as to whether the hype is justified or not. Given my track record on such prognostications, my opinion will probably turn out to be wrong. So don’t take it too seriously. Form your own.
What is blockchain?
When people talk of blockchain, they’re really talking about public blockchain. A public blockchain is a collection of clients, servers, and network infrastructure implementing an accessible, distributed, trustless ledger. It is ‘block’ and ‘chain’ in that the ledger entries stored in containers called blocks which are chained sequentially so that altering a block in the chain would invalidate all subsequent blocks. This is achieved by including a hash of the preceding block when a new block is appended. It is ‘distributed’ in that there are multiple copies of the ledger. It is ‘trustless’ in that no single copy is declared authoritative. If two peer copies are in conflict – say a different new block was appended to each of two copies simultaneously – reconciliation is achieved not by a central authority but by an algorithm known as a consensus protocol. It is a ‘ledger’ in that it stores data.
That’s it. That’s what blockchain is. It stores data, usually transactions, in a distributed and public nature without the requirement of a trusted central authority. It performs no calculations, executes no code, makes no discoveries, and stores data. That is what blockchain is.
Blockchain is a shared, immutable ledger that facilitates the process of recording transactions and tracking assets in a business network.IBM
“But what about all the hype, what about Bitcoin?” you ask, “And what about smart contracts? Aren’t those blockchain?” Well, yes and no. Yes, they both rely on blockchain. But no, in that they are not only blockchain, they are also much more.
Let’s start with Bitcoin
When a user wants to make a Bitcoin payment, they use a client app to create a transaction, a collection of one or more input Bitcoin addresses, and one or more output Bitcoin addresses. This transaction is cryptographically signed by the user’s private key, a part of what is called the user’s ‘wallet.’
The client app then submits the transaction to the Bitcoin peer-to-peer network, where it is accepted by a ‘miner’, usually not a single entity, but a consortium working in collaboration. The miner validates that input Bitcoin addresses are owned by the signer of the transaction and that they contain sufficient Bitcoin to cover the inputs (thus preventing double-spend), finally grouping the transaction with others into a block to be appended to the chain. Before the block can be appended, the miner must satisfy Bitcoin’s consensus protocol, called Proof of Work (PoW).
PoW is a complex protocol, but, in short, the miner must solve a computationally intensive cryptographic puzzle to ‘validate’ the block. By ‘computationally intensive,’ I do not mean something that slows your laptop down for 20 seconds. I mean something that requires so much hardware working together that it is estimated that over 1100KWh are consumed validating each block. While there are alternative algorithms, right now, PoW is the one in use by Bitcoin and Ethereum. The successful miner is paid for their effort with a number of newly ‘mined’ Bitcoins.
Okay, so what parts of all that are blockchain?
Only the ledger implementation and PoW algorithm could be said to be blockchain. The rest – the peer-to-peer network, the transaction language, the Bitcoin address scheme, the wallet concept, the clients, the validation, the mining, the reward mechanism – is not blockchain. The execution of transactions lies outside of the blockchain. Only the record of transactions lies within.
What about smart contracts?
Smart contracts, such as those implemented by Ethereum, are the same thing. Like Bitcoin and other cryptocurrencies, smart contracts execute transactions. However, while cryptocurrencies track the ownership of each coin and support transfers of ownership, smart contracts support much more complex transactions through a full scripting language and complex state variables. The persistence of the script and the related state variables is within the scope of blockchain, but the execution of the script on the variables lies without.
So Bitcoin and smart contracts are not only blockchain but rely upon blockchain, right?
Yes. I can think of no way for Bitcoin to achieve its distributed, trustless ledger without a blockchain. That said, if you have a trusted central authority, a central bank, for example, Bitcoin could be implemented without blockchain. But I suspect that the trustless feature is important to many users of Bitcoin, so that is likely not an option.
What about smart contracts? I am less certain that blockchain is necessary or even the best solution for these. For blockchain to work, the terms of the contract, the script, and state variables must be public. Otherwise, miners cannot validate the terms and place the state change on a block. For the contract to be self-executing, all of the objects of the smart contract must be internal to the Ethereum ecosystem: ethers, NFTs, and the like. That seems like a very narrow application. The contract may refer to external objects, but that is only a reference. I don’t see how this is better than any other electronic contract.
What does this all mean?
Is blockchain all that and a bag of chips?
My opinion: if you need a distributed, trustless ledger, a public blockchain is worth a look and may be the best, or only, solution. If you don’t need trustless and only need distributed, it probably is not, the cost likely exceeds its utility. A blockchain is a narrow tool – good for a very specific problem set and not much else.
It is like an 8mm box wrench. It’s perfect if facing a frozen 8mm bolt, but not so good against a 9mm bolt or a screw. And nobody walks around with an 8mm box wrench looking for problems to solve.
So why are people doing that with blockchain?