Originally designed as a decentralized network, the Web has undergone a significant centralization in recent years. In order to regain freedom and control over the digital aspects of our lives, we should understand how we arrived at this point and how we can get back on track…
John Pemberton aimed to cure morphine addicts when he started brewing the potion now known as Coca-Cola,
"people are addicted to morphine, i know how to fix it: cocaine!"
although i suspect there was a point of "people are addicted to cocaine, i know how to fix it: caffeine!"
this is important, the ability to make things without having to get people's permission. it's part of the reason i feel that IP needs an overhaul. you wanna make something there is so much legal shit to wade through, when did this character first appear, is the author still alive, can i depict them with the gloves or not, did someone in germany patent something like this already, it's walking on eggshells to make anything without running the risk of a lawsuit derailing everything or just rent seeking.
Clearly, it is undesirable to tackle these challenges through centralized solutions, for instance by appointing an authority for personal data, news, and advertising. This would create yet another single point of failure, which—even assuming the best of intentions—would always be more vulnerable to abuse.
i think this is basically the libertarian view of government. but it goes back all the way to the founding of the USA, the federalists vs anti-federalists. the issue of strong central government has always hinged on its susceptibility to corruption, that when power is concentrated it will attract people who seek power, and those who seek power are often those who can least be trusted to have it. those who seek power will also always seek MORE power and the power of the central government will grow in turn to grant more power to those who seek it.
and of course it also goes to the term "who watches the watchmen?" if you have a centralized authority to watch over another centralized authority, who watches THAT authority. i think the founders had the right of it with balance of power, pitting ambition against ambition. don't try and STOP ambition, the ambitious will always rise above it, and ambition is a good thing to have anyways, instead pit one part of the government against another part, the ambitious defense attorney vs the ambitious prosecutor, the ambitious judge vs the ambitious lawmaker, the ambitious senator vs the ambitious president. make sure their best interests are in line with ours. this has broken down of late due to a number of the same factors that have caused the internet to become more centralized.
The only component with centralized roots in the Web’s architectural design is the Domain Name System (DNS)
and that was one of the first things to fail, lawmakers seen it was centralized so they could use it to censor things they don't like (usually copyrighted material at the behest of the content industry) caused a pretty big stink, many people said it was a move that would lead to the balkanization of the internet, i think tim berners lee said it would break the net. and it kinda has. we still don't have a good replacement for DNS, but there are a lot of replacements in the works it's just a hard problem to fix.
While W3C standardization is administratively centralized, it incorporates feedback from a decentralized network of members through a consensus-driven process. A problem by the early 2000s was that Internet Explorer deviated from W3C recommendations at crucial points, forcing developers to follow either the actual standards or their incorrect implementation in the most popular browser.
Fortunately, pressure from Firefox and Safari during a second browser war eventually forced Microsoft onto a more standards-oriented course . Since 2010, no single browser has gained more than two thirds of global market share anymore, meaning that standards compatibility is now in the interest of browser vendors and Web developers alike.
pitting ambition against ambition, so long as no one browser wins we are fine, it's why it's good to have chrome and firefox and even IE..if they could get their shit together (microsoft does sit on the W3C and contribute to the standard, and some good standard technologies on the web were created by microsoft, but then the standard changes and IE doesn't, so we get a version of a good standard that operates a little different on IE to the aggravation of all)
As shown in the figure below this statement can be taken quite literally: even a seemingly trivial piece of data, such as simple like we gave a certain webpage or thing, can be stored in our own pod. While such a degree of decentralization might seem extreme, recall that even supposedly trivial likes can reveal much deeper personal information
i both love and hate this. it's great, but it's a recipe for link rot from hell. the early web suffered from link rot, modern web is a little less due to centralized cloud servers giving better reliability to web pages, and because all the web pages are being ran by large corporations, a small time web server on some person's PC is likely to cause link rot when linked to.
and when the like on the page is on someone else's pod...if you wanna know how many likes there are you have to go...find them. there could be millions or billions of likes...and you have to make a connection to each one and download the pertinent information. you wouldn't wanna do that, you might do it once or twice a day and then save the results, but you wouldn't do that every time someone requested the page.
what i love about it is though, the control. if reddit were set up in that way, for instance, this post would be in MY pod, i would control the data. i could edit it, but reddit couldn't edit it. someone could comment on my comment, and that comment would be in THEIR pod. reddit could still block the post, but the post still exists, i could take that comment to another site, skimmedIt.com, and it could have that same article posted there, and my comment could be linked there too and the replies would be included under my comment.
so, what might be a use case here?
let's say we are on /r/science some article was posted about a controversial topic that inevitably leads to a bunch of posts being curated, this leads to a bunch of "this post has been deleted" followed by a bunch of claims that the mods are being unreasonable, or being politically motivated, or whatever.
the people browsing just have 1 choice: to trust the moderators or not. all they see is a bunch of removed posts, maybe it was a bunch of people posting memes or insults or otherwise breaking the rules...most likely is, but how do you know?
so, now let's suppose reddit existed like it does today but used a solid method for it's comment section. now we can get the id for that article, and do a simple search for comments using that id, and we find ALL the comments, including the deleted ones, now we take the ones which are being shown, exclude them, and we have all the ones which were deleted.
now let's make an addon for our browser "show blocked comments" (or a change to reddit enhanced addon) which simply shows all the comments, including the ones the moderators chose to block. what's more you can comment on those deleted comments if you like.
now you have 2 choices: trust the moderators or verify the moderators choices.
and of course reddit can't be held responsible for the user comments here because reddit did their legal responsibility, in the case of any illegal comments, they blocked the comments, the user did an end run around reddit.
and if i want to delete my comment, i can (though how reddit would react to this, i'm not sure. if i delete my comment there is no reference for the replies to my comment, so i delete the whole chain i'd think...or i'd orphan the other comments anyways. they still exist but they have no parents.) and i can be somewhat sure that reddit isn't holding onto the comment (they COULD do that of course, i mean once you give someone something there is little to keep them from just holding onto it, but the idea is that it would be more trouble than it's worth to hold onto the comments than to just grab as needed)
People can pick a so-called WebID, which is a Web address that identifies them. This Web address leads to their public profile, and people can log on to any pod with their own WebID, instead of requiring a new login on every website or resorting to a centralized identity provider.
i love webID, but i have no fucking clue how to use it. i mean i had one made at one point by a site, and i can use that when logging into other sites built around it, but it doesn't work easily, it uses client side certificates, but you have to restart your browser to install the cert...i think a better way of installing certs, something at least as easy as installing an addon would be good...come on chrome...get on it...but making a webID on my own server i have no frikken clue how to do it.
once you have the id though, it's awesome, fuck using passwords (though maybe a 2 form authentication would still be better, since a cert can be stolen, especially if it's on a phone or a laptop)
One of the crucial aspects of Solid is that it provides a Read–Write platform
one technology that was developed and underpins solid is webDav, which i just absolutely adore! wish i could make webDav work with webID on IIS. don't even think i can make WebDav work with WebID on apache.
only downside is you have less control over WHAT gets uploaded. with a server side upload script you can check "is this an image?" "how big is this?" "is this a virus?" "is this a php script?" i haven't found any such controls on webDav (to get around the issue of someone uploading server side scripts i always put the webDav on a subdomain without any server side scripting allowed, it prevents cookiejacking too since if they upload a js file the js file is on a different domain and so, if the server is set up right, won't have access to the cookies of the other domains, but for cases where you want them to only upload a certain kind of file, like an image, all you can do is politely suggest it on the client side but can't force it on the server side...least that i know of)
> When storing data in our own pods, we need a mechanism to inform others when things have been created or modified—especially if these are comments on their data. This is enabled through Linked Data Notifications 
ooo i haven't heard of that one...linked data notifications...gonna wanna read on that later..
that could be the solution to the orphan problem above...
> A decentralized authoring application such as dokieli
another interesting platform, needs some work on cosmetics, annotations on annotations causes a huge pileup of annotation one on top of the other and makes it hard to read. another one of those things i'd like to try to implement but haven't quite worked out how.
> The spread of misinformation can be halted, because a free choice of applications allows us to influence our news feed—and all information in there can be traced back to its source.
that doesn't halt the spread of misinformation, in the end lies will still propagate, probably even more so as it makes moderation a bit more difficult (the ability to do an end run around the moderators as i outlined above means even if moderators try to remove misinformation it can still continue to spread)
> Freedom of course always comes at a cost: what constitutes a victory for personal rights and freedom of speech also facilitates the spread of illegal messages, since decentralized networks make it harder to control what information is exchanged.
illegal messages, like copyright infringing messages, or child pornography, or any number of types of messages people might want to share with one another that some other people might rather they didn't, so like that example i made above, someone could post a magnet link to some infringing content, reddit can block it but i can unblock it and view it if i chose. reddit could ban the user, but he could post it to skimmedIt and i could still chose to view it on reddit. it becomes harder for reddit to stop me from seeing things i want to see.
but aside from copyright infringement, there is spam, malware, scams, cp, and all sorts of other shit people DON'T want to see. in which case maybe you just chose to trust the moderators.
> Simply said, we can take our bike and ride anywhere—if only we stay on the right side of the road
i ride my bike on the left side of the road, because the cars come from the right side and i want to see them coming, rather than trust that the cars behind me see me riding.
> notably guaranteeing a similar user experience as centralized platforms in terms of usability and speed
speed is the big one, linked data covers data from a LOT of different sources, compared to searching just one database with a bunch of well optimized tables (i know, optimistic, but even a bunch of poorly optimized tables is still better than millions of flat files across millions of servers)
so, taking around reddit example from above, if an article had 20,000 comments, that's 20,000 pods, you have to go through every pod to get the comment, but more than that, you have to go through every user's pod to see if they made a comment, that's millions of pods to find the 20,000 comments (i know, many users will leave more than one comment, so it's not exactly 20,000, but you get the idea)
i haven't read the RFC for that linked data notification though, that MIGHT help. if i'm understanding from the tl;dr in the article, it would go something like this:
i leave a comment on reddit, it's posted to my pod, my pod tells reddit i posted a comment, reddit then makes note of the article id, and the url to my comment. now when the user clicks on the comments reddit checks that article id, then loads my comment from my url that i sent them and displays it on the page for the user.
that means it doesn't have to search all the users, but it DOES still have to go all 20,000 of those URLs to load the content. this is a huge bottleneck.
now if i'm reddit i don't wanna do that, comments would take too long to load. instead when i get the notification i'd download the content and put it in a database, then when the user clicks the comments i would load from the database.
but now i just have what i always had and what has been gained?
speed and scalability is the biggest thing, it's what has largely led to centralization to begin with, it's also why the ISPs today are pissing me off, rather than building faster and better networks they are trying to reduce how much customers use the network. faster and better networks allow for more innovations online, the more the ISPs squeeze users of the data the more users are going to want services that use less data, this pulls data inwards towards centralized services.
we should have gigabit everywhere, hell we should be pushing towards terabit.
i'm a big fan of solid and of decentralization in general, and federalization (the form of decentralization solid takes and the original internet took) in particular. i'm not as much of a fan of the radical decentralization that takes a kind of communistic approach, like ipfs or bitcoin, i don't hate them and i think there is a place, but i like the federalized form as it allows for more specialization and freedom.
The nature of everything that involves competition is centralization as an ultimate result. Call it enhanced Marxism, but that's what will happen. If two things compete one of them will outcompete and most likely it will be the thing that outcompeted more in the past.
The VC firm andreeson horowitz has invested and done a lot of research into ways to give the power back to the people. TCP/IP was the open protocol allowing Web 2.0 (google, Facebook etc) who built on top of Web 1.0. The reason the consumers lost their power is that these companies use propriety protocols which we can’t look into as readily.
The idea of blockchain doesn’t stop at bitcoin. The technology actually allows users to take back a lot of the power that google and Facebook has monopolized. The idea is just open source protocols where users only give up data when they choose to.
Here’s a presentation which explains without any technical jargon.
It’s a bitcoin presenter talking about bitcoin with a lot of jargon used incorrectly.
I watched the video to figure out how tcp/ip was used to allow Web 2.0 to be built on Web 1.0 (whatever that means, http is a tcp/ip protocol, how is the “web” not already using tcp/ip). I think you mean that modern web infrastructure was built using the same protocols of an “open” internet (http, smtp, whatever) but now relies on web services that live behind corporate datacenters like google and AWS. The protocols are largely open, it’s just that to run a business today you’re stuck using a small set of APIs run by giant corporations. I’m not convinced (or entirely sure) how blockchain is going to magically fix that.
Also I hate it when people use “crypto” to mean cryptocurrency. There are many more interesting things with a crypto- prefix.