The "decentralized web" comprises much, much more than a project backed by a cryptocurrency--Ethereum, in this case. The decentralized web includes ZeroNet, .dat sites (directly accessible from the Beaker Browser), and many more. I don't like how they seem to want to conflate the term unilaterally with their own project.
The decentralized web isn't using non-web projects or web abstraction layers. The decentralized web is everyone hosting their own webserver from home. It's easy, everyone has a fast enough connection, and without the motives and requirements of a business it's safe.
Opera, back in it's old age before dying and becoming a Chinese owned Chrome skin approached this. It allowed anyone to easily and simply host their own content by running a webserver in the browser. Opera handled the human-compatible naming/look-up side but realistically even IP addresses that change are fine.
> The decentralized web isn't using non-web projects or web abstraction layers. The decentralized web is everyone hosting their own webserver from home. It's easy, everyone has a fast enough connection, and without the motives and requirements of a business it's safe.
This attitude is IMO exactly why the decentralized web movement outside of the blockchain/crypto space has not come further than it has in the last two decades. I run my own website out of a VPS and even that is nontrivial: occasional outages due to SSL certificates expiring, the VPS getting shut down because my credit card expires so the auto-payments stop working, troubles with the server software itself, etc etc. Meanwhile, if you just dump stuff onto one of these decentralized layers or even just a blockchain, you publish once, it's easy and it's there forever.
I truly believe that for "fully decentralized" to be viable, it must mean "serverless" (as in no servers, meaning no single computers whose IP addresses or DNS names or equivalents are explicitly referenced in a line of client-side code, not meaning that AWS lambda stuff). That does mean you're making significant efficiency tradeoffs for the foreseeable future; for some types of applications it's worth it and for others it's not.
One problem is that many ISP's use NAT, meaning that other computers can't connect to your computer! Unless your computer initiated the connection.
Most ISP's will give you a public IP if you ask though.
This is probably for the good though, as most software don't take security seriously, example listening on a public port by default, with the default password.
>The decentralized web is everyone hosting their own webserver from home. It's easy, everyone has a fast enough connection,
I don't think it's that "easy" regardless of whether you're talking about cable-modem/router port-forwarding, or new IPv6 addresses, or even turnkey web host appliances.
In any case, I'll copy&paste one of my previous comments on NAT or ease-of-use not being the real barrier people think it is:
>Even if this thread's article's vision of IPv6 improving direct connectivity were to happen, I still claim the overwhelming majority of programmers would continue to choose something like Github rather than host their repositories on personal home servers. Personally, I wouldn't want my repo to be traced back to my home's ip address. I don't want China DDOS'ing my home ISP connection if they don't like my iPhone app that monitors Hong Kong. If I was a female, I wouldn't want my home git repo to give away my ip address and invite digital stalkers. I'd use Github just for the ability to shield my home's IPv6 address for privacy and safety.
>If the programmers -- which we can think of as technical thought leaders -- aren't leading by example (with git) for decentralization, why would we realistically expect other mainstream consumers to adopt decentralized setups? Yes, there will always be decentralized communities but it will always remain niche.
Only if by 'everyone' you mean 'not everyone.' Broadband is far from universal.
> The decentralized web is everyone hosting their own webserver from home.
Only of by 'decentralized' you mean 'centralized.' The point of decentralization is that there isn't one and only one place (a 'center') at which you can find a given resource.
Running a server from one's own home violates the terms of service of many ISPs. Even if you are not a business, ISPs expect you to pay more for their business plan if you want to run a server.
running a server at home is still centralised though - you have one central server, one point of failure. Power cut at home? ISP disconnects you? DDoS? Front page on HN and your ADSL cant handle the load? Government censorsip or other tin-hatery? Your centralised server is down and people can't see your stuff.
The point of decentralised stuff is there is no centralised server, but rather the content is decentralised and thus available when things inevitably go offline. So if your home server goes offline for whatever reason then no biggie - some other node on the network serves your stuff instead.
Most ISPs use NAT now. No home user is directly connected to the internet. Probably a good thing since consumer routers aren't exactly known for being secure.
At least in Brave it doesn't seem like a "proper" decentralized implementation as it simply redirects to gateway.ipfs.io which is gateways run by the IPFS organization/Protocol Labs.
So while it works, the browser is neither natively resolving the content nor help sharing it further.
The demonstration from the video/GIF says "Support for ENS+IPFS in Firefox via the MetaMask extension" but it's also clearly using the public gateways instead of fetching the content via IPFS in the browser. Seems weird that they are using that as an example. They could have used the IPFS Companion extension and at least it would have seemed to work in the demonstration.
So while it seems to be getting there (at least the domain resolve seems to work via _something_), the implementation of IPFS in both Brave and MetaMask doesn't go the full way and enable off-internet content fetching or offline caching as a better integration would get.
> A decentralized website makes both parts censorship-resistant: it uses IPFS (a distributed file storage network) for storage
This is a bit over-prescriptive: there are other distributed file storage networks out there. For example, Sia's Skynet. (Disclaimer: I maintain a Skynet portal)
Also... it's not censorship-resistant. IPFS doesn't provide secrecy. The content can be censored by anyone offering you connection when they query your node if it stores specific information.
The way to analyze whether something is centralized is to look at its namespace. Federation is not decentralization. You're not a first class speaker if your name can simply be taken away.
What does Ethereum have to do with surfing a decentralized Web? Or like what is it bringing to the party? I would imagine most of this is just IPFS, right? Aren't there other like non cryptocurrency based distributed dns systems? I'm just confused how cryptocurrency popped up, or what am I just totally fucking missing?
You can't have decentralized DNS without some form of shared state, where the shared state must resolve the problem of "if I use key X to change the owner to Y, but then later on someone hacks my key and sends a message to change the owner to Z, how does the world know that Y came first?". This is equivalent to the double spending problem, and so a solution to this problem implies blockchains or some other architecture that can support a cryptocurrency.
A lot of the other responses here are too complicated and specific. Here's my attempt to put it into easier-to-digest terms:
In a traditional web stack you have a backend and a frontend. The frontend is the stuff the browser runs, and, simplifying a bit, the backend is everything else.
Ethereum smart contracts basically let you replace your backend logic and database with code that runs on the Ethereum blockchain network. Depending on your application can decide to run only a few parts of your backend on Ethereum, or the entire backend.
It's very slow when compared to traditional backends like nodejs, etc, but it has the benefits of censorship resistance and excellent availability. Better still, you don't need to run or maintain servers to support it if you don't want to (although there are benefits to doing so).
In this case, they're using Ethereum's replacement for DNS, ENS.
Interesting. It crashed my phone’s web browser (not firefox) on first load, then worked fine after that. I suspect it has something to do with the animated screen shot thing.
Shameless plug, for people who want to learn how to build decentralized applications on ethereum / solidity smart contracts, I have hundreds of tutorials on my youtube channel EatTheBlocks: https://m.youtube.com/channel/UCZM8XQjNOyG2ElPpEUtNasA
I'm from Almonit, one of the organizations mentioned in the article. We create a decentralized search engine for Dwebsites, almonit.eth . It also got a (almost) complete list of existing Dwebsites.
The extension let you either setup your own IPFS/Ethereum nodes, or use existing gateways.
To try to be as decentralized as possible, the extension chooses (by default) a different random gateway in each new session (like, every time to open the browser). We call it "decentralization by randomization". You can also edit the gateway list if you don't like the ones we began with.
This site can’t be reached
almonit.eth’s server IP address could not be found.
Try:
Checking the connection
Checking the proxy, firewall, and DNS configuration
ERR_NAME_NOT_RESOLVED
Everyone always seems so handwavey when they talk about "decentralized" web. It seems more like a string of buzzwords than an actual technical definition.
What are the actual properties of the "decentralized web" that make it "decentralized"?
[+] [-] Funes-|5 years ago|reply
[+] [-] dang|5 years ago|reply
[+] [-] rapnie|5 years ago|reply
[+] [-] ashleysmithgpu|5 years ago|reply
[+] [-] superkuh|5 years ago|reply
Opera, back in it's old age before dying and becoming a Chinese owned Chrome skin approached this. It allowed anyone to easily and simply host their own content by running a webserver in the browser. Opera handled the human-compatible naming/look-up side but realistically even IP addresses that change are fine.
[+] [-] vbuterin|5 years ago|reply
This attitude is IMO exactly why the decentralized web movement outside of the blockchain/crypto space has not come further than it has in the last two decades. I run my own website out of a VPS and even that is nontrivial: occasional outages due to SSL certificates expiring, the VPS getting shut down because my credit card expires so the auto-payments stop working, troubles with the server software itself, etc etc. Meanwhile, if you just dump stuff onto one of these decentralized layers or even just a blockchain, you publish once, it's easy and it's there forever.
I truly believe that for "fully decentralized" to be viable, it must mean "serverless" (as in no servers, meaning no single computers whose IP addresses or DNS names or equivalents are explicitly referenced in a line of client-side code, not meaning that AWS lambda stuff). That does mean you're making significant efficiency tradeoffs for the foreseeable future; for some types of applications it's worth it and for others it's not.
[+] [-] z3t4|5 years ago|reply
This is probably for the good though, as most software don't take security seriously, example listening on a public port by default, with the default password.
[+] [-] jasode|5 years ago|reply
I don't think it's that "easy" regardless of whether you're talking about cable-modem/router port-forwarding, or new IPv6 addresses, or even turnkey web host appliances.
In any case, I'll copy&paste one of my previous comments on NAT or ease-of-use not being the real barrier people think it is:
>Even if this thread's article's vision of IPv6 improving direct connectivity were to happen, I still claim the overwhelming majority of programmers would continue to choose something like Github rather than host their repositories on personal home servers. Personally, I wouldn't want my repo to be traced back to my home's ip address. I don't want China DDOS'ing my home ISP connection if they don't like my iPhone app that monitors Hong Kong. If I was a female, I wouldn't want my home git repo to give away my ip address and invite digital stalkers. I'd use Github just for the ability to shield my home's IPv6 address for privacy and safety.
>If the programmers -- which we can think of as technical thought leaders -- aren't leading by example (with git) for decentralization, why would we realistically expect other mainstream consumers to adopt decentralized setups? Yes, there will always be decentralized communities but it will always remain niche.
[+] [-] nulbyte|5 years ago|reply
Only if by 'everyone' you mean 'not everyone.' Broadband is far from universal.
> The decentralized web is everyone hosting their own webserver from home.
Only of by 'decentralized' you mean 'centralized.' The point of decentralization is that there isn't one and only one place (a 'center') at which you can find a given resource.
[+] [-] Mediterraneo10|5 years ago|reply
[+] [-] mattlondon|5 years ago|reply
The point of decentralised stuff is there is no centralised server, but rather the content is decentralised and thus available when things inevitably go offline. So if your home server goes offline for whatever reason then no biggie - some other node on the network serves your stuff instead.
[+] [-] glenstein|5 years ago|reply
I thought that Opera Unite was magical, and bewilderingly, it was pretty simple. It is my hope that Vivaldi attempts to bring it back.
[+] [-] StavrosK|5 years ago|reply
[+] [-] matheusmoreira|5 years ago|reply
[+] [-] diggan|5 years ago|reply
So while it works, the browser is neither natively resolving the content nor help sharing it further.
The demonstration from the video/GIF says "Support for ENS+IPFS in Firefox via the MetaMask extension" but it's also clearly using the public gateways instead of fetching the content via IPFS in the browser. Seems weird that they are using that as an example. They could have used the IPFS Companion extension and at least it would have seemed to work in the demonstration.
So while it seems to be getting there (at least the domain resolve seems to work via _something_), the implementation of IPFS in both Brave and MetaMask doesn't go the full way and enable off-internet content fetching or offline caching as a better integration would get.
[+] [-] momack2|5 years ago|reply
Still room to improve - Opera's default support is much easier from a UX perspective - but it's all part of the upgrade path!
[+] [-] k__|5 years ago|reply
Shouldn't this enable running a local gatway?
[+] [-] unknown|5 years ago|reply
[deleted]
[+] [-] spurdoman77|5 years ago|reply
[deleted]
[+] [-] __ka|5 years ago|reply
Disclosure: I work at Cliqz.
[+] [-] ericflo|5 years ago|reply
This is a bit over-prescriptive: there are other distributed file storage networks out there. For example, Sia's Skynet. (Disclaimer: I maintain a Skynet portal)
[+] [-] viraptor|5 years ago|reply
[+] [-] yepthatsreality|5 years ago|reply
Arguably the web is already decentralized but the economic incentive is filled by large corporations and abused via logging analytics.
[+] [-] unknown|5 years ago|reply
[deleted]
[+] [-] mindslight|5 years ago|reply
[+] [-] rubyn00bie|5 years ago|reply
[+] [-] damon_c|5 years ago|reply
This is done through Ethereum smart contracts.
Here's some documentation on all this: https://docs.ens.domains/contract-api-reference/publicresolv...
[+] [-] vbuterin|5 years ago|reply
[+] [-] benjamincburns|5 years ago|reply
In a traditional web stack you have a backend and a frontend. The frontend is the stuff the browser runs, and, simplifying a bit, the backend is everything else.
Ethereum smart contracts basically let you replace your backend logic and database with code that runs on the Ethereum blockchain network. Depending on your application can decide to run only a few parts of your backend on Ethereum, or the entire backend.
It's very slow when compared to traditional backends like nodejs, etc, but it has the benefits of censorship resistance and excellent availability. Better still, you don't need to run or maintain servers to support it if you don't want to (although there are benefits to doing so).
In this case, they're using Ethereum's replacement for DNS, ENS.
[+] [-] tingletech|5 years ago|reply
[edit: not that you have to use the crypto stuff with IPFS, but the same folks creating it also have had some sort of crypto currency use case]
[+] [-] tambourine_man|5 years ago|reply
I really hope there’s a decentralized future for the internet and the web.
[+] [-] mirimir|5 years ago|reply
WTF does a site need with over 2GB RAM?
Edit: I mean, I can run Debian with a basic GUI desktop in less than 1GB RAM.
[+] [-] hedora|5 years ago|reply
[+] [-] jklepatch|5 years ago|reply
[+] [-] stri8ed|5 years ago|reply
[+] [-] momack2|5 years ago|reply
[+] [-] neiman|5 years ago|reply
We also got browser extensions for accessing Dwebsites: https://twitter.com/GoAlmonit/status/1179633247745171456
The extension let you either setup your own IPFS/Ethereum nodes, or use existing gateways.
To try to be as decentralized as possible, the extension chooses (by default) a different random gateway in each new session (like, every time to open the browser). We call it "decentralization by randomization". You can also edit the gateway list if you don't like the ones we began with.
[E: typos]
[+] [-] mattkrause|5 years ago|reply
[+] [-] quickthrower2|5 years ago|reply
[+] [-] rv-de|5 years ago|reply
[+] [-] bawolff|5 years ago|reply
What are the actual properties of the "decentralized web" that make it "decentralized"?
[+] [-] apatters|5 years ago|reply
[+] [-] lioeters|5 years ago|reply
"Beaker is an experimental browser for exploring and building the peer-to-peer Web."
[+] [-] _mdt_|5 years ago|reply
[deleted]
[+] [-] unknown|5 years ago|reply
[deleted]