A partial archive of discourse.wicg.io as of Saturday February 24, 2024.

[Draft Idea/Spec/Proposal] Decentralized and distributed network of static content - html, css and js


1. What is a decentralized and distributed static content network?

Decentralized and distributed network of static content is cdnp2p.

2. What is cdnp2p?

cdnp2p is Content Delivery Network with Peer to Peer.

3. What is Content Delivery Network ?

CDN is Content Delivery Network - a series of localized servers provide edge caching for web content.

4. What is P2P?

In P2P (or peer-to-peer) the peer can be both a server and client. This concept is widely used in file sharing (think uTorrent for example). As a peer you can either receive data from peers or send data to peers.

5. What are you trying to do, solve? What problem should or can be solved? What is the context of the problem?

  1. In some cases the Internet is slow.
  2. Sometimes we need to wait for the entire content of the page to be loaded as a video or any page.
  3. Generally each user has a different internet connection, so some pages may take longer than other pages.

6. Solution

  1. It would be nice to have networks similar to what would be cdn networks but… with a differential…
  2. These cdn-like networks use the p2p protocol…
  3. So the content is stored and stored by nearby clients… so that the same html page is loaded from quickly… in a distributed and decentralized way in theory.

7. Security

  1. It’s a local, private and anonymous network… in the sense that… after the static content is downloaded… you may or may not share that static content with other clients.
  2. Contents are temporary for servers or clients
  3. Responsibility for content rests with providers and customers
  4. Is possible to identify nodes, but not users
  5. It is a way to have a faster internet, but security considerations must be considered
  6. Concurrent users are required for good network efficiency in loading static content

8. Question

1. Would it be possible to use the cdn-p2p network to load static content?

  • Maybe.

2. As well as, for example, between different users on the same network or different computer networks to load individual pieces of static content quickly?

  • Maybe.

3. Is there implementation of p2p or cdn implementation with Javascript?

4. What are your references?


1. Notes

  1. What I’m looking to do in this thread is to have a cdnp2p api to provide a way… of content delivery network with p2p
  2. there are some discussions about webrtc here: proposal-p2p-web/4032, and webtransport-proposal/3508 - these technical discussions could help my post here
  3. I quoted some javascript libraries that provide a way to use p2p client side
  4. This feature can be useful for small networks like mesh
  5. An advantage of this feature would be that the html updated in real time to distribute among us, which avoids broken links
  6. There are cons, for example the network must be encrypted and the information must be temporary
  7. If there are not many users on the cdp2p network, there will be no efficient data transport
  8. Changes to the html/css/js must be noticed by clients through this network
  9. It should not be possible to identify users
  10. For this to make it possible all html/css/js are binary formats
  11. We may create user community of certain websites, pages, companies to think about security policy ways when content delivery networks in p2p2
  12. This allows for a more secure, reliable web since every moment a … ‘snapshot’ is taken. You can update that ‘snapshot’ to a newer version if you want to, but it’s not automatic.
  13. cdn-p2p networks are content delivery networks through p2p with content review
  14. The free market between legal entities and individuals can select which pages or web content should be accessed more than others - this is interesting, because in an accessible and free way each person can contribute or not to the web to be faster, safer, accessible
  15. I recently read Mozilla’s article on payments on the web… I think a p2p cdn network is initially a foundation for this - as long as this cdn-p2p network has version control and have encryption as end-to-end - E2EE

2. Idea/concept

Webmention+web assembly+E2EE+cdnp2p+web monetization+web transport+web rtc = web 5.0

  • Yes, I know how to implement all this is complex and laborious

3. “Web 5.0”

  1. Content Delivery Network in p2p
  2. End-to-end encrypted network
  3. There is a huge trust between community, people
  4. Fast data
  5. Changes to the html/css/js must be noticed by clients through this network
  6. Information must be temporary

4. References


Hi all! Here some examples open source projects that implement a decentralized and distributed network of static content - html, css and js