Glossary
Here you’ll find definitions for terms used throughout the mediachain project, including this documentation. Filling in the glossary is an ongoing effort; please file an issue if you come across something that’s missing or seems incomplete.
Data Object
A “blob” of data stored in a mediachain node’s datastore. This is typically a CBOR-encoded map of metadata, similar to a JSON object. Data objects are referred to by their multihash in statements, which contain the signature, namespace, and other “meta-metadata” that contextualizes the object within the mediachain network.
Datastore
A content addressed on-disk repository of data objects managed by a mediachain node. The datastore is currently implemented by mcnode as a RocksDB database whose keys are the multihash of the object’s contents.
Multihash
An encoding for cryptographic hash digests that allows a program to identify the
algorithm used to create the hash. Multihashes are typically represented as base 58
strings, although they use a compact binary representation internally. For more information,
see https://github.com/multiformats/multihash.
Multihashes used by mediachain use the SHA2-256 algorithm, which results in base 58 strings
prefixed with Qm
, e.g. QmTVsocFCSEdPyM8dZ734GRhjvvmYyL9fShyezVkbPj17E
.
Multihashes are used in mediachain for several purposes, most importantly as peer ids and to identify data objects.
Namespace
A “topic” that serves to partition the statements published within the mediachain network into related logical groupings.
Namespaces are organized in a dot-separated hierarchy that gets more specific as you descend, e.g.: museums.moma.artists
.
Node
See peer
Peer
A member of the mediachain peer-to-peer network. Technically synonymous with “node”, although the term “node” is typically used to refer to a user’s local node, as opposed to a remote “peer” in the network.
Peer Id
A unique, cryptographically-verifiable identifier for a mediachain peer. The peer id is the
multihash of the peer’s public key, and is most often used as a
base 58-encoded string, e.g. QmTVsocFCSEdPyM8dZ734GRhjvvmYyL9fShyezVkbPj17E
.
Publisher Id
The Ed25519 public key for a peer’s signing key. This is the keypair used to sign statements during publication, and is distinct from the key used to derive the peer id. Typically represented as a base 58 string.
Statement
The main “unit of publication” within a mediachain node. A statement contains a signed “body”, which is most often a multihash reference to a data object. In addition to the body, the statement “envelope” contains the namespace the statement belongs to, the identity of the publisher, links to related statements, the publication timestamp, and other contextual information.