|
| 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