From e431ba2d7829d369cc2ed94c11bde3a76b0d67b6 Mon Sep 17 00:00:00 2001 From: Max Ogden Date: Tue, 8 Nov 2016 04:41:32 +0000 Subject: update paper and faq --- docs/faq.md | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'docs') diff --git a/docs/faq.md b/docs/faq.md index 643f6bb..88803c9 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -8,6 +8,14 @@ Dat uses hyperdrive and a variety of other modules. Hyperdrive and Dat are compa ## How is Dat different than IPFS? +IPFS and Dat share a number of underlying similarities. Both use Merkle DAGs to represent and deduplicate content-addressed pieces of data, have a mechanism for searching for peers who have a specific piece of data. Both have implementations which work in modern Web browsers, as well as command line tools. + +The two systems also have a number of differences. In order for IPFS to provide guarantees about interoperability, IPFS applications must use only the IPFS network stack. In contrast, Dat is only an application protocol and is agnostic to which network protocols (transports and naming systems) are used. As a result, Dat cannot make the same types of interoperability guarantees as IPFS. + +Dat keeps a secure version log of changes to a dataset over time which allows Dat to act as a version control tool. The type of Merkle tree used by Dat lets peers compare which pieces of a specific version of a dataset they each have and efficiently exchange the deltas to complete a full sync. It is not possible to synchronize or version a dataset in this way in IPFS without implementing such functionality yourself, as IPFS provides a CDN and/or filesystem interface but not a synchronization mechanism. In short, IPFS provides distribution of objects, Dat provides sychronization of datasets. + +Dat links are private and unadvertised unless they are explicitly shared publicly by the user, meaning that Dat supports private, end-to-end encrypted data exchange by default. In IPFS nodes must be encrypted to prevent them from being traversable (unlisted), but are still advertised. + ## Is there JavaScript implementation? Yes, find it on GitHub: [dat-js](http://github.com/joehand/dat-js). -- cgit v1.2.3