At first there was bitcoin: the world’s most successful cryptocurrency to date. But lately there has been more and more talk about "the bitcoin blockchain", "the blockchain", "blockchain" or "blockchain technology".
Bloomberg reports that Nasdaq is seeking to show progress using the much-hyped blockchain. LWN notes The Linux Foundation recently announced a project to "advance blockchain technology". The Washington Post lists bitcoin and the blockchain as one of six inventions of magnitude we haven’t seen since the printing press. VISA, Citi, and Nasdaq have invested $30m into a blockchain company.
It seems “blockchain” is becoming an increasingly generic term, like "cloud" or "cyber".
A new breed of snake oil purveyors are peddling “blockchain” as the magic sauce that will power all the world’s financial transactions and unlock the great decentralized database in the sky.
But what exactly is a “blockchain”?
Let’s turn to the definitive source, Satoshi Nakamoto’s seminal paper “Bitcoin: A Peer-To-Peer Electronic Cash System” and look for the first reference to “blockchain”. Hmm, there doesn’t seem to be one.
The paper contains multiple references to a "proof-of-work chain", and one reference to a “chain of blocks”, but other than that neither “blockchain” or “block chain” ever make an appearance in the bitcoin paper.
So if it’s not defined in the bitcoin paper, what does “blockchain” actually mean?
I’ve asked a lot of people this question, ranging from renowned cryptographers and distributed systems experts to bitcoin enthusiasts to people not particularly versed in either bitcoin, distributed systems, or cryptography. No two people have ever given me the same answer.
I can try to take a crack at the question myself.
Here are the interesting properties of the bitcoin “blockchain” as I see them:
- Stellar SCP: a formally modeled distributed consensus algorithm designed for Internet-scale operation, which provides global agreement among localized “quorum shards”. SCP provides distributed transaction ledgers denominated in the currency of your choice. Stellar plans to launch a cryptocurrency called “Lumen” using the protocol.
My Death of Bitcoin blog post also touched on the idea that the blockchain could be subject to incremental refinement in the same way the Watt steam engine massively improved on the previous Newcomen steam engine.
A few months later we saw exactly that with Bitcoin-NG (paper), a protocol that inverts the ordering of bitcoin consensus, in which a miner is first elected leader by winning the proof-of-work "lottery" by mining a "key block", and then once elected leader becomes a transaction broker who can mint “micro-blocks” via digital signature until the next leader is elected.
Decoupling leader election from the publishing of transactions allows the overall system to have a much higher throughput as the rate new transactions are published is no-longer coupled to the rate at which the proof-of-work problem is solved.
I’ve referenced Certificate Transparency several times in this post, but it has a few drawbacks: it’s a point-solution specifically for the purpose of X.509 certificates, and as a system that merely logs and audits what certificates CAs provide to it, it has no consensus protocol and therefore cannot be used for things like finding the canonical certificates for a given domain name.
For what Certificate Transparency is trying to accomplish, this is perfectly fine. However, given the several years they’ve spent working on it, it feels like a bit of a shame that it only serves the purpose of authenticating X.509 certificates when the general idea behind it seems much more powerful. This is perhaps how people feel about “the blockchain” when they see it applied only to bitcoin.
is a framework for building collective authority systems using a Merkelized log a la CT, a consensus algorithm, and threshold signatures (using Ed25519 for threshold Schnorr signatures).
By combining the ideas of consensus systems with a CT-like witness protocol, it provides a generalized framework for auditable decentralized trust and consensus which can be used for many of the same things people are pitching “blockchain technology” for without the need for a costly proof-of-work-based “consensus by lottery”.
These two images are taken from Philipp Jovanovic’s 32C3 talk on Cothority, where they were juxtaposed as two potential solutions to the same problem. While I think Bitcoin-NG is a brilliant optimization on the original bitcoin design (and one I’d strongly suggest bitcoin adopt some variant thereof), Cothority provides many of the same properties without a proof of work function.
Blockchain! Blockchain! Blockchain!
Lately I’ve seen a lot of systems of the sort I previously wouldn’t have classified as “blockchains” (because they do not use a proof-of-work chain) who previously seemed to be distancing themselves from bitcoin and the proof-of-work approach go FULL BLOCKCHAIN:
Have you accepted THE BLOCKCHAIN into your heart?
Is Tendermint a blockchain? I guess there’s no question about it now! Whatever Tendermint turns out to be, its creators leave little room to doubt that it is, indeed, a BLOCKCHAIN (blockchain blockchain).
With this much ambiguity as to the actual definition coupled with hyperrepetition, "blockchain" is fast on its way to becoming the new “cloud” – one of those words whose actual meaning is nebulous and unspecific, but whatever it is it must be so important people can’t shut up about it!
Now don’t get me wrong: I like Hyperledger and Tendermint, or at least, I thought I did. Per my personal rubric above though, neither of these systems are "blockchains" because they do not use a proof-of-work-based consensus protocol.
The great database in the sky
The great thing about a nebulous term is that it knows no limits.
What can’t you put in the blockchain? Perhaps we could encode Wikipedia into the blockchain, or store the entire archive of Netflix videos in the blockchain. All of Archive.org could go in the blockchain. We could move the entire World Wide Web into the blockchain so all web pages are permanent and live forever.
The only real question is: What can’t you put in the blockchain?
Well, the answer is: not much. The bitcoin blockchain’s ability to store data is greatly limited by its "publish everything to everyone everywhere" nature. 80 bytes per transaction is pretty much the limit, and the system is already hitting scalability bottlenecks at a relatively modest scale.
To go beyond that, we need a different protocol. We can’t just throw "blockchain technology" at the problem. The relevant algorithms do not exist in the bitcoin codebase. We need a different protocol.
This is a problem many people have tried working on for a very long time. I’ve blogged about it before. There have been many pretenders to the throne: Xanadu, FreeNet, GNUnet, MojoNation/MNet, Tahoe-LAFS, OneSwarm, BitSpray, MaidSafe, IPFS. I’ll note MojoNation specifically as a system that tried to tie storage service to a cryptocurrency.
So far the leading technology for the decentralized database seems to be BitTorrent, which dominates Internet traffic. But it doesn’t make for much of a database, only a blob store. Perhaps you’re now thinking: TorrentChain! Yeah, that’s been tried. But I don’t think the great database in the sky is going to be unlocked by cobbling together disparate parts into a Rube Goldberg apparatus.
Believe me that I would like to see the craziest fantasies of what people hope to accomplish with decentralized systems realized. But the blockchain is probably not the technology that is going to do it.
I feel “blockchain technology” has not delivered a lot of practical value: compared to most payment systems, the value bitcoin moves, and the transaction rate, are both rather insignificant (and bitcoin is all that matters – all other blockchain-based systems move practically nothing by comparison).
Bitcoin is hitting scalability limits under a relatively modest payment volume.
The only thing I think "blockchain technology" has actually delivered on is hype: a press release with "blockchain" in the title garners media attention. (I direct you back to the opening paragraph of this post if you doubt that).
Old financial institutions recruiting for “blockchain” positions are a lot more likely to find talented engineers than if they have job requirements to maintain decades-old legacy systems. I won’t dispute that "blockchain" is pretty much guaranteed to engender a lot more excitement in your average engineer than "ledger", "reconciliation", "settlement" or "notarization".
In the meantime, "blockchain technology" advocates need a litany of big-name positive endorsements of “blockchain” to lend credibility to the idea, even if it’s little more than expressing interest in the concept.
Thus we wind up with a positive feedback loop of hype without anyone actually delivering on anything valuable.
That’s not to say that the idea of decentralized transaction ledgers and timestamping systems lacks merit, but I don’t think copying and pasting Satoshi-and-friends’ codebase all over the place is the best way to go about solving the problem.
In Blockchainiac terms, I don’t want there to be “on-chain” and “off-chain”. I want “sidechains all the way down”. I want systems that are built from the ground up to support that model. Bitcoin doesn’t scale. Decentralize the blockchain!
I want protocols that are formally proven to come to consensus correctly, not protocols that are formally proven to be broken.
I want each transaction to use less electricity than I do in a day. Much less. I want the entire system to use a lot less electricity than the entire nation of Ireland.
I want more than 3 transactions per second.
I want consensus faster than every 10 minutes. Ten seconds is a lot better.
The most interesting ideas I’m seeing are coming from people who describe their protocols as requiring no blockchain.
I worry the media are giving undue attention to questionable ideas simply because there’s a lot of "buzz around blockchain".
I worry that the hype surrounding the “blockchain” might lead those who award research budgets to favor blockchain-based solutions over those that are blockchain-free.
I worry financial institutions might pick a "blockchain"-based solution where a blockchain-free solution might be, by all quantitative metrics, better in every regard, simply because they’ve heard what a big deal “blockchain” is.
But perhaps my concerns are overblown, and this is just a giant semantic argument. Maybe "blockchain technology" is just becoming a meaningless all-encompassing umbrella term for decentralized protocols.
Can it do ledgers? Sure! Data? Why not? Computation? Smart contracts baby!
Perhaps "post-blockchain" protocols will start branding themselves as “blockchain technology” just to stay relevant.
"Cyber" is starting to grow on me, so why not "blockchain" too? Who needs a metaverse? I’ll see you on the blockchain.
This article originally appeared on TonyArcieri.com and has been republished here with the author's permission.
You can follow Tony Arcieri on Twitter
Conformity image via Shutterstock