If you’re interested in cryptocurrency, at some point you’re going to come across Elon Musk, founder of Tesla and court jester of Twitter. He has strong opinions, he’s not afraid to share them, and apparently he’s also not afraid to completely reverse them due to ecological concerns over blockchain mining.
In the midst of the furor over one man’s opinions, I also sense growing anger over the energy consumption of non-fungible tokens (NFTs), which are blockchain-based certificates of ownership for digital art. One artist, Joanie LeMercier, calculated that the sale of six of his pieces consumed more electricity in ten minutes than his art studio had consumed in the previous two years.
Granted, determining blockchain’s real ecological cost is not simple. Some argue that kilowatts per transaction is the wrong equation. Others claim that roughly three quarters of the electricity used to mine blocks comes from renewable sources (though still others say it’s more like 40%, and most of the remaining power comes from coal and natural gas). Finally, proponents claim that cryptocurrency drives adoption of renewables and might be a lot greener than the global banking system.
But as blockchains become more popular and their tokens increase in value, more miners get in on the game, increasing the total electricity consumption. Even if you use the more favourable figures, with non-renewables accounting for only 25%, 25% of a lot will still be a lot.
Public blockchains consume so much electricity because they have a lot of entropy to deal with. In thermodynamics, entropy is noise, waste, meaninglessness. The problem blockchain is trying to solve — dishonest agents trying to corrupt the global ledger — certainly fits that description.
Any time you have too much entropy, you’re going to need to spend a lot of energy moving it somewhere else. My hot take: Bitcoin is basically converting dishonesty into CO₂. It’s simple physics.
We get it. Bitcoin is burning the world. Ethereum is burning the world. NFTs are burning the world. There are more planet-friendly consensus designs out there, along with layer 2 protocols to ease the burden, and I appreciate these innovations. If the world is gonna use blockchains, it ought to figure out ways to make them greener.
But I think it ignores two important questions: Regardless of the consensus mechanism used, is consensus even necessary? And more importantly, could we be doing better things with that electricity?
Consensus: an irrelevant starting point?
Programmers love a ‘single source of truth’, a canonical representation of system state that everyone can rely on. That naturally led people to look for a way to get everyone to agree on the contents of one single, shared ledger of events.
This problem — reaching consensus among all honest agents in a low-trust system — is big. And the solutions are brilliant. As an engineer, I love them. But they all feel like answers to the wrong question.
What if we started with different questions?
Moving one step backwards, do we really need consensus on everything? The real world seems to do just fine without it, for the most part. And I’d like to move backwards even further and ask, what are we actually trying to achieve?
We just want to interact with each other on the internet without having to constantly worry about getting cheated. That’s a simpler framing, and it opens the door to novel solutions.
Evolution has been working on this problem for a long time. And it’s come up with lots of great solutions (you could call them games) that all share three simple meta-rules (you could call this the meta-game of living systems).
- Everyone knows and agrees to the rules of the specific game they’re playing.
- Each participant takes responsibility for following the rules.
- If anyone sees anyone else breaking the rules, they take action against them and spread news of what they saw.
We see this meta-game popping up over and over again — in ecosystems, bee colonies, flocks of birds, and even human social structures (though we seem to pick really terrible games and break the rules a lot). Considering the small energy input, it’s a surprisingly robust defense against threats.
The human immune system is a great example: the rules of the game are encoded in each cell’s DNA, so each cell knows how to play nicely with the other cells. If any cell acts up — maybe it goes cancerous, maybe it’s infected with a virus — special immune cells recognise it as a bad actor and trigger an immune response. The body protects itself without spending a lot of energy, simply by launching a small, targeted response against the rule-breaker.
That’s how a Holochain application’s network works. Each user has their own application cell, with a chunk of code (we even call it a DNA) that defines the rules of the game. They’re responsible for the actions they take, which get written onto their own personal ledger. Each action is witnessed by a small set of randomly chosen peers, who store its data, check it against their copy of the rules, and broadcast an alert if they see anything wrong.
With this arrangement, you can get 'good enough' security with a fraction of the effort that full consensus would require.
Holochain makes a bold claim: Consensus is unnecessary for most of the things blockchain is interested in doing.
With such a lightweight approach to security, a Holochain network can scale almost infinitely. Even as the number of users go up, each user is still only responsible for witnessing a small portion of their peers’ data.
Making sense of the energy costs
[Editor: this section has been rewritten since it was first published.]
When I originally wrote this article, I struggled to find a single graphic that would fully capture the relationship between useful work and energy consumption for both Holochain and blockchain.
But try as I might, I just couldn't do it. Months later, I now realise why. It's because, with blockchain, there is no meaningful relationship between useful work and energy consumption. No matter how many more machines you add to the Ethereum network, it still stumps along at about twenty writes per second. It can only serve a constant number of users, no matter how popular it gets.
Holochain, on the other hand, scales along with the number of machines. Add machines and it can handle more writes per second. Electricity consumption goes up, of course, but so does the amount of useful work getting done.
This lines up with our natural expectations. Add more batteries to your flashlight and it lasts longer. Add more horses to your wagon and you can haul more turnips.
Now I'm interested in only one graph, which shows the only metric that matters: how much useful work can you get done for a given amount of electricity? Here, 'energy consumption' is the number of machines online and working, while 'useful work' is the number of writes per second, which predicts how many average users the network can support.
You can see how blockchain's output stays constant no matter how many more machines you throw at it, while Holochain gets more work done as you add more machines. It still means more kilowatts burnt, but at least there's something to show for it.
And the nice thing about Holochain's architecture is that one user usually equals one machine. That means that, as more people start using an app, the network's processing capacity grows automatically!
In summary, Holochain can serve more people with less energy. Why does it perform so much better? There are two reasons, which I touched on in the previous section:
- Consensus is expensive, while peer witnessing is cheap.
- Consensus turns a huge amount of processing power into a slow, single-threaded program, while agent-centric peer-to-peer interaction is highly parallel.
(Note: it's not entirely true to say that the amount of useful work doesn't increase as you add more machines to a blockchain network. What's really happening is that the network gets more resistant to attacks – what I described earlier as "converting dishonesty into CO₂". So why does the network really grow? It's not the number of users, but the price of its currency. As the price increase, more people want a share of the earnings, so they start mining. And that increased price makes it more attractive to attacks, so in a strangely elegant way the security increases with the vulnerability. But this isn't the sort of performance/cost relationship we're hoping for when we talk about scaling. And, as I'm explaining, it isn't that good for the planet either.)
Closing loops and extending lifecycles
So Holochain appears to be faster and less energy-intensive than blockchain. But there are two other ecological advantages that are easy to miss.
Heat: waste or resource?
Blockchain miners and cloud servers usually live in a data centre somewhere. In this building, hundreds or thousands of machines spend all day thinking about math and logic. That generates a lot of heat — so much heat that up to 50% of the electricity goes to cooling.
Permaculture designers say that waste is just a resource in the wrong place. All that heat could be put to good use — say, to heat my home in the winter. But there’s no practical way to do that.
Because Holochain apps run on our own devices (or on someone else's device, if we're accessing them via the Holo hosting network), that heat is automatically spread out across the world and captured in our homes and offices. (Fun fact: Holo hosting first caught my attention because I saw the possibility of keeping my greenhouse lemons warm during the cold Canadian winters!)
It's about the hardware too
Every time I use a blockchain or cloud-hosted app, I’m leaning on faraway hardware and thousands of miles of network infrastructure. This seems wasteful when I have a supercomputer in my pocket and all I’m trying to do is talk to my dad on the other side of town. My precious devices take a lot of energy to make, with blood and toxic chemicals spilled along the way. Knowing this, I’d like to use them to their full capacity before I start making demands on other devices.
Once again, Holochain apps run on our own devices. And even with the Holo hosting network, where the apps are hosted elsewhere, the hosting software will eventually be available for desktops and laptops. This means we're getting more use out of the machines that already exist.
That all sounds pretty green to me.
From ‘less bad’ to ‘more good’
It's probably pretty clear that I think Holochain could replace blockchain for a lot of the crypto applications we see today. As we've seen, a well-designed Holochain app can deliver the same safety guarantees as blockchain, with better performance, at zero cost, for a fraction of the resource consumption.
That excites me. I see a lot of creative things happening in crypto space, and I think Holochain could fill those niches in a way that’s gentler on our planet.
And I’m also curious about what’s next. As wonderful as these things are, can we do more? Can we go from ‘gentler on our planet’ to regenerating damaged ecosystems, sharing our common wealth more equitably, and preserving the dignity of our fellow humans? And does Holochain have unique features that can help us get there?
I invite you to explore these possibilities with me in an upcoming blog series about projects that are doing exactly that — starting with RedGrid, who want to help the world become carbon neutral by 2030.
In the meantime, if you want to start prototyping your dApp on Holochain, head over to the developer portal and sign up for the upcoming (free) DevCamp!
(Side note on the cover photo: yes, I know that's probably not the Satoshi who created Bitcoin. But I had to put something there. Poor guy will never get any peace.)