@futurehood
@lemmy.mlHey, thanks for the kind words. You will be seeing a lot more of it over the next month, it's going to get pretty exciting, I think!
I'm not sure if you've seen the specific project repos yet or not, but they strike a more serious tone than the main project repo or project website. If you haven't seen these, they may have a bit more of what you're looking for:
Here is a WIP of the DCNT protocol overview: https://github.com/futurehood/DCNT
Here is the DeCent-Core repo, you may be interested in looking through the User Guide if you haven't already: https://github.com/futurehood/DeCent-Core
Here's a diagram of the most basic Web420 network too:
I'm afraid you will be disappointed when you see the DeCent-Core source code, there's nothing fancy there! It's a simple HTTP/WSS server (Ktor/Netty) that implements the DCNT protocol, and provides a UI for managing server profiles, and installed apps. The installed apps are straight downloaded and extracted ZIP archives stored on disk - super simple. The DCNT server's role is very small, it's just there to connect browsers/DWAs by signaling WebRTC connections, that's it. Once the WebRTC connection is established the DWA can disconnect from the DCNT server until it needs to signal again. If you get the gist of the DCNT protocol overview, you basically already understand the server. I know you all are waiting to see that anyway though, I'll get it out as quickly as I can.
I'm not going to start working on the social network or streaming service until after DeCent-Core is released. Those are just ideas I'm bouncing around too, the next DWA project from me might end up being something completely different. Getting DeCent Messenger fully-featured and finishing up the DeCent-Core refactor to drop the code are my only priorities at the moment.
Where are you thinking this operating cost is coming from?
There are types of applications that can not presently be built with DWAs, but that doesn't mean that will be the case for much longer. It's not due to a technical impossibility, rather a lack of existing libraries to make it easily done. No one has built it yet, that's all. I'll get there if someone else doesn't beat me to it.
Here is a diagram of how asynchronous messaging can work:
It will scale horizontally as high as the host browser will allow (in WebRTC connections), taking into account the host machine. If the connections are not persistent, and are rolling/transient, then one instance could probably serve thousands of users simultaneously.
You can use this topology to do a lot. You're not limited to just messaging, a Discord clone or anything group-oriented would be very simple this way, for example.
Yes, Web420 operates on the Internet. If you use it, you are accessing a private, P2P Internet.
Hey, have a little respect plz, that's a spinning weed SVG animated with 3D CSS transformations and a built-in light/dark color theme, something that anyone can appreciate!
No global network. These networks only exist between users that want to connect with one another, for the amount of time that they need to.
Fantastic comments, thank you. Exactly, if a system is going to help turn things around, it needs to be ridiculously easy to use.
Thanks, it is a good question.
But I must joke a bit: did you ask the same question to the I2P devs when they forked Freenet? :P
Seriously though, they are different projects with different goals and vastly different functionality. The only overlap is "privacy".
There simply isn't anything like Web420, and I think this is a better approach to getting the average Internet user away from the big tech/VC-backed web apps that are ruining the world, that's why.
Hello,
The stack is live my friend! You can use it right now. Download DeCent-Core, install the Decent Messenger DWA from the Github link, and you can send P2P messages this very instant. Video/file transfers calls by next week. There is nothing hypothetical about it, it's a usable prototype and it's only getting more stable with each passing day. This is real, concrete, and usable now on Windows.
Yes, I would like developers to start familiarizing themselves with DWAs as soon as possible. If we can get this off the ground, it would be a very good thing for humanity, the sooner the better.
Web420 has very little in common with existing "alternative Internets", so there is no point in trying to do this there. From the linked article:
Web420 differs from existing decentralized networks, like Freenet, I2p, or Tor.
These networks focus on building a global network of interconnected nodes which serve as an overlay to the Internet. The common emphasis of all of these projects is anonymity, and then privacy through anonymity. Though it happens a bit differently on each, essentially all of these systems achieve anonymity by passing requests through the overlay network to obfuscate the connection metadata.
Web420 works differently, almost diametrically so. Instead of consisting (primarily) of a global network, Web420 is composed of infinite, smaller, ephemeral private networks that pop in and out of existence as needed. These networks are as big as required; they can exist between two devices, or two million devices. The can grow, shrink, disappear, and re-emerge. They originate in, and are accessed solely through web browsers, over WebRTC. DCNT servers don't connect to other DCNT servers at all. They listen for requests from remote DWAs and proxy them to relevant local DWAs.
There is a bit more detail beyond that in the article as well.
Thanks for the question!
Agreed, if you need anonymity, use a VPN or other tunneling software to obfuscate your identity, or provide multiple identities. You can run it open on local networks that you trust, say for a life planner DWA that syncs between devices on your home network, otherwise protect your line as you normally would. With a VPN/tunnel you can attain privacy plus anonymity.
Clients don't find one another, they're instructed to connect with each other (very briefly) by users, then everything is passed off to your browser. You will need a friend's address (either IP or domain) to connect.