MEDIACHAIN
(a technical overview)
The State Of
Network Layout
- Content Addressed
- CBOR serialized
- libp2p is Great
All objects are IPFS + IPLD objects
Data Objects
{
"chain": {
"@link": "QmfW62qzegxSRiht8MXmVhryWAF3MicsFpsk3hUF5MewPR"
},
"meta": {
"translator": "GettyTranslator/0.1",
"translated_at": "2016-06-30T20:05:05.100507",
"raw_ref": {
"@link": "QmNpndJVVS79PyavnLbpaD9BgLBF5akv9NQR7PPjXBKo6D"
},
"data": {
"artist": "Reg Speller",
"title": "...",
...
],
"date_created": "2005-09-01T00:00:00-07:00"
},
...
}
Structure layer
• Strict structure
• All fields required
• Enforced by transactors
• Object links
Data Objects
{
"chain": {
"@link": "QmfW62qzegxSRiht8MXmVhryWAF3MicsFpsk3hUF5MewPR"
},
"meta": {
"translator": "GettyTranslator/0.1",
"translated_at": "2016-06-30T20:05:05.100507",
"raw_ref": {
"@link": "QmNpndJVVS79PyavnLbpaD9BgLBF5akv9NQR7PPjXBKo6D"
},
"data": {
"artist": "Reg Speller",
"title": "...",
...
],
"date_created": "2005-09-01T00:00:00-07:00"
},
...
}
Resource layer
• Defined structure
• Not visible to transactors
• Translation metadata
Data Objects
{
"chain": {
"@link": "QmfW62qzegxSRiht8MXmVhryWAF3MicsFpsk3hUF5MewPR"
},
"meta": {
"translator": "GettyTranslator/0.1",
"translated_at": "2016-06-30T20:05:05.100507",
"raw_ref": {
"@link": "QmNpndJVVS79PyavnLbpaD9BgLBF5akv9NQR7PPjXBKo6D"
},
"data": {
"artist": "Reg Speller",
"title": "...",
...
],
"date_created": "2005-09-01T00:00:00-07:00"
},
...
}
Content layer
• Loose structure
• All fields optional
• Derived/translated metadata
Schema (Structure Layer)
Schema (Resource Layer)
"translator": "GettyTranslator/0.1",
"translated_at": "2016-06-30T20:05:05.100507",
"raw_ref": {
"@link": "QmNpndJVVS79PyavnLbpa..."
},
"data": {
...
}
Versioned translator
Resource Layer
"translator": "GettyTranslator/0.1",
"translated_at": "2016-06-30T20:05:05.100507",
"raw_ref": {
"@link": "QmNpndJVVS79PyavnLbpa..."
},
"data": {
...
}
Date
Resource Layer
"translator": "GettyTranslator/0.1",
"translated_at": "2016-06-30T20:05:05.100507",
"raw_ref": {
"@link": "QmNpndJVVS79PyavnLbpa..."
},
"data": {
...
}
Original raw bytes (on IPFS)
Resource Layer
Schema (Content Layer)
- Lightweight meta-schema
Content Layer
- Derived
- Exact structure TBD
- Publish data object to IPFS
- Generate corresponding JournalEntry
- Ping transactors with JournalEntry
Writing
Reading/Reconciliation
- Retrieve chain
- Statements accepted or rejected at read time
- Temporal ordering matters only for self-overrides
- Basically a fold
Big
Un
Knowns
Consensus
+ scaling
Consensus
- Currently: Raft, federated
- Paxos? (probably not)
- Tendermint/PBFT
- Stellar
- PoW?
Scaling
- Hierarchical scaling (DNS)
- Keyspace sharding (Couch, CockroachDB)
- Blockchain sharding (Ethereum)
- Topic sharding
Identity
+ reputation
Schema Translation
+ normalization
Canonical Identifiers
+ "unmerges"
Ultimate goal:
an open, permissionless system that captures many (sometimes overlapping, sometimes conflicting)
views of the world
Thank you!
http://mediachain-slack.herokuapp.com
@mediachain_
@parkan
mediachain/mediachain
(with an underscore)
Mediachain: a technical overview
By Arkadiy Kukarkin
Mediachain: a technical overview
- 1,683