Tahoe-LAFS

File system

Initial release| 2 May 2007[1]
Stable release|

1.20.0[2] / 19 December 2024; 7 months ago (2024-12-19)

Repository|

* tahoe-lafs.org/trac/tahoe-lafs/browser

Written in| Python[3]
Operating system| Cross-platform
Available in| English
Type| Cloud computing
License| Choice of GNU GPL 2+ and a custom open source licence with a grace period[4]
Website| tahoe-lafs.org

Tahoe-LAFS (Tahoe Least-Authority File Store[5]) is a free and open, secure, decentralized, fault-tolerant, distributed data store and distributed file system.[6][7] It can be used as an online backup system, or to serve as a file or Web host similar to Freenet,[citation needed] depending on the front-end used to insert and access files in the Tahoe system. Tahoe can also be used in a RAID-like fashion using multiple disks to make a single large Redundant Array of Inexpensive Nodes (RAIN) pool of reliable data storage.

The system is designed and implemented around the "principle of least authority" (POLA), described by Brian Warner (one of the project's original founders) as the idea "that any component of the system should have as little power of authority as it needs to get its job done".[8] Strict adherence to this convention is enabled by the use of cryptographic capabilities that provide the minimum set of privileges necessary to perform a given task by asking agents. A RAIN array acts as a storage volume; these servers do not need to be trusted by confidentiality or integrity of the stored data.

## History

[edit]

Tahoe-LAFS was started in 2006 at online backup services company All My Data[8] and has been actively developed since 2007.[9] In 2008, Brian Warner and Zooko Wilcox-O'Hearn published a paper on Tahoe at the 4th ACM international workshop on Storage security and survivability.[10]

When All My Data closed in 2009, Tahoe-LAFS became a free software project under the GNU General Public License or The Transitive Grace License, which allows owners of the code twelve months to profit from their work before releasing it. In 2010, Tahoe-LAFS was mentioned as a tool against censorship by the Electronic Frontier Foundation.[11] In 2013, it was one of the hackathon projects at the GNU 30th anniversary.[12]

## Functionality

[edit]

Overview of Tahoe-LAFS

The Tahoe-LAFS Client sends an unencrypted file via a web API to the HTTPS Server. The HTTPS Server passes the file off to the Tahoe-LAFS Storage client which encrypts the file and then uses erasure coding to store fragments of the file on multiple storage drives.[13]

Tahoe-LAFS features "provider-independent security", in that the integrity and confidentiality of the files are guaranteed by the algorithms used on the client, independent of the storage servers, which may fail or may be operated by untrusted entities. Files are encrypted using AES, then split up using erasure coding, such that only a subset K of the original N servers storing the file chunks need to be available in order to recreate the original file.[14][15] The default parameters are K=3, N=10, so each file is shared across 10 different servers, accessing it requires the correct function of any 3 of those servers.[10]

Tahoe provides very little control over on which nodes data is stored.[16]

## Fork

[edit]

A patched version of Tahoe-LAFS exists from 2011, and was made to run on anonymous networks such as I2P, with support for multiple introducers. There is also a version for Microsoft Windows.[17] It is distributed from a site within the I2P network.[citation needed] In contrast to normal Tahoe-LAFS operation, when I2P and Tahoe-LAFS are used together the location of the nodes are disguised. This allows for anonymous distributed grids to be formed.

## See also

[edit]

* Free and open-source software portal

* CephFS (file system)
* Coda (file system)
* Comparison of distributed file systems
* Freenet
* GlusterFS
* Moose File System
* LizardFS
* iFolder
* List of distributed file systems
* Lustre (file system)
* Parallel Virtual File System
* XtreemFS
* IPFS

## References

[edit]

1. ^ "Tahoe-LAFS Documentation". tahoe-lafs.org. Archived from the original on 21 August 2012. Retrieved 1 May 2013.
2. ^ "release 1.20.0". tahoe-dev (Mailing list). 19 December 2024. Retrieved 29 December 2024.
3. ^ Willis, Nathan (17 February 2012). "Weekend Project: Get Started with Tahoe-LAFS Storage Grids". Linux.com. Archived from the original on 27 October 2021. Retrieved 5 March 2021.
4. ^ "About.RST in trunk/Docs – Tahoe-LAFS". Archived from the original on 7 June 2020. Retrieved 7 January 2013.
5. ^ "Tahoe-LAFS wiki". tahoe-lafs.org. Archived from the original on 5 December 2014. Retrieved 1 December 2014.
6. ^ Paul, Ryan (4 August 2009). "P2P-like Tahoe filesystem offers secure storage in the cloud". Ars Technica. Archived from the original on 11 January 2021. Retrieved 3 March 2021.
7. ^ Monteiro, Julian Geraldes (16 November 2010). "Modeling and Analysis of Reliable Peer-to-Peer Storage Systems" (PDF). Sophia Antipolis: Université de Nice. p. 17\. Archived (PDF) from the original on 2 July 2013. Retrieved 15 December 2012.
8. ^ a b Byfield, Bruce (20 May 2014). "Hide Cloud Data from the Cloud Vendor". Linux Magazine. Archived from the original on 27 February 2021. Retrieved 3 March 2021.
9. ^ O'Brien, Danny (6 September 2013). "Tahoe and Tor: Building Privacy on Strong Foundations". Electronic Frontier Foundation. Archived from the original on 25 January 2021. Retrieved 3 March 2021.
10. ^ a b Wilcox-O'Hearn, Zooko; Warner, Brian (31 October 2008). "Tahoe: The least-authority filesystem" (PDF). Proceedings of the 4th ACM international workshop on Storage security and survivability. Association for Computing Machinery. pp. 21–26\. doi:10.1145/1456469.1456474. ISBN 978-1-60558-299-3. S2CID 12056440. Archived (PDF) from the original on 26 January 2021. Retrieved 5 March 2021.
11. ^ Palmer, Chris (14 December 2010). "Constructive Direct Action Against Censorship". Electronic Frontier Foundation. Archived from the original on 20 January 2021. Retrieved 3 March 2021.
12. ^ "GNU 30th anniversary celebration and hackathon". 28 September 2013. Archived from the original on 4 April 2021. Retrieved 3 March 2021.
13. ^ Huchton, Scott (March 2011). "Secure mobile distributed file system (MDFS)" (PDF). Monterey, California. Naval Postgraduate School. pp. 8–9\. Archived (PDF) from the original on 21 October 2021. Retrieved 15 December 2012.
14. ^ Haver, Eirik; Melvold, Eivind; Ruud, Pål (2011). "Cloud Storage Vault". Institutt for telematikk. pp. 20–21\. Archived from the original on 27 October 2021. Retrieved 3 March 2021.
15. ^ Lee, Changhoon (2011). Secure and trust computing, data management and applications : STA 2011 workshops: IWCS 2011 and STAVE 2011, Loutraki, Greece, June 28 – 30, 2011. Berlin: Springer. pp. 192–193. ISBN 978-3642223648.
16. ^ Arjan Peddemors, Christiaan Kuun, Rogier Spoor, Paul Dekkers and Christiaan den Besten (29 June 2011). "Survey of Technologies for Wide Area Distributed Storage" (PDF). p. 17\. Archived (PDF) from the original on 3 March 2021. Retrieved 3 March 2021.`{{cite web}}`: CS1 maint: multiple names: authors list (link)
17. ^ "OSPackages – Tahoe-LAFS". tahoe-lafs.org. Archived from the original on 12 November 2013. Retrieved 27 January 2014.

## External links

[edit]

* Official website

* v
* t
* e

Object-capability security

Concepts|

* Principle of least privilege (PoLP)
* Confused deputy problem
* Ambient authority
* File descriptor
* C-list
* Object-capability model
* Capability-based security
* Capability-based addressing
* Zooko's triangle
* Petnames

Operating systems,
kernels|

* Capsicum
* Fuchsia
* Genode
* GNOSIS → KeyKOS → EROS → CapROS
* Hydra
* iMAX 432
* Midori
* NLTSS
* seL4
* HarmonyOS (HarmonyOS NEXT)
* Phantom OS

Programming languages|

* Caja–Cajita
* E
* Joe-E
* Joule

File systems|

* Tahoe-LAFS

Specialised hardware|

* BiiN
* Cambridge CAP
* Flex
* IBM System/38
* Intel iAPX 432
* Plessey System 250
* CHERI

* v
* t
* e

File systems

* Comparison of file systems
* distributed
* Unix filesystem

Disk and
non-rotating|

* ADFS
* AdvFS
* Amiga FFS
* Amiga OFS
* APFS
* AthFS
* bcachefs
* BFS
* Be File System
* Boot File System
* Byte File System (z/VM)
* Btrfs
* CVFS
* CXFS
* DFS
* EFS
* Encrypting File System
* Extent File System
* Episode
* ext
* ext2
* ext3
* ext3cow
* ext4
* FAT
* exFAT
* Files-11
* Fossil
* GPFS
* HAMMER
* HAMMER2
* HFS (Classic Mac OS)
* HFS (MVS)
* HFS+
* HPFS
* HTFS
* JFS
* LFS
* MFS
* Macintosh File System
* TiVo Media File System
* MINIX
* NetWare File System
* Next3
* NILFS
* NILFS2
* NSS
* NTFS
* OneFS
* OpenZFS
* PFS
* QFS
* QNX4FS
* ReFS
* ReiserFS
* Reiser4
* Reliance
* Reliance Nitro
* RFS
* SFS
* Shared File System (VM)
* Smart File System
* SNFS
* Soup (Apple)
* Tux3
* UBIFS
* UFS/UFS2
* soft updates
* WAPBL
* VxFS
* WAFL
* Xiafs
* XFS
* Xsan
* zFS (z/OS)
* ZFS (Sun)

Optical disc|

* HSF
* ISO 9660
* ISO 13490
* UDF

Flash memory and SSD|

* APFS
* FAT
* exFAT
* TFAT
* EROFS
* F2FS
* JFS
* NVFS

| host-side wear leveling|

* CHFS
* JFFS
* JFFS2
* LogFS
* NILFS
* NILFS2
* YAFFS
* UBIFS

|

Distributed parallel|

* BeeGFS
* Ceph
* CXFS
* GFS2
* Google File System
* OCFS2
* OrangeFS
* PVFS
* QFS
* Xsan
* more...

NAS|

* 9P
* AFS (OpenAFS)
* AFP
* Coda
* DFS
* Google File System
* GPFS
* Lustre
* NCP
* NFS
* POHMELFS
* Hadoop
* SMB (CIFS)
* SSHFS
* more...

Specialized|

* Aufs
* AXFS
* Boot File System
* Compact Disc File System
* cramfs
* Davfs2
* EROFS
* FTPFS
* FUSE
* Lnfs
* LTFS
* NOVA
* MVFS
* SquashFS
* UMSDOS
* OverlayFS
* UnionFS

Pseudo|

* configfs
* devfs
* debugfs
* kernfs
* procfs
* specfs
* sysfs
* tmpfs
* WinFS

Encrypted|

* eCryptfs
* EncFS
* EFS
* Rubberhose
* SSHFS
* ZFS

Types|

* Clustered
* Global
* Grid
* Self-certifying
* Flash
* Journaling
* Log-structured
* Object
* Record-oriented
* Semantic
* Steganographic
* Synthetic
* Versioning

Features|

* Case preservation
* Copy-on-write
* Data deduplication
* Data scrubbing
* Execute in place
* Extent
* File attribute
* Extended file attributes
* File change log
* Fork
* Inode
* Links
* Hard
* Symbolic

Access control|

* Access-control list
* Filesystem-level encryption
* Permissions
* Modes
* Sticky bit

Interfaces|

* File manager
* File system API
* Installable File System
* Virtual file system

Lists|

* Cryptographic
* Default
* Log-structured

Layouts|

* Master Boot Record
* GUID Partition Table
* Apple Partition Map

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template