Tuesday, 5 April, 2016 UTC


Summary

Hyperdrive, is a JavaScript library that allows you to distribute feeds of binary data to multiple peers on the internet. It was developed to be the main data and file distribution layer for the dat project. It works both in the browser using browserify or in node.js.
On a technical level it works in a similar way to BitTorrent. You can use Hyperdrive to distribute any kind of dataset or just to do classic file sharing with multiple peers where every peer is helping share the data.
This talk starts out with a short technical overview about how Hyperdrive works, including:
  • Diffing - Given two version of a file how do you figure out which parts has changed?
  • Deduplication - How do you make sure a single file is only downloaded once even though it is shared multiple times in different feeds?
At the end of the talk you'll see live demos, using a Hyperdrive build in the browser, to share CSV files, pictures and videos.
If you're interested in learning more about the low level details a full technical explaination on how it works can be found here: https://github.com/mafintosh/hyperdrive/blob/master/SPECIFICATION.md