ipfs / notes

IPFS Collaborative Notebook for Research
MIT License
401 stars 30 forks source link

IPFS and the Canonical Content Registry #85

Open parkan opened 8 years ago

parkan commented 8 years ago

(xposting from the gist based on achin's request in #ipfs on freenode)

Canonical Content Registry Foundation

Today, there is no reliable way to persist metadata for digital media as it travels across the internet.

Mine is working to build a global content registry on top of the Bitcoin blockchain to serve as an open metadata layer for canonical representations of digital media.

The goal of such a registry is to enable a new decentralized hypermedia protocol that powers the next generation of digital content applications, where creators and consumers to own their media, identity and interactions across the internet, without dependency on industrial or platform gatekeepers.

In March, we published a high level summary of how such such a system could work, titled the Canonical Content Registry. Today, we are taking the first steps to start building it by sharing a proposal for a technical implementation on top of Blockstore. We welcome your feedback and look forward to starting a conversation.

Registration Store

This layer stores the actual metadata and annotations on top of blockstore. We use a namespace with a very low registration cost, no length or vowel discounts, and no expiration. Each work is stored under an opaque identifier "name" with a metadata "profile" [NOTE: this may still be prohibitively expensive due on transaction costs, so we may need to bundle multiple registrations up to the full 8k block] details of registration in blockstore TBD

Metadata blocks are written to IPFS as tokenized, signed claims (similar to the statements in blockchain profiles). The claims may be signed by the author, an organization representing same (gallery, record label, archival service, etc), an interested third party (a fan or volunteer editor), or by multiple parties together, such as an image annotation platform (e.g. https://mmmine.com/) and that platform's contributing user.

The records should be written to IPNS names to provide mutability and versioning, but can also be written to normal IPFS ids until IPNS is functional.

It is expected that a single block will contain a set of complementary claims about a single resource, such as a song or photograph.

Perceptual Resolver

This layer allows location of metadata identifiers pointing into the registration store based on perceptual similarity. One possible design would use perceptual hashes and a Hamming DHT for efficient fuzzy lookups.

Non-perceptual resolver/search

String-based search or other lookup mechanisms can be added for lookups into the metadata store.

Reputation System

Because it is impossible to computationally verify true authorship, we must defer to authority in the subject matter. For example, a claim of 3rd party authorship on a historical photo signed by the Library of Congress is very likely true, while a claim of self ownership on a popular recording by an anonymous user is likely not trustworthy and should not be used for e.g. royalty payments. We can also describe more granular reputation structures, for example an annotation community like Mine can co-sign a claim together with the user before writing it out to account for moderation happening internal to the site.

Prototype Implementation (MusicBrainz port)

For the prototype, a portion of the MusicBrainz database is used to populate the Registration Store, with corresponding AcousticID fingerprints used for the resolver, with the following modifications:

parkan commented 8 years ago

See also https://github.com/ipfs/faq/issues/15