[tahoe-lafs-trac-stream] [tahoe-lafs] #1765: gossip-introducer should forget about old nodes somehow
tahoe-lafs
trac at tahoe-lafs.org
Thu Jun 14 03:01:44 UTC 2012
#1765: gossip-introducer should forget about old nodes somehow
--------------------------------+--------------------
Reporter: warner | Owner: warner
Type: enhancement | Status: new
Priority: normal | Milestone: soon
Component: code-nodeadmin | Version: 1.9.1
Resolution: | Keywords:
Launchpad Bug: |
--------------------------------+--------------------
Comment (by davidsarah):
Replying to [comment:3 warner]:
> Replying to [comment:2 zooko]:
>
> > 1. When telling other people gossip about servers, you don't tell them
> > about servers that you aren't currently connected to.
> > 2. Remember the fact that you were unable to connect to a server last
> > time you tried. When you start up, don't try reconnecting to that
> > guy right away until you've finished trying to reconnect to
> > more-likely-to-work ones. (Because of a bug that is really
> > important on Windows: #605 (two-hour delay to connect to a grid
> > from Win32, if there are many storage servers unreachable))
> > 3. If it has been more than a month on your local clock since you were
> > able to connect to that guy, and you are currently able to connect
> > to lots of other guys, then forget about that guy.
>
> Hey, that sounds great!
[...]
> I like it! I'll update this ticket to reflect the new scheme.
+1
> I can imagine arguments against using time.time() instead of an actual
> counter:
>
> * more entropy for a de-anonymizing attacker to correlate
> * providing a potentially high-resolution timestamp (the current code
> uses all significant digits of time.time(), frequently microseconds)
> that might reveal time consumed during boot, which might help a timing
> attack on e.g. key generation or signature generation.
> * timequakes causing temporary disbelief of new announcements, requiring
> period refresh to make sure the disbelief is eventually overcome
> (imagine setting your clock back a day and then rebooting: you need to
> have at least one announcement more than one day after reboot to catch
> up)
If you use (time of last restart, # of announcements since restart)
ordered lexicographically, that would solve the first two problems. It
wouldn't solve the timequake problem: if you restarted the server at a
local time earlier than the local time of some previous restart, you
wouldn't recover until you restarted again.
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1765#comment:4>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list