Hacker News new | ask | show | jobs
Principles of a Decentralized Web (nicola.io)
46 points by nicolagreco 3944 days ago
8 comments

Am I missing a fundamental part of the article? There is almost no content here.

This is less of a complaint about why this was upvoted as it is a question of why.

I agree, the article should probably expand on

- What "control" means specifically / what kinds of control a user should have

- What the difference is, in practice, between interoperability and portability

- What is the scope of the project?

The TCP/IP equivalent layer: https://ethereum.org

The WWW/browser equivalent layer: https://www.youtube.com/watch?v=IgNjs_WaFSc

Done. *at least as an awesome starting point. The easier it is for developers to build on the platform and the more network benefits/incentives that arise, the more high utility Dapps will be deployed, the more likely Chrome/Firefox/IE will integrate seamless DNS/pointers to the Ethereum platform. The web will become decentralized by default and the average user won't even notice.

And I mean "platform" in the sense here of a distributed blockchain or lower-stack layer, not some corporate-owned data silo built on proprietary API endpoints and protocols.

I'm excited by Ethereum. It definitely is interesting to think about distributed computation like that. However, doing it on a blockchain, along with data storage might prove to be prohibitively expensive for various types of apps. UBS is looking at Ethereum to do a bond market. I imagine that's an appropriate use of the technology.

But with apps I personally want to make, I'm more interested in MaidSafe Network. It's basically a distributed data storage network, fast enough that it's good for communication/message passing in apps.

MaidSafe got me interested in making apps for it that are pure client-side JS, with the intention of them being served from the distributed storage. While I dislike running JS in the browser, I will support it when it means there's no server. For now, my intention is to write apps using the Elm language.

Other interesting work continues to be done in Tahoe-LAFS, I2P, and Freenet. There's also IPFS. I'm looking forward to the future of this tech!

Thanks a lot for sharing your point, I am a strong supporter of ethereum too.
Does the web here mean a network of hyperlinked documents, does it mean HTTP, or does it mean "browser stuff"?

Personally, I think we should retire the idea of The Decentralized Web. It doesn't help clear thinking. BitTorrent is one of the most successful decentralization stories out there right now, but it's 0% part of "The Decentralized Web".

I think most people on HN think of the web as ports 80/443, and bittorrent doesn't operate on those ports. The internet is the superset, the web is the subset.
I totally agree -- and not just on HN -- everywhere. Now let's update that title:

" The Principles of a Decentralized Port 80/443 Ecosystem "

Personally, I don't think it survives the update well:(

I look forward to see what will happen with bittorrent.
I think all three of these principles are important but miss an obvious one that should come first. A decentralized web should have decentralization as its central principle.

If we're talking about our ideal pie-in-the-sky protocol (where people have total control over their data) then let's dream big. Web hosting should be completely decentralized. DDOS attacks should become infeasible because there are no dedicated servers to target and web services should already scale directly in proportion to usage. Entities should receive incentives for participating in the protocol, but have no feasible way of negatively affecting others no matter how much relative computing power they control in the network.

It's very interesting what you said.

I only discussed what matters to the user (control, interoperability and portability) - extending the list with technical perspective will then come soon.

This. Decentralization needs to be the foremost feature of a decentralized system. No single points of failure. Scaling up and down with demand. Resilience and choice for everybody.

Money has been decentralized.

Social networking hasn't, yet.

Security hasn't, not really. Have you installed the latest SquirrelMail patches yet? You probably use GMail so you don't have to worry about it.

You should look into diaspora, an open-source decentralized social network. IMO diaspora has formidable foundation and interesting content. Highly recommend. However, as Eben Moglin said, the next facebook should never happen.
The next facebook should be a decentralized, open source platform. Like Wordpress was the "next LiveJournal".
I don't think control of data, user or otherwise, is an inherent part of decentralisation. If fact it may be the opposite.

So as a principle for a Decentralised Web its a contradiction. Maybe it works as a part of a more broad set of principles (eg. a Healthy Web).

Can you expound? Why is user control if data the opposite? To me this seems in keeping with the basic principles of decentralization of power, that I should have autonomy over my own domain.
In a truely decentralized system it would be hard to control the flow of data. It's simply not inherent in decentralisation.

Just because data isn't centralized doesn't mean users will have the control.

An important feature of the decentralized web is that one Harvard/MIT person doesn't get to design it.
I'm not sure what your objection is. Why shouldn't one Harvard/MIT person design it? I mean, somebody has to.
Web centralization is a structural and economic problem that is not going to be solved by the tech elite. We don't need new protocols; the ones we have worked fine back when the web was decentralized.
Our idea with Portal (https://portalplatform.net/) is to make it possible for regular people to run the exact same kind of Linux servers that many of us on HN run.

We're using stock Ubuntu cloud images w/CloudInit so everything that runs on Portal will run anywhere Linux VMs run. Once there are some standards for importing/exporting data we're going to make that a one-click operation. Users can already download all of their data and completely wipe all remote copies.

The original promise of the internet was that we would all control our own domain names. Instead we ended up @gmail.com facebook.com, and twitter.com. We can fix this for less than $10/user/mo now.

If the web is to be decentralized in the same way that the internet is decentralized, it will be much better if it's never "designed" at all. If your app wants to talk to my host, cool. If it doesn't, that's cool too.
But you still need a protocol for the app and the host to talk to each other - and that needs designing.

And you need a way for the app to find the host; that needs to be designed too.

Namecoin & TOR?
So you agree in a thread which started from "one Harvard/MIT person doesn't get to design it" by listing two technologies:

- one coming from bitcoin which was supposedly mostly designed by one anonymous person

- one designed in US government sponsored project for use by intelligence agencies and later improved by DARPA

What's the point you're trying to make?

Somewhat relevant, the Open Mustard Seed project;

  The Open Mustard Seed (OMS) project is an open-source framework
   for developing and deploying web apps in a secure, 
  user-centric personal cloud. The framework provides a 
  stack of core technologies that work together to provide 
  a high level of security and ease of use when sharing and 
  collecting personal and environmental data, controlling 
  web-enabled devices, and engaging with others to 
  aggregate information and view the results of applied 
  computation via protected services.
https://docs.openmustardseed.org/

https://github.com/IDCubed/oms-docs

http://p2pfoundation.net/Open_Mustard_Seed

HTTP, SMTP, and XMPP are already functionally decentralized. We still need decentralized protocols for web search, tweeting, social networking, VoIP, and a bunch of other things.

In a world where every person runs their own cloud server, all we really need to do is install the same apps as each other. Apps can just invent their own (open) protocols and other developers can make apps that interoperate. Standards can emerge naturally over time.