[tahoe-dev] De-Centralized Introducer

zooko zooko at zooko.com
Thu Feb 26 11:16:12 PST 2009


Oh, and I forgot to mention that even though tahoe nodes rely on the  
introducer as little as possible, I still really want tahoe to  
develop decentralized introduction.  I would love it if someone would  
implement this:

http://allmydata.org/trac/tahoe/ticket/68 # implement distributed  
introduction, remove Introducer as a single point of failure

Please see comment 11 -- http://allmydata.org/trac/tahoe/ticket/ 
68#comment:11 -- where I propose an elegant hack that turns tahoe  
introduction into a decentralized Chordlike network.  (Perhaps not as  
scalable as Chord, but that's probably okay for now.)


Here are some related tickets.  Some of these might make good  
projects for a new tahoe hacker.

http://allmydata.org/trac/tahoe/ticket/444 # reduce number of active  
connections: connect-on-demand


major upgrade to the tahoe introduction scheme (Brian has already  
implemented it, but see below):

http://allmydata.org/trac/tahoe/ticket/466 # extendable Introducer  
protocol: dictionary-based, signed announcements

low-level hacking on pycryptopp which is blocking #466 (assigned to  
me -- I would love help from a C++ hacker):

http://allmydata.org/trac/tahoe/ticket/331 # add DSA to pycryptopp -  
serialize pubkeys with less fluff

small improvements related to introducer:

http://allmydata.org/trac/tahoe/ticket/603 # display versions on  
introducer page
http://allmydata.org/trac/tahoe/ticket/562 # censor introducer furl  
from log files
http://allmydata.org/trac/tahoe/ticket/410 # --introducer arg to  
create-client
http://allmydata.org/trac/tahoe/ticket/375 # include "retry backoff  
limit" in introducer announcements?
http://allmydata.org/trac/tahoe/ticket/371 # corrupted  
introducer.furl causes subtle startup breakage
http://allmydata.org/trac/tahoe/ticket/344 # more client-vs-server  
refactoring: servers-only shouldn't subscribe to storage announcements
http://allmydata.org/trac/tahoe/ticket/309 # add web page to  
Introducer, with client lists/counts
http://allmydata.org/trac/tahoe/ticket/275 # timing of creation of  
introducer.furl

weird idea of Brian's which would make introducer less necessary:

http://allmydata.org/trac/tahoe/ticket/599 # maybe add share- 
metadata: "where-are-the-other-shares" hints

large strategic issue which I'm not sure about, but Brian could  
persuade me to accept something:

http://allmydata.org/trac/tahoe/ticket/403 # grid identifier

I'm not sure if this is a good idea:

http://allmydata.org/trac/tahoe/ticket/26 # introducer doesn't seem  
to forget about old peers, or peers don't forget about old peer


Regards,

Zooko


More information about the tahoe-dev mailing list