[tahoe-dev] [tahoe-lafs] #869: Allow Tahoe filesystem to be run over a different grid/DHT implementation

tahoe-lafs trac at allmydata.org
Sun Dec 20 15:26:52 PST 2009


#869: Allow Tahoe filesystem to be run over a different grid/DHT implementation
---------------------------------------------------------------+------------
 Reporter:  davidsarah                                         |           Owner:  nobody   
     Type:  enhancement                                        |          Status:  new      
 Priority:  major                                              |       Milestone:  undecided
Component:  unknown                                            |         Version:  1.5.0    
 Keywords:  scalability performance availability newcaps docs  |   Launchpad_bug:           
---------------------------------------------------------------+------------
 source:docs/architecture.txt describes Tahoe as comprising three layers:
 '''grid''', '''filesystem''', and '''application'''.

 Most of what makes Tahoe different from other systems is in the filesystem
 layer -- the layer that implements a cryptographic capability filesystem.
 The grid layer implements a Distributed Hash Table, which is a fairly
 well-understood primitive with many implementations. The Tahoe filesystem
 and applications could in principle run on a different DHT, and it would
 still behave like Tahoe -- with different (perhaps better, depending on
 the DHT) scalability, performance, and availability properties, but with
 confidentiality and integrity ensured by Tahoe without relying on the DHT
 severs.

 However, there are some obstacles to running the Tahoe filesystem layer on
 another DHT:
  * the code isn't strictly factored into layers (even though most code
 files belong mainly to one layer), so there isn't a narrow API between the
 grid and filesystem-related abstractions.
  * the communication with servers currently needs to be encrypted
 (independently of the share encryption), and other DHTs probably wouldn't
 support that.
  * because the filesystem has only been used with one grid layer up to
 now, it may make assumptions about that layer that haven't been clearly
 documented.

 Note that even if the Tahoe code was strictly layered, we should still
 expect there to be some significant effort to port Tahoe to a particular
 DHT. The DHT servers would probably have to run some Tahoe code in order
 to verify shares, for example.

-- 
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/869>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid


More information about the tahoe-dev mailing list