I got an email out of the blue the other day:
Hello, I would like to inquire if Holochain is the best framework for my idea concept. It seems very interesting, but I just don’t know enough to figure it out.
I currently work as a Blockchain engineer, and would like to ask you some questions. Would it be possible to do a quick call one of these days?
I’d already been reaching out to blockchain developers who were switching to Holochain, so it was serendipitous that, without even knowing I was working on this article, here was one reaching out to me.
When we met on the zoom call, we talked about how Holochain does things differently from blockchain, and the benefits for efficiency and scalability. He asked about security issues, and I explained how it protects against common attacks. We talked about how apps can be built to bridge with each other, mediated through user actions. At one point, after I’d just finished explaining membranes — the permissions that determine who can access the app and who can’t — Kailan went quiet for a few moments.
He shook his head. “I don’t understand,” he said, “There are millions and millions of dollars going into blockchain projects.” He paused again, apparently processing the implications of what he was learning. Finally, he said, “Why aren’t they all building on Holochain? It doesn’t make sense.”
After our call, I wrote to ask if he wanted to elaborate on this comment. Here’s what he wrote back: “It does what I consider the fundamental purpose of blockchain technology, automating trust, better,” and he added, “Most projects that use blockchain technology to automate and co-ordinate trust should be able to use Holochain to greater effect.”
A Growing Trend
Kailan is just one of a growing number of blockchain developers who are starting to realize the potential for Holochain to usher in the era of distributed computing that blockchain promised but failed to deliver.
I met a former EOS developer when he responded to a post I made on Reddit. The developer, who wanted to go by his Reddit username InsignificantAntler, told me, “Blockchain technology will probably not be the next step in the Internet revolution.” He had been working on a healthcare app on EOS, but abandoned the project after disagreeing with the direction Dan Larimer was taking things. He mentioned the high cost of CPU and RAM usage, and said he felt unsupported by a community overly focused on money.
“EOS is dead in the water,” he said. He told me he’s switching to Holochain because it offers less expensive computation. He also considered Hashgraph, but said, “It’s oriented toward rich investors, and doesn’t allow anyone with a few thousand dollars in their pocket to prosper and open their own business.”
Insights from a Solidity Developer
InsigificantAntler didn’t have many positive things to say about his experience as a blockchain developer, but that wasn’t the case for everyone. Santiago del Valle, a Solidity developer I met on Holochain’s Mattermost chat server, said to me, “Building on Ethereum has been good — it helped me understand the technology and made me realize that we as developers can help to build a better world.” He appreciated the positive vision of the future he’d got from working in the blockchain space. He just no longer believed blockchain was the way to achieve that vision, due to problems with scalability, energy waste, or stake accumulation (in the case of proof-of-stake consensus). He also pointed out the difficulty of upgrading smart contracts, something he thinks will be easier on Holochain.
On top of these problems, Santiago elaborated on a more fundamental issue. He said blockchains are not adequately decentralized. “I think it’s wrong that we have to rely on what full nodes say,” he told me, saying he preferred the agent-centric approach in Holochain, which he characterized as being fully distributed, not merely decentralized across a special subset of “full nodes.”
You Can’t Put Reality on the Blockchain
A blockchain proponent might argue that as long as global consensus can be achieved, partial decentralization is good enough. However, another developer I spoke with, PJ, who has a background in theoretical physics, would disagree. He explained it to me over a Skype call we set up after meeting on Mattermost.
The global consensus that blockchain relies upon is based on false assumptions, he told me. “In both quantum theory and relativity theory, there is no ultimate order of events,” he said, “They are frames of reference […] so why are we trying to impose consensus on the global scale?” He said this mistake, ignoring how information flows in nature, is the fundamental reason why blockchain can’t scale.
The design of Holochain, in contrast, was explicitly inspired by patterns in nature, maintaining data integrity without requiring global consensus.
Blockchains don't necessarily reflect the actual order of transactions/events, but an *agreed* order of transaction… twitter.com/i/web/status/1…—
Angela Walch (@angela_walch) December 13, 2018
PJ told me how he’d been searching for a distributed network technology to build his peer-to-peer multimedia sharing application. “Blockchain gave me hope that it would be the solution, but then I realized it was not the distributed technology I was looking for,” he said. He told me it was a “no-brainer” to make the switch. “What Holochain is doing is much more advanced, they basically built the technology that I would be trying to build myself,” he said, “I think it has incredible potential.”
After chatting with a handful of developers who are also making the switch, it seems more and more are coming to the same conclusion.
*Note: asterisk indicates use of a pseudonym by request of the person interviewed.
3 thoughts on “Why Blockchain Developers are Switching to Holochain”
Awesome article. I started taking with my work colleagues about Holochain 6 months ago now they taken some very significant projects off blockchain and started down the Holochain path. These days i hear of a new project switching to Holochain every week. The
Great news. Can you mention a few on those projects?