Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft "CoScatternet" binding to relay cargo via scatternets (Bluetooth meshnets) #45

Open
gnarea opened this issue Feb 16, 2020 · 0 comments
Labels
attribute-censorship-circumvention Technology or technique to evade censorship new-binding-proposal Proposal for a new Message Transport Binding

Comments

@gnarea
Copy link
Member

gnarea commented Feb 16, 2020

Executive summary

This Bluetooth-based protocol will allow end users to synchronise cargo with their courier or public gateway without having a direct connection to them. This is better for end users and couriers because the process to relay cargo will be more scalable and discreet.

For example, consider a scenario where a courier stops by a building to synchronise cargo with people living there. If enough people are connected at that time, the courier could synchronise cargo with everybody from the ground floor (depending, of course, on the building and the Bluetooth adapters). The courier would then go away, taking with them the cargo that should eventually be sent to the Internet (via Relaynet Internet Gateways).

Technical description

For privacy reasons, we may have to use a flooding algorithm with appropriate Quality of Service measures to prevent abuse. Couriers and end user's gateways will exchange cargo by broadcasting the cargo they're sending to the whole meshnet, with a semaphore preventing everybody from broadcasting at the same time.

Couriers will probably have to create a profile that specifies how end-user gateways will interact with the courier. The periodicity with which the relay will take place will be part of the profile (e.g., "every four hours from 2pm tomorrow"), and for the safety of the courier that periodicity should be more frequent than the actual schedule of the courier.

Every node in the meshnet will be required to generate and broadcast fake cargoes for real nodes in the meshnet during a relay, to prevent a man-in-the-middle from identifying the courier.

We may have to have two flavours of this protocol, depending on whether the nodes are stationary (e.g., the building example) or moving (e.g., a public place).

See also #46.

Alternative considered: WiFi ad-hoc meshnet

WiFi has better range and bandwidth, but unfortunately unrooted Android devices can only join ad-hoc networks (not create them). So a WiFi-based approach would work best with PCs.

I still haven't ruled out using WiFi instead as I'm particularly concerned about the effective range we'd get from using Bluetooth through ceilings and walls.

@gnarea gnarea added the new-binding-proposal Proposal for a new Message Transport Binding label Feb 16, 2020
@gnarea gnarea added the attribute-censorship-circumvention Technology or technique to evade censorship label Feb 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
attribute-censorship-circumvention Technology or technique to evade censorship new-binding-proposal Proposal for a new Message Transport Binding
Projects
None yet
Development

No branches or pull requests

1 participant