Holochain Workshop Part 1: Paul D'Aoust on Holochain Overview

Paul D'Aoust explains how Holochain differs from blockchain: instead of one global ledger verified by consensus, each agent keeps their own ledger and shares with random witnesses. This cuts costs to near zero, scales infinitely, and lets users own their data and work offline.
Chapters
Let me introduce you to Paul Dowst. Paul is part of the Holo team where he tries to find simple ways to help people understand Holochain and other complex technologies as well as their potential impact in the world. After hours, he grows a large garden and plays music with his family in rural Canada. I will share in the chat his Twitter and website.
Awesome, thanks. So forgive me in advance, I have a bad attack of allergies this morning, so I might be sniffling a bit. So what is Holochain, blockchain, etc.? To answer that question, I'm going to zoom out a bit and talk about a term you might not be familiar with, which is distributed ledgers. A distributed ledger is just a database, but it's special in two ways, and it's right there in the name. First, rather than being stored on a server somewhere, the data is distributed across the devices of the folks who want to use it. And second, all the data is stored as a sequence or ledger of events. Distributed ledgers were invented as a way of reducing the concentration of power that comes from having everybody's data stored on the machines of one controlling entity. They give equal access to all participants. That improves transparency and hopefully creates a more fair distribution of power as well. And a lot of distributed ledgers are also permissionless. That means that anybody can become a participant and add data as long as they stick to the rules. And as a side benefit, distributed ledgers have no central point of failure, which means that they still keep on working even when one of the machines fails. Now, when you use a distributed ledger, you send copies of your data to others who are using it, and then there are shared rules that define what can and can't be written to the ledger. The big risk with that is that with nobody in charge, it's harder to make sure that everybody is following the rules. Transparency helps, but it's not enough by itself. Fancy cryptographic mathematics gets us a lot further by letting us audit the public data without needing to care where it came from. But there are still some problems left over. The biggest one is whose copy of the ledger is the right one? So let's take a look at some of the solutions. First up is blockchain. The Bitcoin blockchain was the world's first distributed ledger. Back in 2009, an unknown developer who called themselves Satoshi Nakamoto unveiled a peer-to-peer currency and payment network. That didn't need any central authorities and did away with the need for parties to even trust each other. A blockchain guarantees a single consistent source of truth, a global view of all the things that have ever happened in the system. In other words, there's only one ledger and it's shared by everybody. Now, this matters a lot for a digital currency. You want to make sure that Alice received that money before she sent it to you. You also want to make sure that the ledger doesn't change after you've acted on it. If you ship Alice a bicycle because she sent you money, you don't want her manipulating the ledger to make that payment disappear because now you have no bike and no money. So how does blockchain solve this problem? I could geek out on the details all day long, but it boils down to one thing. Every participant is playing a game that makes it more attractive to be honest than to cheat. Basically, there's a lottery every X number of seconds to choose who can write the next batch of records to the ledger. And the big thing to know here is that it works not because you trust an authority, but because you trust the rules of the game. So to recap, blockchain is a distributed ledger, and distributed ledgers eliminate dependence on a centralized trusted authority. And replace it with a trusted game. The outcome of all this is that everybody gets access to the public database and they can interact with it safely. And as I mentioned, many blockchains are permissionless, which means that anybody can start using them. And in industry settings, that also makes a nice common standard for both data and processes. Now, because the ledger is shared, it encourages transparency, and it also gets rid of information asymmetries What I mean by that word is that in a centralized system, one party owns all of the data and they get to choose how to use it. The Cambridge Analytica scandal a few years ago was only possible because one company, Facebook, had an information asymmetry over both its users and its customers. Some of blockchain's advantages are more practical. First, the flattened playing field removes the chain of intermediaries that usually exist in payments and logistics and certification. That speeds up processes. Processing and reduces costs, ideally. In the real world, there's still intermediaries and costs still tend to be somewhat high, and I'll get to that in a little bit. But lastly, because there are copies of the database all around the world, it's no big deal if one machine goes offline or gets attacked. There's plenty of others that can serve up your data to you. Now let's look at another solution. Holochain is a distributed ledger too, but it's about as different from blockchain as you can get. Rather than asking how can we get everybody to agree on the same global order of events, it just simply asks how do we give individuals the power to make sense of the information they're receiving so that they can move forward with confidence. The creators of Holochain wanted it to be capable of running the regular applications we use every day, not just transactional data like logistics and supply chain and payment. To them, it's more important to build trust among peers than to remove the need to— for trust altogether. So that different starting point led to the question, how do living systems take care of themselves, and how do they manage to spend so little energy doing it? And it turns out the answer is pretty simple. All healthy living systems, from ecosystems to immune systems to social groups, No matter what specific games are playing, they all share one big game with 3 simple rules. Number 1, everybody knows and consents to the rules of the game they're playing. Number 2, each participant takes responsibility for following the rules. And number 3, if anybody sees anybody else breaking the rules, they take their own action against them and then signal an alarm to others. And it works out pretty good. In Holochain's case, it's about as safe as blockchain, but with much better performance and for a fraction of the cost. Now let's get into why blockchain costs more and why that leads to intermediaries. We learned that the blockchain game incentivizes honesty by making it hurt if you're caught cheating. It does this by making you put some skin in the game. That means it costs a lot to play, which squeezes regular users out, and in most blockchains you get to collect processing fees to balance all those costs. But the Holochain game, on the other hand, is pretty lightweight. You're responsible for your own ledger, and you share your ledger entries with small random groups of your peers to be witnessed and stored. In turn, you get bits of other people's data, and if anybody detects anybody else cheating, say modifying their ledger, they stop talking to that person and broadcast a warning to everybody else. And that's it. It's so cheap that pretty much anybody can play. Okay, there we go. So what does this different design mean for users and developers? A lot of things, and they all flow out of Holochain's commitment to agency. First, it respects privacy. You own your data and you can even keep some of it private. Groups can also protect the privacy of their shared data. It tolerates failures. You have full access to your own data, even if you're offline, and you can still connect to others if they're on the same network. I get really excited about this because I've lost days of work thanks to broken modems and server outages. There were times when I was trying to communicate or send files to my colleagues in the next office, and I couldn't because I had to go to some server somewhere and get back to me. It eliminates infrastructure. The users create their own infrastructure just by installing the application. That's great for developers with a good idea and a small budget, as well as communities and businesses that don't have the money or the expertise to run their own servers. It outperforms blockchain. Blockchain forces everybody to process every single piece of data in sequential chunks. Holochain's orders of magnitude faster simply because lots of things can happen all at the same time. There are also zero data processing fees because the cost of playing the game is so low. It's nearly infinitely scalable with zero marginal scaling costs, which is good news for application creators. It's greener than first-generation blockchains, which waste electricity on purpose. Now here's where I think Holochain, even though it does the cloud, you can run a Holochain app on the devices that you already own without leaning on a faraway data center that can spend up to 50% of its energy on cooling costs. And finally, it adapts gracefully. Compared to blockchain, developers have a lot more knobs that they can tweak, and compared to cloud, users can access their apps and data however they like, and developers can really easily combine bits of other applications together into new ones. Holochain has an approach that kind of twists our idea of how applications should work. There's no single source of truth, and people get to show up however they like. But although this might be a bit scary for product creators, I think we need this sort of shift. As I mentioned, the individual's agency is a big deal in Holochain's design. You always get to choose how you want to participate, and you can create new groups and change the group's rules as you go if you're a programmer. You can even break the rules if you like, but that agency hits a limit, and that limit is other people's agency. This creates a sort of a mutual sovereignty, a tension between our good and the good of the group. We may have the power to cheat, but everyone else has the power to ignore us. Holochain works with this tension and turns it into a game that favors mutual support. Now with all this data and agency floating around, it's important to know who said what so we can make informed decisions. Information without context is incomplete, and all that a Holochain application ever does is allow agents to collect and share things that other agents saw or did, and it captures the context in which that piece of data was created, who created it and when they created it. This ends up preserving the richness of multiple perspectives, but it also gives enough details to help agents make sense of what they see. This might sound like abstract details that only programmers need to think about, or even inconveniences to design away, but I think that the most powerful applications will actually take advantage of Holochain's strangeness to reveal the richness of multiple perspectives in an environment of mutual freedom and accountability, and I think that's the kind of thing we need nowadays. And now I am done, and I'll hand it over to— Virginie Glaenzer.
More from Virginie

Unlocking Fintech Success: Strategic Trends for Profitable Growth: Webinar Leadership Series









