When Bitcoin entered the scene in 2008/2009, it wasn’t with a bang. Designed as an alternative to the legacy financial system, it attracted little attention at first, not least because few people really understood it. For the first few years, the majority of the conversation centred on the currency aspect – for good reasons. It was only in the last few years that the conversation shifted to the underlying technology that makes Bitcoin work: the blockchain.
But while all of this was going on, another effort was already well underway. Even before the publication of the Bitcoin whitepaper, a relatively obscure group called The MetaCurrency Project outlined a very different technology. In contrast to Satoshi Nakamoto, the intention of this group was never to create a (pseudo-) anonymous digital cash. Instead, they were looking for ways to enable more sophisticated social coordination, an effort that resulted in their post- (or pre-?) blockchain technology called Holochain.
And given that the limits of blockchain architecture are becoming readily apparent thanks to the scaling debate and forking fiascos, we are in need of other systems to carry forward the massive project of decentralization they began. Holochain, as you will see, is uniquely positioned to pick up that baton and bring it over the finish line.
Origins
The geniuses behind Holochain are the founders of a larger effort called the MetaCurrency Project: Arthur Brock and Eric Harris-Braun. As the story goes, they built software companies that were able to work well in a non-hierarchical fashion by making use of sophisticated accountability metrics and workflows.
Over time some patterns started to emerge, leading to a central insight into how we humans coordinate at scale: we use currencies, or how they call them, “current-sees”. According to the MetaCurrency founders, currencies are a much broader (and more foundational) category than mere money, and their work – futuristic as it may sound – is about building the tools and spreading the practices that enable a truly post-monetary economy.
Source: “Beyond Blockchain: Simple Scalable Cryptocurrencies” article on Medium
Currency (kûrˈən-sē) ►
- n. From the Latin verb correre, meaning “to run.” Currencies (or “current-sees”) are formal symbol systems that shape, enable, and measure flows of resources and value. (Definition from the MetaCurrency About page)
Already we can see that there is some serious philosophical heavy-lifting underpinning this work; essentially, what we are being asked to reconsider is our perception that money runs the world exclusively. While it is “the one metric to rule them all”, it isn’t actually – and never has been – sufficient for running functioning societies or even markets by itself.
Consider the emergence of labels like “organic”, “free-range”, “GMO-free”, “grass-fed”, etc. in recent years. What are these? Through that lens we just introduced, these are nominal currencies, or complementary currencies to money.
Clearly, for many people price is not enough to determine whether they want to purchase a good. They rely on other symbols to inform their choices every single day, and so do you.
Armed with this new perspective, we can spot current-sees everywhere: college degrees, Amazon reviews, Uber ratings – these “formal symbol systems” shape the flow of education, product sales, and ride sharing, respectively. The way they achieve this, though, is through a plethora of non-monetary currencies that signal performance, reputation, or other useful information.
But perhaps the most important insight to glean from this perspective is that these non-monetary currencies can in principle be built by anyone. And that’s exactly what Holochain enables…
Technology
Does Holochain have miners? What’s the difference to blockchains? PoW or PoS? What about smart contracts? So many questions…
Before we compare Holochain with blockchain, let’s start with a basic overview of the architecture and explain the principles that informed fundamental design decisions. You’ll see shortly just how different it is and why it might actually hinder your ability to understand it easily if you’re coming from the blockchain world.
Source: Holochain Wiki
According to the Holochain Wiki on GitHub, a holochain is defined as:
“A validating distributed hash table (DHT) where every node enforces validation rules on data against the signed chains where the data originated.”- Holochain Wiki
Let’s take that apart one by one.
Local Source Hash Chains
Every user of a Holochain application keeps a digital record of their own actions and entries by writing to their own local hash chain – one chain per application. These chains ensure intrinsic data integrity by – just as the name suggests – chaining hashes one after the other, similar to how GitHub keeps track and ensures the integrity of software code and its many branches and forks.
Entries to your own chain have to follow the rules of the application within which you generate them. If they don’t, the data integrity is broken.
Source: Holochain Website
Of course, this doesn’t matter that much if all you’re doing is keeping data for yourself. But once data is uploaded into a shared space and becomes something that others rely on, we have to enforce rules in order to maintain that space’s coherence and integrity.
Traditionally, we solve this problem by putting an organization in the middle between the end users in order to guard this shared space and do the coordination for the group. Of course, this comes with its own problems since we now are beholden to that central entity’s whim (think Google, Facebook, Amazon…).
The way the blockchain “solved” this problem is by replicating the shared record across every node and randomizing the ability to write to it with the invention of mining. But this solution has its own problems, since the Proof of Work and Proof of Stake algorithms used here still centralize control over time, sometimes even more extremely than the models of old.
Holochain takes a different route altogether. By starting from an agent-centric model with local source chains, the technology radically reduces the computational overhead of every node having to replicate all of the data.
Here’s how:
Monotonic Validating Distributed Hash Table
If you have ever downloaded a movie or music album with BitTorrent, then you’ve made use of the same basic technology that enables Holochain users to access data on each other’s devices without a central authority to coordinate it all. The innovative feature they added on top is the functionality that hides behind that innocent little word “validating”.
Source: The Pirate Bay Website
When you download a torrent file from Pirate Bay, you run the risk of catching a corrupted file or even a malicious virus. That’s because anyone can upload any kind of file to the DHTs that you get your torrents from.
In Holochain networks, there are validation rules that new entries to the DHT have to comply with in order to get accepted and to propagate to other nodes. This means that as a participant in an application that uses Holochain you are only able to write to a shared space if the way you do that is according to the “terms of service” you agreed to in the beginning.
In addition, once something gets added to the DHT there is no way to delete it – that’s what “monotonic” stands for. The only thing you can do is tag an entry with a “deleted” marker, which doesn’t actually delete it but allows applications to ignore it in the UI.
Also, in order to guarantee data availability and low participation barriers, every user (or node) carries a small part of the total data available in the network. This is what the “distributed” part in “distributed hash table” stands for: unlike blockchain systems nobody needs to hold all or even most of the data.
Said differently, everybody can participate, even with a mobile phone! Everybody plays by the same rules, which means that superior access to capital doesn’t allow you to exert outsize control on the network.
If you can download the software, you can use Holochain.
dApps
Every single Ethereum dApp runs on the single public Ethereum blockchain. The big “Aha!” moment comes when you realize that every single Holochain dApp bootstraps its own Holochain network.
This means that you can comfortably run dozens, even hundreds of entirely separate Holochain dApps on your laptop and smartphone! Talk about the holy grail of peer-to-peer technology…
Source: “Holo and Holochain” YouTube video
Holochain achieves this with what its creators call an agent-centric architecture. Instead of putting data in the middle and people at the periphery, this system inverts that logic.
We will get to the implications of this in a moment, but you can see already that where blockchain dApps are merely decentralized, Holochain dApps are both decentralized and fully distributed as well. Because every node is a full node, you can act as an authority for your own actions and don’t need system-wide consensus for an interaction between two users to occur.
And Holochain is fast, ridiculously so compared to blockchain systems: in benchmarking tests against Ethereum, the technology has proven to be 10,000 times faster and that’s a conservative estimate. The sheer amount and utility of real world use cases to apply this to boggles the imagination.
But be warned: Holochain isn’t great for every type of application, especially token-based currencies or those that involve the transfer of large files. According to the Wiki, where Holochain really shines is everything involving small to large scale social coordination, e.g. social networks, supply chains, cooperatives, p2p platforms, collaborative apps, and reputational as well as mutual credit cryptocurrencies.
The first applications are already in various stages of development. For example, you can download and run Clutter, a Holochain version of Twitter, among alternatives to Slack, App Stores, and Wikipedia.
Challenges for developers
Like so many new things, we have to get used to different ways of thinking in order to make good use of the tech. So before you dive in to build, let’s look at a few things that require a shift in perspective – especially if you’re a “recovering blockchainer”.
Here are the top five:
1. Finding data is tricky
If you haven’t worked with distributed hash tables yet, you need to know this: DHTs are an essentially non-searchable space. If you want yourself or other users to find data, you need to build your application in such a way that this data is added to previous entries in a way that leads back to something easy to remember or find, like a username.
2. Getting access to data is tricky
Users generate all data on their local devices first and only then share parts or all of that to shared spaces according to the application rules in which they are operating. To get access to their data, you must have a good argument and better incentives for them to share it, otherwise they’ll migrate to a different app.
3. Working with data is tricky
In an agent-centric system, there is no universal view on all data. This means every user has their own perspective and a different subset of all data, and you have no admin privileges to view it, nor do you have the ability to change something after it’s generated.
4. Working with time is tricky
Because of each user’s varying perspective on the data they can access, there is no universal sequence of operations that holds for the entirety of the application. Because communication can and does happen asynchronously a lot of the time, you need to account for it in your initial design.
5. Working with interfaces is tricky
Every application has so-called UI hooks, which allow the user to interface with it through whatever UI they want. This “pluggable UI” feature means that you have to program your app to function with multiple UIs and you can’t count on your users to have the same product experience across the board.
Source: Holochain Adventurer GitHub Release
Overall, the relationship between user and application provider shifts, and so do the business models. Instead of providing a free service in exchange for the permission to extract and exploit your data, you are much more likely to have success with subscription models, value for value exchanges, and commons-based production.
Implications
Blockchain promised us a future of radical decentralization and disintermediation, but so far hasn’t been able to deliver it due to its high comparative cost and inability to scale. As we have seen in the previous comparison, Holochain may be able to fulfill those promises thanks to its superior speed, cost-effectiveness, scalability, and perhaps most importantly its evolutionary capacity.
What’s more, it marks only the beginning of a radical shift away from command and control models of social organization and towards an ecological model. While revolutionary all by itself, it forms only a small but essential part of a much larger effort called Ceptr that instantiates patterns occuring in nature into the digital realm.
Enough people are tired of governmental and corporate invasions into their privacy to look for alternatives. But so far the tools for large-scale protection and coordination haven’t been available.
Now they are.
How to get involved
If this technology is something you would like to learn more about, you can find a number of resources down below. To understand something thoroughly, it helps to get more than one perspective and especially the one from the founders, so do give those a try.
If you are a developer and want to learn about how to build applications, do go to the Holohackers website. There you’ll find a comprehensive list of websites, resources, and fora to dive into that will get you started.
Are you non-technical, but the potential of this technology still excites you? Visit the Holochain website and follow their social media pages on Facebook and Twitter.
To join the conversation you can participate in the public chatroom as well.
The first app: HOLO
But wait, you ask, how will all of this matter if Bitcoin and Ethereum are already so large? Won’t their network effects prevent anything new from taking over?
Yes and no.
Yes, because the current incumbents in the space do enjoy lots of developer support, commercial acceptance, and a strong brand. No, because they also have high costs, little throughput, and no good scaling solution.
In the medium to long run, what really matters isn’t size or strength but adaptability. Network effects cannot prevent other efforts from winning if those have lower marginal cost of onboarding, stronger incentives to stay and contribute to the ecosystem, and greater adaptability – in short, evolutionary capacity.
The people behind Holochain realize this, and so their strategy builds on extraordinarily strong fundamentals. But even that is not enough if regular people like your mom can’t make use of it.
Source: Holo Crowfunding Video
That’s why they are building HOLO, a network and organization that provides a bridge from the new, decentralized internet back to the old, centralized one. As the first high quality app built on Holochain, it networks the spare resources on our existing devices and allows normal internet users to participate in Holochain-based apps.
If you want to learn more about that, I recommend heading over to the Holo website and watching a video or two on their YouTube channel. For a really deep dive check out their Greenpaper as well.
To go all the way and support this project, you can contribute to their IndieGogo campaign and receive a Holo hosting box. Or learn about the ICO and whitelist yourself.
Already, the team behind this has attracted the attention of some of the most intelligent and caring people from many different disciplines. We’re sure you’ll be welcomed just as much as they were.
Resources
– Team Human Podcast #48: Arthur Brock reclaims currency
– Article: Beyond Blockchain: Simple Scalable Cryptocurrencies
– Curiosity Talk: Blockchain Expert Moritz Bierling
Feature Image Source: “Holo and Holochain” YouTube video