- Subject: [Freedombox-discuss] Addressing
- From: firstname.lastname@example.org (Jon Spriggs)
- Date: Wed, 1 Sep 2010 20:41:03 +0100
- Message-id: <[🔎] AANLkTinYH=fbtcfJV+WW_-J1jgFg5dkWyPZt3vMxHUMT@mail.gmail.com>
- In-reply-to: <4C7D2927.email@example.com>
- References: <4C71CC05.firstname.lastname@example.org> <1282530730.12989.423.camel@havelock> <20100826153148.GQ8994@localhost> <20100827185922.GA28299@scru.org> <1282941925.2242.110.camel@havelock> <AANLkTi=05HgcgiS1DDEh9MPum91S8tm-0e8e_DoPSP1C@mail.gmail.com> <4C7D2927.email@example.com>
"ian at churchkey.org" <ian at churchkey.org> wrote:
>>> On pe, 2010-08-27 at 18:59 +0000, Clint Adams wrote:
>>>> In my mind, a fundamental requirement to the success of such a freedom box
>>>> would be some sort of distributed, decentralized naming system.
>I agree that this is a fundamental part of the problem; if we can't get
>the boxes to find each other, we can't get much in the way of
>communication going on.
>Or, as was mentioned at the conference, we could set the boxes up to
>find each other over TOR. I'm not sure how the social exchange of
>contact details works in that setting but I'm sure someone else on the
I really like this, and effectively using TOR as a massive VPN to host
these services really appeals to me... especially as this provides a
legitimate reason to be running a TOR node and gives white noise to
the people who *need* to use TOR.
How about this as a suggestion?
We use a seed list of TOR hidden services that act as an index for the network.
Each box could have an index function which can be enabled or
disabled. The index is just a list of:
Key: Tor node - e.g. 123456789abcdef0123456789abcdef012.onion
Value: Alias (+TTL in days) residing here - e.g. Fred "Flintstone"
Bloggs (GPG 0x12345678)
Value: Services (+TTL in days) residing here - e.g. XMPP, StatusNet,
SMTPS, Blog (HTTPS)
While your node is online, it pings X indexes (from your seed or
accumulated list) at random every X hours, with a short (hours/days)
TTL timer. Each index pings a percentage of each other every X hours
to make sure they're still alive.
The index stores up to X hundred entries, plus a chain to another X
tens of indexes. If you query one index for an alias, it can say "I
don't know that alias, but here are some other indexes which might
know them"... and it's down to the querying device to remember which
indexes it's spoken to looking for this individual.
It's not going to be fast to find someone, but once X people in your
network are on it, you're more likely to search for them by FOAF than
searching the index.
As an aside, I'd be interested in being involved in writing this, if
not doing a serious chunk of it :)
Jon "The Nice Guy" Spriggs