Internet Computer

I imagine it would be quite fascinating and entertaining to have knowledgeable Holochain staff tell us about their understanding of the Internet Computer project from DFINITY Foundation.

I’ve got to know about the project looking at HOT standings this morning. Looks like they managed to get their new token climb directly to coinmarketcap’s top ten literally overnight.

Anyway, cutting through “hype” stuff, I gather their so-called decentralized network is actually sitting on top of actual data centers worldwide:

At launch, the Internet Computer is supported by 48 independent data centers throughout the world, which between them run 1,300 nodes. It aims to expand to 123 data centers and 4,300 nodes by the end of the year, and many more after that.

I read independent data centers, as in data centers for hire not actually directly owned by big players. Big deal. Wild guess: maybe they could play some role into Holo’s plan to proxy out from Holochain…

1 Like

That would be a great if we learn how Holochain staff think about Internet Computer.

I’ve read an explanation of Dfinity from here: https://messari.io/article/an-introduction-to-dfinity-and-the-internet-computer?utm_source=newsletter&utm_medium=top&utm_campaign=dfinity-ic-primer

In the article, I noticed that their price for hosting will be more expensive than AWS:

Therefore, even though canister memory on the IC might be relatively expensive at $5 per GB per annum, the framework ensures the efficient application of that memory. This is relatively cheap if we compare it to other blockchains.

I really wonder what will be the hosting prices on Holo but it’s up to the people who provide hosting services since they will set the price.

1 Like

After everything I’ve read and watched about Holo and the Holochain, it should be much less. But then, I don’t know either. Another thing to consider: price for storage vs bandwidth usage, if any rate for that. Bandwidth should only be a matter of isp2isp, as in p2p, right? But what will happen if/when an app becomes hugely popular and pump too much? Yeah, you just get more hosts serving your app, but these are many potential bottlenecks to think about prior to launch.

The way I see it, there should be an insurance policy in place, a way for Holochain to manage a CDN/Cloudflare like service for all and by all, something like a percentage of each hosting resource to be commonly allocated, just in case. Then, I’m sure they already had that in mind.

Hey folks. I’ve been meaning to chime in for a while now, but I’ve been up to my ears in alligators (still am, but whatever :slight_smile: ) I think DFINITY is a really interesting project. IMO they get a lot of things right (which might be my biased way of saying there’s a lot of similarities to Holo hosting :wink: ) I don’t know enough about how DFINITY works yet, but from what I see, they start from some really good first principles.

I think DFINITY will appeal to people who are used to the traditional cloud but want to enjoy easy elastic scaling, avoid vendor (and platform) lock-in, centralised failure points, hardening their system, etc. Their design (in particular their Motoko programming language) makes it easy to reason about program state without having to think about programming for distributed systems.

Ease of deployment, scaling, security, and management are worth paying extra for. Amazon knows this too – people pay big money for their managed services.

Not having actually programmed an app for DFINITY, I don’t know what it’s like. But I suspect that it’ll force us to up our game in terms of developer friendliness. I don’t see it as a very big engineering challenge to match their core developer-friendliness selling point, orthogonal persistence (tl;dr: no messing around with databases; just write values to memory variables and the system takes care of storage). I also have misgivings about orthogonal persistence – it’s a pretty heavy abstraction, and you need to have a good idea what you’re doing in order to avoid memory bloat.

Lest you think I’m a DFINITY fanboi, there are still things that make me love Holochain more:

  • With DFINITY, your app always lives on the cloud. There’s no off-ramp to self-hosted apps, like there is with Holo → Holochain. This is something I’m really passionate about, both from a usability perspective (self-hosted apps means you never have to suffer through an ISP or cloud outage) and from a philosophical perspective (your data is yours). Oh, and an ecological perspective (why not take full advantage of the supercomputer on your desk or in your pocket rather than leaning on a datacentre-hosted cloud – even a distributed one). And the fact that every self-hosted user means less cloud costs for the app dev is pretty nice too.
  • Holochain’s agent-centric paradigm means that it feels natural to write user-oriented apps (which are most of them these days). And, just as with DFINITY, you don’t have to mess about with securing password databases and guarding against all sorts of attacks like you did with cloud development.
  • There’s something I like about the cloud of the future running on cheap spare machinery in people’s basements rather than state-of-the-art machines in a datacentre somewhere. Someday I plan to heat my greenhouse with HoloPorts in the winter :wink:
  • Holochain is privacy-first, with the option to store private stuff on your own device (two caveats: as long as the app dev isn’t evil, and as long as it isn’t Holo-hosted). DFINITY does let you keep user data private, but it costs more. (Some day I’d like to see that offered as a Holo hosting add-on though.)
  • FWIU with a DFINITY app, the state (user data) is replicated across all instances of the app. So you’ve got horizontal scaling in terms of being able to serve user requests, but that full replication is pretty space-inefficient. With Holochain’s sharded DHT, the data storage burden is spread out thinly across a lot of users. You sacrifice absolutely no write performance this way (because each user can write data to their own instance as fast as they like), although you do sacrifice read performance. IMO that’s a small price to pay for the ecological/cost savings.
6 Likes

Thanks for this detailed answer. It provided me an initial view on Dfinity.

I have two questions.

  1. Is having only dozens of servers a threat for decentralization? I’ve read somewhere that they have only 48 servers (even if they are huge).
  2. Voting mechanism seems malicious. The participants of NNS have vote right as much as they have ICP. They sold most of the ICPs to the big companies. So the companies, not ordinary participants, have an enough power to drive the decisions.
2 Likes

I have tried developing on IC as well as on Holochain. And yes, in terms of developer friendliness, Holochain needs to up its game to keep up with the competition. :wink:

But, I don’t think "keeping up with the competition"should be the intention. Rather than competing head to head with regular blockchain, IC or regular centralised solutions (AWS etc), Holochain should continue to signal how it is different. Holochain does not solve the old problems (hosting for instance) in new ways - but enables a whole new range of problems to be solved.

Dfinity/IC is building a super complicated machine. A distributed and decentralised machine yes (to be), but still a machine that requires global coordination. That always mean a large degree of centralisation and single points o failure.

What happens to a global blockchain when future conflicts around internet traffic means many countries are mostly cut off from the rest of the net?

Complex machines are fragile, always.

Holochain is another beast completely. Agent centricity and p2p builds true resilience that regular blockchains never can achieve,

Here is a demo app I built for the IC:

Just as this app uses your eth key to sign in to IC, I’d like to see crossover Holochain apps. Perhaps not IC/Holochain apps but definitely ETH/Holochain apps.

6 Likes

Posting because I just wanted to see this repeated.

3 Likes

We want the same Holochain/smart-contract connector for our future app.

Yeah, a similar setup could be achieved with Holochain and Holo. The neat thing with IC was that I was able to use the cryptography functions in Metamask / ETH to generate new user accounts for IC. Not sure if Holo will support that.

It does not support anything smart contract related. The connector can be made from Holochain to another blockchain’s smart contract, but not reverse, from a smartcontract connect to Holochain, I right? Because I’m not so advised in it.