Hacker News new | ask | show | jobs
by qaute 2884 days ago
The IPFS [1] is close to this. Websites (and all other resources) are P2P hosted with a distributed hash table. For example, there's an reasonably uncensorable Wikipedia mirror [2].

I don't know what the state of web apps on IPFS is, but believe some people are working toward a pubsub-based system.

[1] https://ipfs.io/ [2] https://ipfs.io/blog/24-uncensorable-wikipedia/

1 comments

Decentralized web apps already exist, built with our tool ( https://github.com/amark/gun ). For instance:

- Decentralized Reddit ( https://notabug.io/ ) can push terabytes of daily P2P traffic.

- Decentralized YouTube ( https://d.tube/ ) gets millions of uniques every month, built with IPFS/Steem/GUN (upcoming release will have end-to-end encrypted private messaging).

There are plenty of other dApps being built. This isn't an Ethereum pipedream, you can build them today! We'll even be releasing an IPFS storage adapter for GUN coming up soon, too!

How is GUN related to dApps? The server seems like a regular daemon running on a regular machine.
The apps built with GUN are decentralized (thus "dApp", the browser can even store/serve data), however browsers still suck with WebRTC, so there are fallbacks to WebSocket and stuff, but the dApps do not require/depend upon a daemon/central host.

Hey, your Odoo apps look pretty neat. I'd love to learn more about how you've managed to make a business on top of OSS, wanna chat? Check my profile for my email. :)

Sorry if I'm misunderstanding, but aren't these only partially decentralized?

While GUN seems to be a p2p system, both those applications are single points of failure due to each being hosted on a single domain. Are there additional ways to access the same content?

Both those apps have multiple other peers running it, they're also open source so you can run one, AND the browsers also contribute storing/serving data!

What we'd like to see next: Browsers natively supporting more P2P tooling. WebRTC still kinda sucks. :/

What I'm keen for is a decentralized google docs clone, supporting collaboration and syncing.

Of course, I'd like the ability to have my notes be private as well.

Is there anything like that on the horizon?

Yes, we did a whole interactive explainer article on this:

http://gun.js.org/explainers/school/class.html (cartoon version)

Although, from a algorithm side, you may enjoy a talk by Martin (a CRDT researcher) for a more thorough technical overview:

https://youtu.be/yCcWpzY8dIA?t=29m36s

Our team has a model for applying end-to-end encryption to this as well. It isn't a high priority for us to do it ourselves though, so if you are interested in getting involved, we can help explain all the algorithms for implementation!

I've seen that class.html explainer.

It's a great tutorial but it's a long way from that high-level explanation of how it should work to a functional, working google docs clone!

I know you've already done a huge amount of work but enduser acceptance is what separates what you're doing from all the previous academic protocols out there. Nobody is going to switch from google docs to gundb if they are expected to write all the code themselves. OK, a small percentage, but not many.

Has anyone made anything similar that an enduser can just install and use? Even just a collaborative plain text editor would be a great start.

I would be interested in helping but my javascript skills are rudimentary at best.

I've been interested in dat/hypercore lately. Is there any way that gundb could piggyback on hypercore for storage, or in your opinion would the fact that it's an append-only log be too limiting for gundb?