Skip to content
This repository has been archived by the owner on Jun 8, 2018. It is now read-only.

Use the IPFS protocol to fetch resources #221

Open
foxcool opened this issue Oct 25, 2017 · 9 comments
Open

Use the IPFS protocol to fetch resources #221

foxcool opened this issue Oct 25, 2017 · 9 comments
Labels

Comments

@foxcool
Copy link

foxcool commented Oct 25, 2017

We can use IPFS p2p network for storing static data.

@Synzvato
Copy link
Owner

Synzvato commented Oct 25, 2017

Hi @foxcool, and many thanks for bringing this up! I have actually been thinking about utilizing IPFS for decentralized content delivery, for quite some time now. The concept sounds very promising indeed.

So, I think this is a great opportunity to publicly discuss some specifics. We could either decide to have complete bundles served over IPFS, or to point users to individual resources. I'm not sure yet what's best for privacy, performance, and resource availability. So, any additional ideas or insights are welcome!

@Synzvato Synzvato changed the title Automatic using and adding content with IPFS Use the IPFS protocol to store static data Oct 25, 2017
@ghost
Copy link

ghost commented Oct 26, 2017

@Synzvato @foxcool

You mean for additional bundles we may have the option to get them using IPFS? And would this solve the security problems related to subscription lists?

Also another point that should be stressed: Is IPFS censored or unreachable for some users? I tested using a tool that determines whether a site is blocked in China and it seems that ipfs.io is reachable there but we'd have to confirm with someone who is located there.

In any case, if this solves the problems above it will be a really neat idea and would make Decentraleyes truly Decentralized.

@Synzvato
Copy link
Owner

Synzvato commented Oct 26, 2017

You mean for additional bundles we may have the option to get them using IPFS? And would this solve the security problems related to subscription lists?

It will surely help, since IPFS uses Merkle DAGs to verify data. This will even allow Decentraleyes to run a single integrity check on a root hash, to instantly verify the integrity of any individual CDN-resources.

Is IPFS censored or unreachable for some [...]? I tested using a tool that determines whether a site is blocked in China and it seems that ipfs.io is reachable there but we'd have to confirm [...].

Fortunately, IPFS does not rely on the DNS protocol. So, if someone blocks your access to DNS or spoofs DNS in your network, it will not prevent IPFS nodes from resolving content over the network. [1]

[1] https://ipfs.io/blog/24-uncensorable-wikipedia/

@Synzvato Synzvato changed the title Use the IPFS protocol to store static data Use the IPFS protocol to fetch resources Oct 27, 2017
@ghost
Copy link

ghost commented Jan 27, 2018

@Synzvato @foxcool

In related news: Firefox 59 now supports IPFS!

Starting with Firefox 59, several protocols that support decentralized architectures are available for use by extensions. The white-listed protocols are:

Dat Project (dat://)

IPFS (dweb:// ipfs:// ipns://)

Secure Scuttlebutt (ssb://)

https://blog.mozilla.org/addons/2018/01/26/extensions-firefox-59/

@Synzvato when can we - roughly speaking - expect an experimental release of Decentraleyes with the following proposal implemented? Thanks.

@foxcool
Copy link
Author

foxcool commented Jan 27, 2018

Cool!

@elypter
Copy link

elypter commented Jan 27, 2018

maybe you could cooperate with @jspenguin2017 from https://github.com/NanoAdblocker/NanoCore who is currently improving the update capabilities of filterlists by adding differential updates and a more efficient server side. you might profit from each others approach.

@jspenguin2017
Copy link

Interesting idea... Does the protocol requires low level network access though? It might be hard to implement on Chrome.

@ghost
Copy link

ghost commented Feb 27, 2018

@jspenguin2017 I believe that all that would be required is IPFS' own JS implementation: https://github.com/ipfs/js-ipfs

@jspenguin2017
Copy link

Oh that's interesting... I'll look into it when I have time.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

5 participants
@foxcool @Synzvato @elypter @jspenguin2017 and others