[liberationtech] New protocol sacrifices bandwidth for metadata privacy

Marc W. Abel marc at clique4.us
Fri Aug 8 09:50:01 PDT 2014


On 08/07/2014 05:57 PM, Aymeric Vitte wrote:
> Because the obvious next question is: if the clique is 1 billion peers,
> they all keep their time decrypting the 34 slots x 1 billion time every
> x time to find out who has their keys.


Hi Aymeric,

It's worse than you propose.  It's actually 34 slots x 1 billion time x 
[the number of keys you have on hand to try].  But there are mitigating 
factors.

1.  Your machine negotiates bandwidth use with these 1 billion peers. 
If you've configured it for 50,000 bps total, the fraction you need to 
decrypt is 95% of that (the remainder is used for discovering peers), so 
47500 bps.  There are 4608 bits in one of those packets, so about 10.31 
packets per second, or 350 (ish) decryption attempts, per second, per 
key that you have.  My CPU is an Intel Core 2 Quad Q8200 going at 2.33 
GHz, and it takes 2.1 microseconds to try a slot.  So CPU use at 50,000 
bps is about 0.074% of one core per key that I might have to consider.

2.  Of course for that size clique, assuming everyone connects at the 
same speed, it's going to take 37 months to work through everyone one 
time under these assumptions.

I say a little more about why I don't perceive this as a problem at

     http://clique.freeforums.net/thread/5/clique-unscalable-protocol

In a nutshell, Clique is designed to solve a very narrowly defined 
problem, and does not expand nicely for every communication need.  A 
billion peers aren't going to be coming, at least not with the world 
anything like we know it today.

Today there are exactly two peers online, so there's ample room for 
growth.  I hope you might consider trying at least clique-scheduler, as 
it would be a big first in terms of crossing national boundaries.  That 
much isn't hard to set up; adding the cipherer and deliverer scripts can 
be done as time and interest permit later.  You can either configure a 
very low total speed directly

      BitsPerSecond 100

or specify a minimum spacing between packets to any given peer

      MinimumSecondsBetween 3600

so it treads lightly on your Internet connection.

Marc




More information about the liberationtech mailing list