What is Firecoral?
Firecoral is a browser-based peer-to-peer content distribution network
that enables mutually distrustful users to share their browser caches,
yet ensures the authenticity of content and enables users to preserve
privacy by expressing flexible content sharing policies.
Firecoral is implemented as a Firefox extension that interacts with
unmodified websites, using a separate tracker for content discovery
and a trusted signing service to ensure content integrity.
What is the aim of Firecoral?
Our aim is twofold. On one hand, we have end users for which our focus
is to provide an easy to install, transparent experience such that web
content can be downloaded from other users in a secure, flexible way.
On the other hand, we have content providers for which our focus is
not to interfere with advertisements and analytics, and give the
option of adopting Firecoral for existing web servers in a backwards
compatible way.
Where did the inspiration for FireCoral come from?
The inspiration mainly comes from news aggregation websites, such as
Slashdot, that regularly bring down small websites they link to. This
is a problem for both the content provider who wants to be available
and the end user who wants to see the content. Some inspiration also
came out of our frustrations with the limitations of previous work on
CoralCDN.
Can't you just use existing P2P networks?
There is a fundamental design mismatch between existing peer-to-peer
networks and the web. These existing networks are designed to provide
scalability, fairness, and high-performance for downloading large
files, while the web is made up of many independent small files. The
latency involved with trying to use a file sharing P2P network to
download web content is too high. Existing protocols also require
software that is not easy to integrate into the web browser.
Is downloading content through Firecoral as fast as regular surfing?
There are four cases to consider here:
- If you compare downloading content through Firecoral from a peer on
your local network to downloading the content directly from the origin
website (also on your local network, for a fair comparison) then
Firecoral is slower. There is an extra round-trip time (RTT) to
contact the tracker, and the proxy server running in the web browser
adds a small amount of latency.
- If the origin site is fast (e.g. CNN, Google, etc.) and the peer
you're downloading from is slow (e.g. located half way around the
world), Firecoral will be significantly slower. This is why we try to
avoid this by maintaining a list of known well-provisioned websites
that users can subscribe to.
- If the origin site is down but the content was previously cached in
Firecoral, then Firecoral is inifinitely faster since the content is
not available from its original source.
- If the origin site is overloaded (Slashdot effect) or located
geographically far from you and you download the content from a local
peer, Firecoral is faster.
Does Firecoral ensure privacy?
Yes. This is one of our top concerns. We never cache HTTPS traffic or
content marked as "private" or "no-cache". We also never cache POST
requests.
In addition, content from your browser cache is never shared unless it
explicitly matched a Firecoral configuration rule. We use a very
flexible configuration system with subscriptions for common websites.
|