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):
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¶
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.
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
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.
- 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.
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.
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:
/key/swarm/psk/1.0.0/ /base16/ 6e9eb7f47b10a0e09afbc049744e58067ed9ad694959b98e7d72af8513e3382e
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