Skip to content

Latest commit

 

History

History
206 lines (183 loc) · 20.7 KB

README.md

File metadata and controls

206 lines (183 loc) · 20.7 KB

dWeb Protocol Documentation

Table Of Contents

dWeb Documentation

What Is The Distributed Web?

"The Distributed Web" or DWEB, also used in the form of dweb://, is a protocol for the "distributed web". We call it the distributed web, because it's a . "web" or a "network" of peers who distributed what we call dPacks, over the dWeb Protocol, to peers who want to either temporarily view them or seed them for a specific time period. When a user on the dWeb creates a dSite for example, they become the first peer of that dSite. Every dSite, dApp or dPack is given a dWeb network address.


An example of a default dWeb Network address:
dweb://d059ca6cf5ec7baeeee15c7a24856b2f5c9fab39d8cf38191bbc8f64ab0fc8ce

An example of a TLD pointed to a dSite, dApp or dPack on the dWeb:
dweb://dstatus.link/

dWeb Glossary

With the dWeb, like most new things, there are some new words and lingo to describe the technologies and entities involves around it and within it. Below is a list of those, along with their supporting definitions. I try to keep it simple, let me know if it is simple enough for you to understand!

dWeb Definitions

  • Seed/Seeded/Seeding - the process of distributing someone else's distributed web entity to other peers on the dWeb.
  • Peer/Peered/Peering - is like seeding, where a peer distributes the distributed web entity of another peer.
  • dBrowser - is a web browser for the distributed web.
  • dSite - is a website or a webpage seeded to peers on the distributed web.
  • dApp - is a distributed application on the distributed web.
  • dDatabase - is a distributed database use within dSites and/or dApps on the distributed web.
  • dDrive - is a distributed hard drive, where multiple folders and filesets are contained in a single dPack.
  • dVideo - is a distributed video or motion-based multimedia peered on the distributed web.
  • DAO - is a decentralized autonomous organization. that nobody operates or controls.
  • DAB - is a decentralized autonomous bank, that nobody operates or controls.
  • dPack - is a distributed entity on the distributed web. Can be a dSite, dApp, a set of files or a single file.
  • Flock - is a gathering of peers around any distributed entity or media on the distributed web.
  • dWeb MetaData - is very similar to how HTML metadata used by the HTTP protocol to identity what a website is, except for the dWeb. Uses a "dweb.json" file to store a dPack's title, description and other relevant information.
  • Revelation - is the process of finding a flock of peers or a single peer around a distributed web entity.
  • dDNS - is otherwise known as "Distributed DNS" or distributed domain name system, is used to retreive top-level domain records, that point to a dWeb-based entity.
  • dBank - is a DAB (distributed autonomous bank) protocol that is built around the DWEB protocol as a decentralized financial toolset.
  • dSocial - is a distributed social network like Facebook on the distributed web.
  • dStatus - is a distributed social network like Twitter on the distributed web
  • dTunes - is a distributed music streaming service like Spotify on the distributed web

dWeb vs. Regular Web

Like the "Hypertext Transfer Protocol" or HTTP/S, also used in the forms of http:// or https://, DWEB is a protocol used to access files over a network. The only difference in the two is HTTP/S accesses files over internet addresses, also known as IP addresses (IPv4 or IPV6) and this can be on a local network that is private to the world or a public network that is completely open to the entire planet. To host a website over HTTP, can be done via a computer, which is rare and really not a pragmatic solution if a website utilizes large media files or has a lot of traffic, because a user can burn a lot of bandwidth and ISPs (Internet Service Providers) in most cases, do not allow for home or business users of their service, use it for hosting websites and/or applications. For this reason, most developers use a hosting company, where either shared, cloud or dedicated servers are purchased/rented via a hosting service or "colocated" in a data center, to where files can be served over enterprise-level networks and scaled over time to distribute to a growing user-base. This can be costly and quite frankly a waste, especially once you have used the server-less and host-less distributed web.

How To Browse The Distributed Web

Thanks to our release of dBrowser, users can easily browse the distributed web, using the dweb:// protocol. You can also launch dSites and/or dApps straight from your browser. dBrowser comes with a built-in distributed repository for dSites and dApps that you create or fork within the browser itself and may I add - all dSites and dApps published over DWEB are forkable. What this means is, the entire distributed web is open source and we're proud of that.

dBrowser has many features coming to it in the coming months including payments and donations for dSites and/or dApps that can be ran through the dBank DAB, as well as a complete redesign of the browser UI/UX.

Upsides Of The Distributed Web

  • No more hosting requirements - Since the DWEB protocol is P2P, there are no hosting requirements nor is there any need for hosting. In some situations, you may want to run your own dDNS Server so that your apps use a redundant DNS service, aside from the dWeb Network Presets that are used by default in most applications like dBrowser. Because of this, the cost to promote a website online decreases 100-fold and really makes things interesting for dApps and dSites from an economic perspective.
  • dApps & dSites load blazingly fast - Since dWeb-based dSites and/or dApps are downloaded and/or seeded to your computer, that means they're locally available. Since they're locally available, they load in an instant. Most dSites and/or dApps have been minified from their prior codebase, so they're typically really small and don't take up much disk space, if stored locally. If a site's data changes, thanks for DWEB's version control, it will see a new version of a dSite and/or dApp and only download the files that the dPack's metadata say have changed. It's kind of like GIT in a way, if you're a developer, you know what I mean.
  • You own your own data & can remove it anytime - In any dApp on the dWeb where you submit your data, that data is stored in a dPack locally, just like a dSite or a dApp would be stored, as you're creating it. It is yours and you own the keys. If for any reason you want to remove it from the dWeb, this is easy, just stop seeding it to peers and as the original peer, the dPack will become unavailable to users from that point on. This could be a social profile on dStatus or an album on dTunes. That's how dWeb-based dApps are design. For a preview of this, please go to dweb://dstatus.app via dBrowser and create a dStatus profile, so you can see how this process works firsthand.
  • Any kind of application or website can be ported to the dWeb - As long as the application or dSite is compliant with dWeb Standards, it can work on the distributed web, without issue. The standards are not long and crazy. They're pretty simple. Popular languages like Javascript along with HTML, CSS3 and of course a distributed database solution will work, without a hitch.
  • You cannot be censored - Nobody controls the DWEB protocol, it is alive and well. Many people host distributed DNS servers and those community-ran distributed DNS servers are including in our FlockCore "Network Presets" We are constantly adding new DNS servers, as long as they're from a reliable and trusted community source, who can maintain uptime for DWEB users. If not, DNS servers that don't respond are simply skipped over by FlockCore's revelation library. These community-ran distributed DNS servers are where DWEB-based DNS records from users on the DWEB are stored.

Downsides Of The Distributed Web

  • Getting peers to a new project can be difficult - This is probably the biggest downside of the dWeb, although our dHosting service offers an easy and free way to pin your website to our peer, that will stay online no matter what. dHosting limits free accounts to 10MB, but you can pay $10/mo for 1GB of pinning space. It's definitely worth it. You also have the option of running our Forever solution, which is a private dHosting-like service, on your own servers or local environment. This also works very well.

  • Default dWeb URLs are hard to remember - In the example above, you can see what a default dWeb URL looks like and it's very hard to remember. Kind of like an IPV6 address. Although, we have a solution for that. By creating a TXT record on your normal domain, for the subdomain or root domain record, that points to your dweb key, you can then use that domain over the dweb, like the other example above, directly underneath it. Ex.: dweb://yourdomain.com or dweb://sub.yourdomain.com

  • A totally new database format - Being that the dWeb is distributed, normal database solutions simply won't work or function on the dWeb. For this reason, we have released three different solutions in dDatabase, dSiteDB and dAppDB, so developers can build dApps or dSites around our distributed database solutions, that work flawlessly with the DWEB protocol and our distribution model for dSites and dApps. They are also append-only if need-be or can function in other ways as well. We will explain our distributed database solutions in their full capacity in Part 17 of this series.