Ways to surf some of the decentralized web
medium.com
medium.com
Don't know if that has changed but I honestly don't want to know, I'd stay away from it if I were you.
I remember many saying the same about the internet when it first became mainstream as well. "What's the use of connecting with other anonymous people? Sounds like ripe for committing crimes. Normal people just talk with each other in person or on the phone"
Any network is prone to go through the same phases of "Just nerds > just nerds and some others who don't have a place > Broader community > Mainstream > Old, left-behind people"
>I'd stay away from it if I were you.
I'd rather recommend anyone on this thread to try it and form an opinion for themselves.
I’d like to poke around. Any chance you bookmarked resources for getting started?
[0] Official I2P Java client download: https://geti2p.net/en/download. Once started, you should check the router console, on localhost:7657. You can check the firewall settings on localhost:7657/confignet (which TCP/UDP ports to open, for instance).
[0a] If you want to host an eepsite (I2P's anonymous websites), you should follow indications located on localhost:7658. You'll have to set 'http://localhost:4444' as your browser's proxy to visit eepsites (*.i2p).
[0b] I2P technical documentation: https://geti2p.net/en/docs/.
[1a] i2pd (C++ implementation): https://github.com/PurpleI2P/i2pd/releases/tag/2.31.0
[1b] i2pd documentation (very useful) https://i2pd.readthedocs.io/en/latest/.
[2] List of supported I2P applications (it might be outdated): https://geti2p.net/en/docs/applications/supported.
[3] MuWire (file sharing program): https://muwire.com or muwire.i2p.
[4] Popular torrent tracker: http://tracker2.postman.i2p.
Keep in mind it can take several minutes for your router to get some speed.
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.
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.
self-host. Don't have someone else "self"-host for you.
I personally self-host because it's neat and interesting to me, but not because it's simple and cheap - if you want to actually get a website or some other service running on the WWW going, VPSs are a god-send. Also, consider the fact that unless I do actually use a Raspberry Pi, which is very flexible but underpowered, I'm going to be paying for potentially quite expensive new hardware and electricity if I self-host, as well as bandwidth. These are all non-issues with a VPS.
Also, SSL certs are necessarily centralised, because they operate on a web of trust in a world where we don't know who to trust or not. If you have a website using a certificate which is self-signed, I'm not going to trust it unless I know you personally, because if I don't know you personally I have no way of determining that you are who you say you are - only a trusted CA is going to do that. That's why a green-padlock in your browser means 'One of a limited number of root CAs trusted by the distributors of this browser says this site is owned by who it says its owned by', not just 'this site is owned by who it says its owned by'.
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.
Actually, my experience has been the exact opposite on both points with every ISP I've ever had (in the United States). I've never had a problem setting up a dynamic DNS server to access my home network from outside. Likewise, I've never had an ISP that will give you a static IPv4 address. Maybe it's just luck on my part, but I was under the impression mine was the most common experience these days (for this country).
If your DNS provider has an API, it's probably the first example in the API documentation. If not, there's DuckDNS and similar.
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.
In 20+ years of home self-hosting I've never been DoS'd except on my tor hidden service (also served from home) and because it was tor all I had to do was change 1 number in my config file to limit it. Super easy.
If I want to publish a web page with some anonymity and I'd prefer that readers not know whether it's in Kansas vs New York, then my home ip address is one less piece of information readers don't need to know about. It's totally reasonable for my particular preferences. Of course, the ip privacy is not absolute but relative -- and that can be good enough. Github/Youtube/HN will know my home ip address but everybody else interacting with those sites don't need to.
I'm not going to give up some privacy of my ip address just to fulfill your ideals of "decentralization". That's not a good enough reason. And looking at your webpsite, your self-report of 20-years of no DDOS attacks is irrelevant to what I might want to publish. Maybe I want to write essays on more controversial topics than what you chose to write about.
I find it interesting that you posted a previous comment about not wanting "trackers":
https://news.ycombinator.com/item?id=22835625 : >I have never carried a cell phone (smart of otherwise) in my life. I leave my dumb phone at home or take the battery out. I hope that these tracking bracelets which others voluntarily carry will not be forced and required in the future.
Cell phones with base station multilateration track the cell phone's location 24/7/365 and in the USA that data is accumulated for 2-5 years. Over that time they get to know you and your averaged patterns of movement (<100m) very, very well.
Your IP is how you interact with the internet. Trying to 'hide' it or whatever because you worry about someone knowing your ISP's general location is shooting yourself in the leg. And after you'll start relying on third party services to do what you can't do anymore because of gimping and give away even more private information.
That said, I'm not against using anonymity networks. I host many tor onion services from the very desktop home computer I'm typing to you on. I also support i2p with bandwidth and bitcoin as a full node.
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.
And no, the point point of decentralization is literally that. Decentralization. What you're talking about is business crap leaking into areas it shouldn't. Uptime, availability, CDNs. All completely unneeded. Might as well be making straw airplanes to go full cargo cult.
Some can barely afford a cheap prepaid phone to make occasional calls, let alone a landline to tie up 24/7. Even then, running a web server is not trivial for most of the general public, a dial-up or DSL line is unlikely to come with a static IP address, and if folks don't know how to run a webserver, they certainly don't know how to set up a hostname with dynamic DNS.
> What you're talking about is business crap leaking into areas it shouldn't. Uptime, availability, CDNs. All completely unneeded.
No. You're talking about that. My point was much more basic.
As for "My point was much more basic", it doesn't count if you edit your post. That's a real jerk move to do after someone has already responded.
Last time I checked, I might violate the terms of my ISP, but that's by very strict definition. Remote access and "server hosting" could be one and the same depending on how you look at it.
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.
I'd say we should keep the decentralised and replicated-for-reliability concepts slightly separate. They are interesting together, but they're orthogonal.
I thought that Opera Unite was magical, and bewilderingly, it was pretty simple. It is my hope that Vivaldi attempts to bring it back.
It feels like this is simply the cycle most new browsers go through now. They start out minimal and fast, then slowly fall for the issue of having to validate time spent developing, so they sell out.
(Or alternatively, we stop putting oversized JS frameworks/libs and ridiculous tracking systems inside our pages)
Content-addressing is FAR easier to understand than location addressing. In fact, it's the way most people think of a url. I'm sharing "this picture." When you post to Facebook, you're "writing to your friends and family," not "uploading my stuff to a faceless corporation for them to monetize in whatever way they see fit." I mean, folks have a better understanding that that's what they're doing NOW, but a honestly IPFS seems closer to the way people intuitively use and think about the web.
Otherwise, how are you paying for the hosting?
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.
Still room to improve - Opera's default support is much easier from a UX perspective - but it's all part of the upgrade path!
Author of the blogpost writes: "Browsers with native support" and "it should work without special extensions" while we both know that's not true. So it's misleading.
Shouldn't this enable running a local gatway?
Disclosure: I work at Cliqz.
And check out Beaker Browser for more info! (Beaker itself doesn't work on mobile, but it's a really cool browser.)
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)
Arguably the web is already decentralized but the economic incentive is filled by large corporations and abused via logging analytics.
Turns out nobody cares.
Similarly to the post you replied to - centralisation of name resolution is by market choice, not technological lock. The incentive is for everyone to coalesce around one service though.
> centralisation of name resolution is by market choice, not technological lock. The incentive is for everyone to coalesce around one service though
The technological deficiency creates the market incentive towards centralization. If one could easily remap (eg ycombinator.com -> ycombinator.com.icann), DNS would have had a fighting chance. But what we really want is the ability to reconcile-merge differing perspectives, rather than competing all-or-nothing trees.
Simple hierarchical systems like DNS have been faster, easier to implement, and have scaled better. If someone can make decentralized alternatives competitive they have a chance.
The bottom line to always remember is that 99% of your users, even technical ones, don't care one bit how it works. They only care that it does.
This is done through Ethereum smart contracts.
Here's some documentation on all this: https://docs.ens.domains/contract-api-reference/publicresolv...
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.
[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]
IIRC they raised an embarasingly large amount of money during their ICO.
I really hope there’s a decentralized future for the internet and the web.
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.
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]
medium.com is centralised platform, your custom domain is not.
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
Firefox with MetaMask works.What are the actual properties of the "decentralized web" that make it "decentralized"?
"Beaker is an experimental browser for exploring and building the peer-to-peer Web."