RFC: Disjoint Groups

no need for every node to calculate the routing table from the perspective of the other nodes in the group?

With the current approach that’s not even possible: If you’re in my routing table, I don’t know every node that’s in your routing table. Only for the groups I’m a member of can I calculate who the other members are. So if I get a Put request and I am in the close group of the data chunk, then I know who else needs to handle it.

And the next group won’t sign anything at all, they just pass my chunk with the signs to the next group?

That’s what the current implementation does and it’s not secure.

The RFC suggests that the next group sign it, too: If a group A wants to send something to a group C that it’s not connected to, so it has to send it via group B, then B would check A’s signatures, then sign it itself, and C would check B’s signatures. That’s because C doesn’t even know the members of A.

Possibly with data chains, in some cases we could omit the signing in between. Instead, A could include an old message signed by an old group D (which doesn’t even necessarily exist anymore) saying that A is legitimate and what its members are. If C knew D, too, that would suffice.

5 Likes