My first overview of Wireless Dead Drops

From what I see on day 1, our project, currently named “Wireless Dead Drops” (I hope we find a better name, though “Dead Drops” sounds kind of cool, we could have a cool logo with a skull and crossbones in a giant raindrop EDIT: as Hubert showed me, the name and a logo very similar to what I had in mind are already used by another (very cool, as it appears) project, so we’ll definitely have to find something else) can be grossly resumed in this way:

Suppose that you want to communicate with other people, possibly far away from me, but using only short-range radios. Hopefully the environment is crowded enough so that you will meet people regularily. Make everyone carry a radio! Then every time you meet somebody, let your radios exchange all the messages they carry, until your message reaches its final addressee. You can also put ‘dead drops’ (hence the name), radios that are not carried by anyone but just lying in strategic positions where people are known to pass on a regular basis.

This raises a lot of problems: everybody might be carrying your message, but only one person must be able to see it, therefore you have to encrypt it. Once a message gets delivered, the other carriers will not know, and therefore you have to spread a new message to tell radios to stop spreading it. To do that, messages will have to be identified. How do you affect them a single hash that will not conflict with other messages? How do radios communicate. Do we have to write a protocol (that could look like a simplified version of IP for instance)? When two radios meet, we don’t want them to be on all the time, so how do we know they will indeed synchronize their content? Sure, we could do it manually, but it loses a lot of interest. Since they are going to be using timestamps to date the messages, they have to synchronize their internal clocks, but how can we know which radio is closer to the real time? All this has to be solved while constantly watching energy costs, which must be down to almost zero if we want radios (especially the dead drops) to last for a decent enough period of time; and while keeping in mind that cheap is always best, since this will only work if there is a large amount of radios in circulation.

I can see a simple solution for some of those problems, while I have not the slightest idea of how to approach some others. In a few weeks I will be returning to this post with more hindsight and wille probably smile at what I wrote.

It’s gonna be exciting.

6 comments to My first overview of Wireless Dead Drops

  • HubertLefevre

    For the logo, it’s already done :

    But what they do is completely different, but they’ve got the name,and the logo, we need to be different.

  • düs

    I did not know that. Thanks for pointing it out to me, I’ll do more research next time 🙂

  • nitruk

    Do you really need to track “real” time, or would a common, consistent time be sufficient ? In the second case, something as simple as a mean should suffice (and I think you don’t need millisecond precision, in which case no extra care should be needed).

    If you actually need globally meaningful timestamps (which is likely if your messages are to be read by human beings at some point in time), how about giving a special role in the protocol to some dead drops “someone” would maintain, thus giving reliability to their internal date, and allowing them to force it on their mobile counterparts ?

  • nitruk

    Also, if you’re out of reach of a modern network you’re left without NTP, but between that and manually maintaining your clocks you would still be able to use some radio time-sync protocols if you embed the right RF or LF transceivers in some of your devices. (See Wikipedia for some explanation and the 2010 report of the Bureau International des Poids et Mesures, annex “Time Signals” for a list of available sources – at the time.)

  • terra

    The nome dead drops come from leaving a message in a “dead” place where someone else will come and get it.
    Since our “dead” place walks, how about zombie drops?