Skip to content

Commit d09555a

Browse files
authored
RIW2021_RFC_Hybrid CDN with Recruiter Miners (#27)
* Create RIW2021_RFC_Hybrid CDN with Recruiter Miners.md * Update RIW2021_RFC_Hybrid CDN with Recruiter Miners.md * Aligning terminology Retrieval Miners -> Providers
1 parent cb88c90 commit d09555a

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
# RIW2021 | RFC: Hybrid CDN with Recruiter Providers
2+
3+
_Status:_ < draft >
4+
5+
_Area of Improvement:_ < Opportunistic Deployments >
6+
7+
_Estimated Effort Needed:_ <?>
8+
9+
_Prerequisite(s):_ <?>
10+
11+
_Priority:_ <? P0, P1, P2>
12+
13+
### Abstract
14+
15+
Provider nodes recruit storage from local, ephemeral devices (laptops and desktops) to increase their storage footprint. The target is not to save on aggregate storage or bandwidth of the RM - in some cases the RM might have to use more bandwidth if they act as relays. The target is to discover local content, where available and serve it locally. The proposal also has the potential to save on concentrated bandwidth and request-handling load.
16+
17+
This proposal is similar to the [“Consume Global, Serve Local”](https://github.com/protocol/ResNetLab/pull/26) RFC.
18+
19+
### Construction
20+
21+
We consider a Hybrid-CDN-like architecture, where Providers act as the centralized controllers orchestrating all the devices in their surroundings (or directly connected to them). When peer A is looking for some content, it sends the request to its local Provider. The Provider answers with a list of peers storing the content. These peers may be other RMs, or opportunistic deployments that RM knows are near peer A. Peer A then requests the retrieval of the chunks of content to any of these peers. A Bitswap-like protocol may be used for these retrievals. Instead of directly sending the request to a local Provider node, peer A can send in parallel requests to devices in their local area network. Additionally, in the RM response, there is always some fallback Provider with a hot copy of the content for the case when the opportunistic deployments storing the copy are not connected anymore.
22+
23+
Devices can build resource reputation by testing QoS specifying different permutations of the chunks to each peer, so as to optimize expected time to completion.
24+
25+
Ideally, nodes would be opportunistically trading data (and micropayments) with their spatial neighbors in a way that maximizes their EV (of reselling data and of coins)
26+
We may need a way to do offline micropayments.
27+
28+
**Open Questions**
29+
30+
- We may need a way to do offline micropayments for the cases where devices are only locally connected to each other.
31+
- Should we be concerned about privacy?
32+
- How is the model affected by device mobility and churn?
33+
34+
### Impact
35+
36+
Recruiting every-day user devices to serve in the 3DM is a big win as we really achieve the goal of low-resource devices participating, contributing and being rewarded by the network. The impact can be huge.
37+
38+
### Pros and Cons
39+
40+
Pros:
41+
- The idea of having everyday devices participating in the network is super impactful and interesting
42+
- Performance and capacity of the network will increase dramatically, if users are given the right incentives
43+
44+
Cons:
45+
- Privacy may become an issue
46+
- Limitations such as “only requested content is cached to a node’s storage” need to be lifted in order for the scheme to scale and be successful.
47+
- The cryptoeconomic model is challenging.
48+
- NAT traversal needs to have a solution for the scheme to be viable. A simple solution is for “recruited” devices to keep a permanent connection open with the client
49+
50+
### Implementation notes
51+
52+
- Privacy needs to be looked at
53+
- NAT traversal needs to have a solution for the scheme to be viable. A simple solution is for “recruited” devices to keep a permanent connection open with the client
54+
55+
### EValuation
56+
57+
TBA
58+
59+
### Prior Work
60+
61+
TBA

0 commit comments

Comments
 (0)