Documentation
The Basics
- about.html: the shape of a Tahoe filesystem and the security properties that it offers
- architecture.txt: the design decisions that give the filesystem its current behavior
- UseCases: the ways in which Tahoe should be useful
- Security: known security issues and workarounds
- webapi.txt: everything you need to know to use Tahoe from your own program
- roadmap.txt: how the functionality has been incrementally improved so far, and what improvements we plan to make next
- codemap.txt: the software practices and organization of the source code
- configuration.txt: how to configure a tahoe node and what persistent state it creates
The Parade of Release Notes
- the release notes announcing v0.8 on February 15, 2008, adding the "visibility" into the system and more user interfaces
- the release notes announcing v0.7 on January 8, 2008, featuring decentralized directories and mutable files, a FUSE interface, and new open source licensing options
- the release notes announcing v0.6.1 on October 15, 2007, including packaging, usability, and performance improvements
- the release notes announcing v0.6 on September 24, 2007, including improved performance and packaging
- the release notes announcing v0.5.1 on August 23, 2007, fixing a security problem in the Web API
- the release notes announcing v0.5 on August 17, 2007, including the Web API and the command-line interface
- the release notes announcing v0.4 on June 29, 2007, including the new mutable, shareable, private directories
- the release notes announcing v0.3 on June 6, 2007, including improved basic functionality
- the release notes announcing v0.2, the first public release, on May 2, 2007 and giving a general overview of why the Tahoe project exists
Detailed Design Docs
- mutable.txt, explaining the interesting crypto tricks that go into secure distributed mutable files
- FileEncoding?, explaining how we turn files into shares, with verifiable hashes; This is mostly concerned with chunking and Merkle trees.
- ShareEncoding?, explaining how we turn a chunk into shares: Reed-Solomon, FEC, that stuff
- The paper presented at
PyCon2008,
providing an overview of the Tahoe design, and the
slides (.zip) that
were used for the presentation.
Outstanding Issues
- PeerSelection, explaining how a Tahoe node chooses which other nodes to use for uploading and downloading files (which raises some unsolved issues in balancing scalability, robustness, performance, and simplicity)
- ChangingFilesWhileCopyingThem? : what are the semantics of the "upload" action? the upload takes
non-zero time: what happens if the file is changed during that time?
Download in other formats: