IPFS Content IDentifier.

Identifies content in IPFS. There are two versions of identifiers: CIDv0 (in base58) and CIDv1 (can be represented in base58 or base32).

CIDv0 examples (will always start with Qm):


CIDv1 examples:


IPFS Content IDentifier (version 0)

Version 0 Content IDentifiers are just multihashes (see multihash) and do not have a multibase, as opposed to version 1 CIDs. Their string representation is always encoded in base 58.


IPFS Content IDentifier (version 1)

CIDv1 differs from CIDv0 and introduces explicit encoding of the CID version and the IPLD format:


Their string representation can be encoded in different bases (base58, base32, etc..), see multibase

CID upgrade

The process of converting/upgrading a CIDv0 (CID version 0) to a CIDv1 (CID version 1)


Directed Acyclic Graph. From Wikipedia:

In mathematics and computer science, a directed acyclic graph (DAG /ˈdæɡ/), is a finite directed graph with no directed cycles.

DAGs can model many different kinds of information.


Decentralized Identifier.

The W3C defines DIDs precisely in the DID spec:

Decentralized Identifiers (DIDs) are a new type of identifier for verifiable, decentralized digital identity. These new identifiers are designed to enable the controller of a DID to prove control over it and to be implemented independently of any centralized registry, identity provider, or certificate authority. DIDs are URLs that relate a DID subject to means for trustable interactions with that subject. DIDs resolve to DID Documents — simple documents that describe how to use that specific DID. Each DID Document may express cryptographic material, verification methods, and/or service endpoints. These provide a set of mechanisms which enable a DID controller to prove control of the DID. Service endpoints enable trusted interactions with the DID subject.

DID services

A list of services registered on a specific decentralized digital identity (see DID).

Means of communicating or interacting with the DID subject or associated entities via one or more service endpoints. Examples include discovery services, agent services, social networking services, file storage services, and verifiable credential repository services. (source: W3C DID spec)


The distributed web


Distributed Hash Table

From Wikipedia:

A distributed hash table (DHT) is a class of a decentralized distributed system that provides a lookup service similar to a hash table: (key, value) pairs are stored in a DHT, and any participating node can efficiently retrieve the value associated with a given key


Ethereum Name Service


garbage collector

The job of the IPFS garbage collector is to routinely purge unneeded/obsolete objects from the IPFS objects repository.


Browser and content crafter for the distributed web


IPFS daemon implementation in Go


InterPlanetary File System


IPFS path

An IPFS path is a full path to an IPFS object. Examples:


galacteek uses full IPFS paths wherever possible to reference objects.


InterPlanetary Name System:

IPNS is a PKI namespace, where names are the hashes of public keys, and the private key enables publishing new (signed) values. In both publish and resolve, the default name used is the node’s own PeerID, which is the hash of its public key.


IPFS implementation in Javascript

Merkle tree

In cryptography and computer science, a hash tree or Merkle tree is a tree in which every non-leaf node is labelled with the cryptographic hash of the labels or values (in case of leaves) of its child nodes. Hash trees allow efficient and secure verification of the contents of large data structures. Hash trees are a generalization of hash lists and hash chains.


Mutable filesystem

The Mutable Filesystem is an IPFS feature that gives the ability to manipulate IPFS objects as if they were part of a unix filesystem . This is used by the filemanager.


Self-describing base encodings.



Excerpt from the project page:

The Multiformats Project is a collection of protocols which aim to future-proof systems, today. They do this mainly by enhancing format values with self-description. This allows interoperability, protocol agility, and helps us avoid lock in.


Self-describing hash.

A multihash encodes the hash function type, the length of the digest, and the digest value (the actual hash). Their format is:




Your IPFS node (an agent/node in the IPFS Peer-to-Peer network)


The act (and choice/duty) of pinning some content, refers to the


Resource Description Framework

RDF is a standard model for data interchange on the Web. RDF has features that facilitate data merging even if the underlying schemas differ, and it specifically supports the evolution of schemas over time without requiring all the data consumers to be changed.


Remote Pinning Service

A Remote Pinning Service is an IPFS service that pins content on demand, through a specific API. go-ipfs supports remote pinning since the 0.8.0 version.

swarm key

An IPFS swarm key is a private swarm key that is used by nodes in a private IPFS network.

Swarm keys have the following format:


UnixFS is a protocol-buffers-based format for describing files, directories, and symlinks in IPFS. This data format is used to represent files and all their links and metadata in IPFS. UnixFS creates a block (or a tree of blocks) of linked objects.

See the unixfs documentation


Uniform Resource Identifier

The standard identifier format for all resources on the World Wide Web as defined by RFC3986


A URI reference (this is a class name in rdflib)

Verifiable Credential

A standard data model and representation format for cryptographically-verifiable digital credentials as defined by the W3C Verifiable Credentials specification