Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

ipfs-inactive/archive-format

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

[DEPRECATED] archive-format

car - Certified ARchives

(WIP -- quick thought dump)

A car for your data!

car is an archive format, like tar. It is designed to improve upon some deficiencies in tar as well as add fundamental improvements. The deatils of car are still being worked on, but the design space is already well scoped. car is a synthesis of good ideas. Many other archive formats introduced some of its improvements. car is different as it was introduced mainly to work with IPFS and related protocols, like IPLD. But car is useful beyond IPFS.

This is a discussion repo. That means that all of the work gets done in the issues.

Table of Contents

File System Improvements:

  • Seeking Optimized: finding object within a car file should be easy and fast. We can do this via an index with in-file byte offsets.
  • UNIX/POSIX files: full unix + posix files compliance.
  • Extended Attributes: support for xattrs and other extensions.
  • Compression Optimized: support for object-level and archive-level compression. Modular to support new compression protocols.
  • Encryption Optimized: support for object-level and archive-level encryption (through AEADs / NaCl/Box)

Fundamentally New Features:

  • Data Structures: support for archiving more than files-- arbitrary datastructures (first-class JSON, XML, IPLD support)
  • Merkle-Linked: all objects in a car file are merkle-linked -- hash-linked -- together. this means the whole car file is a merkle-dag.
  • Digital Signatures: car has first-class support for Digital Signatures, to verify the authorship and certification of its content.

Whishlist:

  • Repo Friendliness: make it easy, efficient, and useful to use car archives as on-disk repositories for other tools.
  • Authenticated Datastructures: define all car operations as an authenticated datastructure, to have secure, untrusted computing. Merkle-linking and Digital Signatures get us most of the way there.

Related Work:

Contribute

Feel free to join in. All welcome.

Want to hack on IPFS?

License

MIT