Skip to content
Mistakia edited this page Apr 21, 2020 · 3 revisions

Record forms a peer-to-peer network through libp2p & bitboot to exchange data using IPFS.

Identity

A public / private key pair. Users can have multiple identities.

Library

A collection of tracks and links to other libraries. Currently, there is no global registry of libraries. Discovery occurs by examining the social graph, by out-of-band sharing, or peer discovery on the network.

Peer

A running instance of the Record application or an instance of record-node. A peer can have many libraries.

Replication / Synchronization synchronize

Users choose which libraries to synchronize with and thus make them available for others. Because libraries are append-only and each entry links to the previous entry, replication is as simple as asking peers for the latest heads: entries that are not linked to by another entry.

Linking linking

Users choose which libraries to persist by linking them to their library. Additionally, this creates an entry that links to that library within their library making it discoverable to those synchronizing with them.

Concepts In Depth

Library

An unforgeable append-only (immutable) signed sequence of entries (IPFS-Log). There are three types of entries (About, Track, Link) performing two types of operations (PUT & DEL).

Only those in possession of the private key(s), as defined by the access controller, can append valid entries. This property allows for libraries to be shared trustlessly on a peer-to-peer network with confidence in it's integrity.

Currently, the application supports using one identity along with one library. In the future, users will be able to create multiple identities and libraries, including shared libraries where multiple identities are allowed to append valid entries along with adding and revoking access (More information on access controllers).

Entry & Data Structure

wip

Peer Discovery

Currently, peer discovery happens through 4 main ways: MulticastDNS, Stardust, Bitboot, and Out-of-band. Peers will discover other peers on the same network via MulticastDNS and on other networks behind NATs through Stardust signalling servers. Internet visible peers can be found using bitboot, where peers will join the bittorrent DHT network using hard-coded bootstrap nodes and find other record peers who are hanging around a given location of the network to exchange peer information (More info). In the future, many more peer discovery methods will be used as libp2p matures.

Clone this wiki locally