Holochain: an agent-centric framework for distributed apps


#1

Holochain is a framework for distributed apps that has an agent-centric approach. My initial impression of it after browsing its website, reading some of the white paper, some of the FAQs, and this blog post on mutual credit cryptocurrencies, is that it looks better than Ethereum, providing a simpler, more intuitive approach to solving the scalability problem without compromising the scalability-decentralization-throughput trilemma, unless you really need universal consensus / data as an absolute truth, rather than data as a shared perspective. This is also after having been involved with Ethereum since mid 2017, without compensation.

I made a post about Holochain previously, but it seems that it was deleted, so I’m taking a screenshot before and after posting.

Wayback Machine archive link (doesn’t work). Markdown of post: https://gist.github.com/jamesray1/a89595b65014576a73bbe2e54369cca2


#2

Yeah. The post was noise. This post is noise too, but less so than your previous post.


#4

I think it’s a very interesting framework, but I wish they were more up front about this exact point.

You can’t build incentives on subjectivity. This framework doesn’t solve the double-spend problem without the addition of centralized coordinator nodes, which makes it a terrible solution for coordinating things like decentralized identifiers and currencies. In their “decentralized Twitter” example, this means you can build 99% of what Twitter does on their framework… Except for handles! (I mean, you could do it, but you risk splitting the network in extreme cases due to subjectivity)

If they took that out, it would actually be a really interesting alternative as a “p2p application framework”, leveraging things like Ethereum only for consensus-critical items like DIDs and tokens, etc. They could get rid of the ugly bits like the coordinator boxes they’re selling and the token, and stick to the truly innovative design model they’ve created. It actually solves some privacy things too!

Unfortunately, that’s not how you raise money in blockchain, hence the token :man_shrugging:


TL;DR: not an “Ethereum killer”, more Ethereum-complementary


#5

Did you read about the mutual cryptocurrency design at https://medium.com/holochain/beyond-blockchain-simple-scalable-cryptocurrencies-1eb7aebac6ae? What did you think of it?


#6

Quote from the author:

We are not building a currency. We ARE building a platform for the decentralized evolution, deployment, and operation of many currencies and other distributed applications.

Where did HOT come from then?


The mutual credit concept is pretty fascinating, and that concept I believe may scale well for app-specific reputational currencies (something I didn’t think about before), as they already have problems with sybil attacks that I don’t believe this model solves in a satisfactory manner (other then “let the community decide”, which is fine for a reputational token).

Mutual credit doesn’t scale well. It relies on community trust models to work, which is a very difficult problem to solve without an anti-sybil mechanism. Holochain’s solution to this is to make central coordinator nodes available so as to corral the system and ensure that new HOT doesn’t get created out of thin air, which the author notes is a possibility. The system doesn’t work in an adversarial environment, which is fine for 99% of applications in the modern world, but I don’t believe a valuable currency is one of them. I would also tend to put other economically valuable items in this same bucket, such as a DNS names, centralized identifiers such as handles, stocks/bonds/etc.

I’ll make an effort to read through this again as it’s very dense, so I might be missing something. I like the fact that it was written before Holochain was a cryptocurrency on the market though, hopefully marketing didn’t affect the original text too much.


#7

I’d also like to note that it is important to discuss alternative frameworks in this research channel as it could give us good ideas to model changes to Ethereum. I don’t think this post is spammy as long as we discuss the true pros and cons of the frameworks, and figure out what are good ideas to incorporate and what are just alternatives that don’t add value to our particular design ideology (censorship-resistance, high security, adversarial env, etc.)


#8

I’m not sure if the hawaladars/coordinator nodes are more centralised than validators in Ethereum; I haven’t finish reading through docs like the Holochain white paper yet.


#9

Are you referring to the “notaries” mentioned in the article @jamesray1 cited? I would just point out that this article is nearly 3 years old now and the approach has evolved since then.

The way holo fuel is designed now, all participants in the network act as notaries. There is no centralized coordinator. For every transaction, a random set of validator devices is recruited to perform validation, randomness being based on the similarity of their public key hashes to the hash of the data being shared.

The framework itself does not specify how each app should address potential collisions in the DHT. App developers will need to decide that for themselves. In the twitter example you gave, if a collision is detected, say, if two users choose the same handle at the same time (i.e., before either user’s choice has fully propagated in the DHT), you could code it so the name goes up for auction to the highest bidder, or a message is sent to both users with a release code and they can discuss who wants it more and activate the release code for the other, or if you have a reputation currency, you could give it to the one with higher reputation, or take the median timestamp from the network validations (kind of like how Hashgraph works) and give it to the “first” person to choose the handle by that metric, or etc. etc. Part of the point is to NOT dictate a one-size-fits all consensus mechanism for every situation, but to allow it to be flexible. (I got these examples from listening to this interview with Arthur Brock)

Those boxes aren’t “coordinator” boxes. I think you’re (understandably) confusing Holochain and Holo, which are two different (but related) things.

Yeah, HOT is not Holochain’s “native” currency. Holochain itself is just a free, open-source framework for building distributed applications, which do not necessarily require any kind of currency to function. HOT was the fundraising token for Holo, the distributed web-hosting application built on Holochain, which will be redeemed 1:1 for the mutual credit currency, Holo fuel, when Holo launches.

Full disclosure, I’ve been volunteering in the Holo/Holochain community for about a year, and am new to this forum (just found this discussion trawling the web).


#10

You literally have to buy them from holochain, it’s not “trustless participation”


#11

This was my understanding from a few months ago when I met the creator in person.


#12

Are you still referring to the Holoports? They will be releasing the hosting app for anyone to download and run on any machine. You don’t need to buy anything from anyone, and again you are confusing Holochain with Holo. “Holochain” doesn’t sell anything.


#13

Weird distinction to make if they’re both the same people, but I guess if that’s true I have no issues with Holochain and only with Holo!

I still claim that Holochain and Ethereum solve fundamentally different problems (although the original crowdsale Ethereum’s promise of a “decentralized application platform” it makes more sense to compare them together)

I guess cryptocurrencies are just confusing and can’t make up their minds what they are! :rofl:


#14

I still claim that you can’t have a mutual credit currency without central coordinators to make sure double-spends don’t happen.


#15

Yes it’s certainly a common confusion, but the difference is that Holochain is the framework, and Holo is just one app. It’s sort of like the difference between blockchain and Ethereum, except if Vitalik et al. had also invented the concept of blockchain in the first place :slight_smile:

Is your primary concern with sybil protection? Also I’m wondering how you are understanding what “mutual credit” is. I want to make sure we’re on the same page on that, because otherwise we might get confused.

Holo will indeed be relying on third-party KYC identity verification for hosts (who can create currency up to a credit limit determined by a demonstrated history of hosting services, as part of the elastic currency supply in the mutual credit design). Otherwise I’m curious what other kind of problem you could see with the validation model? If someone tried to double-spend, they would fork their own hash chain, which would be detected by peers in the validation process. A time delay of at most a couple minutes would be needed to ensure any previous transactions have been fully propogated in the DHT.


#16

Basically. I am deeply interested in reputation systems, and mutual credit (at least from my introduction to it in that article) seems to rely on reputation to function correctly. Not a bad system, but it’s fragile at scale as most human societies and the internet prove pretty sufficiently. I will definitely learn more about it, but there’s a reason why no major economy runs on mutual credit systems… we don’t trust each other when money is involved! (mostly because we do bad things to each other when profit is at stake)


#17

I think you’ll enjoy the Holochain/Metacurrency rabbit hole. It’s quite a deep one!


#18

Welcome to ethresear.ch! I do intend to look more into Holochain but need to prioritize getting a job, which may include working on a startup idea to incentivize waste reduction along with a part-time job.