The web is and always has been decentralized. But people only want to use centralized services. What does that say? Centralized services have benefits that can make them strictly superior when done <i>ethically</i>. We just need to come up with better ways of funding them that don’t involve building a massive survellaince apparatus.<p>What’s easier: building a new internet, or forcing companies like Facebook to be honest and transparent?
Most users are non-technical so the entire notion is gibberish to them<p>Otherwise, decentralization imposes performance penalties most deem unacceptable for common use. Furthermore, in the case of p2p, you can end up serving illegal content.
Actually, the web is decentralized. Many people mess around with the terms here. Just today I wrote a short post defining decentralized, distributed and federated in another thread [1].<p>While I am completely pro decentralization (I run my own Nextcloud, XMPP and E-Mail server), I am not very fond of all those 'distributed' ideas. Many of them rely on encryption which might be safe to use today, but encryption has this anoying property becoming unsafe in the future. So puting my data encrypted to some distributed network doesn't feel right for me.<p>The problem with the tech giants is that their products are so easy to start with that many consumers just use them because they don't see real alternatives. And quite frankly, often there are no equivalent alternatives, as the tech giants throw so much money at their products that very few other products have the same ease of use.<p>I am not sure about a solution to this dilemma, but I hope that some day we will have more high quality, easy to use, federated services.<p>[1] <a href="https://news.ycombinator.com/item?id=17695808" rel="nofollow">https://news.ycombinator.com/item?id=17695808</a>
It's already here. I'm not sure why Danielle Robinson merited a photo and a quote but there was no mention of Beaker Browser. Beaker uses Dat as its storage layer, which is similar to IPFS or Bittorrent, and then layers on data storage and sharing systems to enable services like Fritter, their Twitter clone. It's very easy to use -- just download Beaker, and you can be publishing web pages or using totally decentralized web applications.
I spoke at the conference this week, it was mind blowing to meet all these people. :)<p>The article seemed well done, the problem (from a information theory / network graph) though seemed weighted towards blockchain-like assumptions. This is fine, as more information needs to be seeded on this.<p>For those interested in the title's question:<p>Coordination might seem like the hard problem, but it is only hard because the majority of us in this community made it hard by using immutable data structures. If we use mutable data structures (you know my bias, but it is possible with <a href="https://github.com/amark/gun" rel="nofollow">https://github.com/amark/gun</a> , proof: Mitra at Internet Archive integrated it in 1 week, now decentralized IA runs on GUN), we get some other problems but they are less than O(log N) in complexity.<p>Here is why coordination on immutability is hard:<p>O(N^2)<p>Just sit and think about it.<p>Intuitively it makes sense:<p>If I have an index to make something fast, and if it is immutable.<p>When I "update" the index, I have to create a new index.<p>Now the old index can't find the new index.<p>Therefore, I need to index the index, etc.<p>Repeat.<p>Therefore, as long as the web never changes, a decentralized immutable web will eventually be fast, but it must be true that if while the decentralized web changes, it will be hard.<p>This is not true if you can do decentralized mutable data. Check out our work! I hope this comment added novel insight to your day. :) If it did, let me buy you coffee next time you are in town. Cheers!
Napster, Limeware, Bittorrent, Kodi, Bitcoin, were/are part of the 'decentralized web'. They were build by necessity to get around copyright, monetary restrictions, censorship etc.. and not necessary for convenience.<p>At the end of the day the average user just wants a convenient and reliable way to reach content and information. Centralization has been the best way to serve it, and I don't think it will change.
Most people use products, not protocols. We need a more product-oriented approach. Decentralization and federation aren't the first or second item on the list of things most people are looking for, unless we get to "exactly like X, but decentralized."<p>It's wrong that people don't understand or want to not depend on something like Facebook. At least where I am, a lot of people understand the issues. But there's nothing really like it, and life in my city is quite difficult without.<p>It's nothing that can't be fixed though! I think a project like Pixelfed (<a href="https://pixelfed.org/" rel="nofollow">https://pixelfed.org/</a>) is doing things right. We can get there.
In the old days, you were a member of an organisation such as a university or a corporation. You had a home directory on an NFS server and in your home dir was a folder called public_html that you put your homepage in. So your URL was www.university.ac.uk/~username and your email address was username@university.ac.uk<p>This caused problems whenever anyone moved so in the early days centralised services were seen as a solution such as Hotmail and Geocities. No one in 1995 realised how it would turn out into abusive monopolies...
I think a decentralized web is easier than what people think. In the early days of the web, users could host their creations somewhere in their ISP's hard disks.<p>The same model could work now, with a small difference: instead of storing only data, it may also host applications that manage those data, and collaborate with same/other applications of same/other users.<p>For example, a photo app could allow us to manage our photos at a specific host of our choice; the same photo app uses a sharing protocol so as that the photos are shared with other users of our choice.<p>The stored data are encrypted by our own keys and therefore not visible to third parties, we still get to share our stuff with our mates, it's decentralized because no central authority can lay claim on our data, it's protected because it is encrypted for us, but the infrastructure required for this to run is provided by a centralized entity.
The UI/UX usually sucks a lot.<p>Bitcoin wallets for example, suffer a lot because the average user doesn't have much of an idea that they need a strong password or what these random numbers mean other that they might behave like bank accounts.<p>The ideal decentralized UI/UX will work largely by copy paste, with human readable names (@me@mastodon.social, for example) and doesn't have too many buttons that need more than an icon or single word to explain them.<p>On top of that it also needs to look modern and neat while being fast and snappy on mobile devices without sucking up battery or limiting how the users can interact (ie, not possible to share photos directly with the app is a no-go)<p>These design limitations are solved more easily by centralized services as they can just throw money at it.
'Decentralising' means spreading around effective decision-making power. That power comes with consequences -- negatives ones, if ineptly used. And most users are quite inept, when it comes to running powerful general-purpose computers, especially internet-connected ones. I don't blame them: the internet is not a friendly environment. It's a jungle. People want to be able to safely communicate online without the responsibility of system administration. Many companies have stepped in to offer services with this trade-off. Thus centralisation has prevailed.<p>Urbit's conceptual path to decentralisation seems sound: build a new friendly network on top of the internet, and build a new friendly server OS on top of Unix.
It's not hard, but many in the space are working on the wrong things. We need a consensus mechanism with the integration capability of tendermint, with honey badger bft level performance. (eg: <a href="https://github.com/poanetwork/hbbft" rel="nofollow">https://github.com/poanetwork/hbbft</a>) That would be enough to build a fully distributed facebook clone and much more. It will happen, but on the timing of the engineers who know what to do to achieve it.
The problem here is decentralized network relies on peers to self-enforce their decent behavior.
End users don't know how to, and their vendors have no skin in the game - then we get IoT botnets.
ISPs won't bother with egress filtering - then we get massive DoS attacks.
Centralization is comfortable and in the end run, cheaper. I'd rather pay github (or depending on how much Microsoft fucks it up, a competitor in the future) a couple dollars per month than maintain my own git server.<p>Even for services where I have to run my own server, I rent a VPS at some hosting facility rather than maintaining my own hardware or even renting bare metal. It simply doesn't make sense to run my own.<p>And if I bothered to have a web presence, again, I'd host it somewhere. It simply doesn't make sense to maintain your own except as a hobby.<p>Moreover, all the blockchain stuff looks to me like a solution looking for a problem instead of something generally useful. Yes, it will make sense for decentralized payments if the exchange rates ever stabilize. No, adding blockchain to everything won't help.
Centralization is so useful that people will create it wherever it does not already exist.<p>One example is Github, a centralized service that makes it easier for teams to use a source control system that was originally designed to be decentralized and distributed. When it was purchased by Microsoft and people started looking elsewhere, they looked to competing centralized solutions like GitLab and Bitbucket.<p>Given that centralization is so useful, and people want it so much, it should not be resisted. We would be better off if the effort being put into decentralization was instead put into better centralized services that respect user privacy.