wiki:Doc

Version 5 (modified by zooko, at 2007-07-11T23:00:35Z) (diff)

fix link to PeerSelection

Documentation

The Basics

  • architecture.txt, explaining the design decisions that have given the grid its current shape
  • roadmap.txt, showing how the functionality has been incrementally improved so far, and what improvements we plan to make next
  • codemap.txt, laying out the software design and the organization of the source code
  • UseCases, enumerating the ways in which Tahoe should be usefula

The Parade of Release Notes

  • the release notes announcing the first public release on May 2, 2007 and giving a general overview of why the Tahoe project exists
  • the release notes announcing the second public release on June 6, 2007
  • the release notes announcing the third public release on June 29, 2007, including the new mutable, shareable, private directories

Detailed Design Docs

  • TahoeIssues/FileTree?, explaining how mutable, shareable, private directories are implemented (which requires interesting crypto)
  • TahoeIssues/FileEncoding?, explaining how we turn files into shares, with verifiable hashes; This is mostly concerned with chunking and Merkle trees.
  • TahoeIssues/ShareEncoding?, explaining how we turn a chunk into shares: Reed-Solomon, FEC, that stuff

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)
  • TahoeIssues/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?