Mediachain

Q1 2017 Tech Overview

DDEX RIN

???

Today

GRD

Mediachain

Data Model

[ISRC, ISWC, spotify URI, etc] =>
    [statement, statement, statement]
["T-070.232.940-5", "USSM19902990", "spotify:track:1OOtq8tRnDM8kG2gqUPjAj"] =>
    ...

Statements

StatementMsg = {
  id: string,
  publisher: string,
  namespace: string,
  body: <metadata ref>,
  timestamp: number,
  signature: Buffer
};
  • wrap metadata with crypto identity, ts, etc
  • used to generate indexes
  • can represent single item to multi-TB archive

Metadata Objects

  • anything that's representable in JSON
  • packed as CBOR/IPLD
  • good at single statements, expandable to full graph representation

Schemas

  • accept anything
  • encourage semantically versioned schema specifications (w/validation)
  • schema specs = first class objects
  • snowplow/schema-guru, jsonschema, etc compatible

Schemas

  • schema tag indexes ("give me stuff I understand")
  • building up to translation

Namespaces

music.spotify.recordings
music.umg.interscope.suretone.compositions
music.sme.*
u.music.*

Namespaces

music.spotify.recordings
music.sme.*

}

cross-namespace query gives complete results

Reconciliaton

  • Read-time (can be cached)
  • Only include who you trust
  • Conflicts flagged/surfaced

Updates

  • Update events sent to PubSub
  • CRDT/CALM style updates, no total ordering
  • First class retractions

Integrity + Security

  • Everything is signed + content addressed/self-certifying
  • Can linearize + checkpoint journal into a blockchain for extra paranoia

IPFS+

  • p2p app construction toolkit
  • crypto-friendly
  • wide support

Datastore

  • metadata in RocksDB
  • statements in SQLite
  • 5000+ inserts/sec single node
  • mostly 1:1 IPFS compatible
  • can easily be HFile, haystack, etc

APIs

  • REST
  • aleph repl
  • MCQL

APIs

SELECT FROM music.* WHERE 'wki:isrc' = 'USSM19902990'

music.spotify

music.sonybmg

SELECT FROM music.* WHERE 'wki:isrc' = 'USSM19902990'

music.spotify

music.sonybmg

SELECT FROM music.* WHERE 'wki:isrc' = 'USSM19902990'
Made with Slides.com