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.
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.
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.
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,
Multihashes used by mediachain use the SHA2-256 algorithm, which results in base 58 strings
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.:
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.
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.
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.
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.