
Dat Desktop, a peer to peer data sharing app - webmaven
https://datproject.org/blog/2017-01-10-dat-desktop-is-here
======
IsmaOlvey
And here are the actually interesting parts:

[https://docs.datproject.org/how-dat-works](https://docs.datproject.org/how-
dat-works)

[https://github.com/datproject/docs/blob/master/docs/hyperdri...](https://github.com/datproject/docs/blob/master/docs/hyperdrive_spec.md)

Seems very similar to BitTorrent, but without trackers, with Content Defined
Chunking (instead of Fixed Size Chunking) and utilizing Merkle trees + public
key cryptography to enable append-only operations on shared data sets (rather
than 'read-only once published').

~~~
filiwickers
Thanks for the links, here are a few more you may find interesting:

In progress paper -
[https://github.com/datproject/docs/blob/master/papers/dat-
pa...](https://github.com/datproject/docs/blob/master/papers/dat-paper.pdf)

Dat protocol site -
[https://www.datprotocol.com/](https://www.datprotocol.com/)

------
warcode
If this lets me download specific files inside a shared folder instead of
syncing the entire thing it would probably be the best sharing tool so far.

~~~
filiwickers
Yes! Dat protocol supports syncing only the data you want, including storing
all history or only the latest content. We just need to get the UI added for
this in the desktop app & CLI.

------
kevincox
What are the differences between this and librevault?

~~~
filiwickers
Not very familiar with librevault, but on a cursory glance the design seems
fairly consistent (p2p, encryption, offline support).

However, Dat has put a lot of focus into developing an ecosystem to build
applications on top of the protocol. This is making awesome things like Beaker
Browser[0] and peer-npm possible [1].

[0] - [https://beakerbrowser.com/](https://beakerbrowser.com/) [1] -
[https://github.com/noffle/peer-npm](https://github.com/noffle/peer-npm)

