Holochain Glossary


Browse the glossary using this index

Special | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | ALL

Page:  1  2  3  4  5  6  7  8  (Next)
ALL

A

Absolutism

The idea that there is always only ONE absolute shared frame of reference or view of reality. For example, global ledger consensus systems treat the shared ledger data as the absolute truth of the system at all times.

Agent

An entity operating with agency. A human or software agent makes decisions outside of the holochain code.

Author

The agent who originally created the information on their source chain / author chain.

B

Blacklist

A list of nodes that are blocked for attempting to propagate invalid information.

Blockchain

An architecture used by Bitcoin, Ethereum and many cryptocurrencies to decentralize maintenance of a global ledger of data.

C

CALM

Consistency As Logical Monotonicity. (see Monotonicity)

CAP Theorem

A theorem describing the limitations of sharing stateful data across a network. CAP stands for Consistency, Availability, Partition Tolerance. Consistency means that data requested from two parts of the network has the same value at the same time. Availability means that data can be requested and retrieved immediately from any part of the network. Partition Tolerance means that gaps in network connectivity do not break Consistency or Availability. Consistency and Availability are both possible while the network has no Partitions but real world networks are frequently partitioned. (see Eventual Consistency and PACELC theorem).

Ceptr

Short for Receptor. The distributed application and communications framework that Holochains are one small part of. See Ceptr.org for more information.

Chain Entry

A unit of data added to an agent's source chain.

Consensus

In the context of decentralized systems, it is the agreement among the nodes about the state of the system.

Countersigning

When all agents involved in a transaction sign that transaction and store it as an entry in each other's source chains.

Cryptographic Proof

A mathematical proof that some data has not been tampered with (hash) or that it was created by a specific author (signature). Usually multiple cryptographic proofs are combined to create a functioning system.

D

Data Positivism

The idea that data represents absolute "truth" in and of itself. Holochain does not subscribe to this idea. (see Data Relativism).

Data Relativism

The idea that data only has meaning in an interpreted context. Holochain is Data Relativistic, the interpreted data is what each agent is aware of what data other agents broadcast and when. (see Data Positivism).

Decentralized

Systems that maintain integrity without supervision from priviledged servers or authorities.

Distributed

Systems requiring all participants to share the responsibility of maintaining network integrity. (see P2P).

Distributed Hash Table (DHT)

A structure that enables data to be shared across many machines and easily retrieved by its cryptographic hash. The hash facilitates both efficient lookup and verification that the content has not been tampered. (see Cryptographic Proof)

Distributed Public Key Infrastructure (DPKI)

A decentralized system to lookup the address/user for a given public key. Supports translating low level cryptographic proofs (signatures) into trustworthy real-world identity data. (see Cryptographic Proof)

DNA

In Holochain: the instructions (app code and data schemas) that are valid for a given network/DHT. In biology: the instructions coded into the nucleus of every cell in an organism (DeoxyriboNucleic Acid).

E

End-to-End Encryption

A pattern of interaction in which keys are only stored at endpoints and data can’t be decrypted between.

Entry

A record in a source chain recorded by the agent who controls that chain. Public entries are broadcast to the DHT. (see DHT).

Eventual Consistency

Distributed computing term. New data broadcast across an eventually consistent system may be temporarily inconsistent but is guaranteed to eventually become consistent. Holochain is eventually consistent. Consistency in Holochain does not mean global consensus but that each agent knows exactly what was asserted by whom and when. (see Consistency).

Expression

A unique instance of a Genome (see Genotype).


F

Flagged

Identified as not conforming to app-defined validation rules.

Full Peer

A full holochain peer is a machine running both authoring new entries to its local source chain and participating as a DHT Node for synchronizing shared data. (see DHT and Source Chain).

G

Genotype

In Holochain: two hApps with identical genotypes (same code/DNA) but used by different groups to be expressed in different ways. The different expression separates the network, participants and data. (See phenotype and expression)

Global Ledger

A globally shared, immutable and chronological record of all transactions in a particular system.

Gossip

Communications between nodes in the DHT to collaboratively organise what data each node should be holding, and managing.

H

Hash

A mathematical algorithm that compactly maps data in a one-way function that is infeasible to invert. The workhorse of modern cryptography. (see Cryptographic Proof).

Hash Chain

The successive use of cryptographic hash functions to a piece of data that allows many single-use keys to be created from a single key.

Holochain ID

The hash identifying and allowing access to a holochain network. This is the hash of the holochain's DNA (application code and data schemas) combined with unique identifying information about the group using this DNA.

Holochain network

A holochain network is a validating distributed hash table (DHT). Every node enforces validation rules on DHT data against the signed chains where the data originated. A holochain network collectively achieves similar security and data distribution to a blockchain system. Holochain networks are designed very differently to blockchains and are more scalable, using cheaper commodity devices to participate in.

I

Immune System

Flags potentially malicious data and users (which violate validation rules) and provides mechanisms to ensure security and reliability.

L

Link Base

The hash of the primary resource the link relationship points from.

Link Tag

A string defining the type of relationship, and how it should be looked up in the future

Link Target

The hash of the secondary resource the link relationship points to.

Links

A links entry committed to a chain as a list of links. Directed relations convert a sparse hash space/storage into a graph. A link is a directed reference between two hash addresses. There are three parts to each link:
  • Base: Provide a hash for the primary resource that you want to define a relation to
  • Tag: Provide a string that defines the relationship, and which defines how it should be looked up in the future
  • Link: Provide a hash for the secondary resource that you want to associate with the Base


Local Store

(see source chain)

M

Merkle Proof

Mathematical proof to show that any small part of data is part of a much larger set of data and has not been tampered with. The proof does not require access to the entire large data set to work. The proof relies on a data structure called a Merkle Tree. (see Merkle Tree).

Merkle Tree

A hash tree that allows efficient and secure verification of the contents of large data structures. Something like a blockchain combined with a binary search. e.g. A user of a Merkle tree with a publicly known and trusted root can ask for a Merkle Proof to verify any value in the tree is correct. (see Merkle Proof).

Metadata

(in the DHT) Our DHT allows people to store data (which gets hashed and then stored at the address that is the hash of the data), as well as store metadata about that the data at that hash, such as who has verified it, or what data it links to.

Monotonic

The idea that stored data only increases, never decreases. This means all data points are kept then aggregated (e.g. using a `max` function) rather than updated in place. In distributed systems, it is very hard to synchronize the removal of data, so we keep a record of the existence of the data, and mark it retracted (or expired, or flagged as invalid). A retraction is not a deletion of the original data but an addition of new data that asserts the old data is outdated.

Multi-party Transaction

A transaction which involves multiple different agents, and must be countersigned by all parties to each of their source chains before propagation on the shared DHT.

N

Neighborhood

Each holochain network has a configured redundancy. Each entry is copied this many times to different nodes maintaining the DHT. Each entry is sent to the nodes with the hashes most similar to the entry's own hash. This forms a "neighbourhood" for the nodes around that entry. The size of the neighbourhoods is the redundancy of the network. Nodes in a neighborhood "gossip" to each other to track participation in the storage of the entry and to make sure their neighbors haven't gone rogue. If a node drops or cannot produce the entry when requested then it is replaced in the network by the node with the next most similar node ID to the entry hash. (See Immune System)

Node

A node is a machine participating in the DHT peer-to-peer communications involved in sharing and validating data.

Node ID

The address of a node in the DHT.

Nucleus

The Application Container for executing the instructions in the DNA of the Holochain application. The DNA is split in "Zomes" (i.e. chromosome) that may be written in different programming languages. The Nucleus contains language specific "Ribosomes" that provide a virtual machine for executing the DNA code.

P

P2P

Peer-to-Peer: An approach to distributed system development where every peer is an equal to other peers and they coordinate in that manner. (see Distributed)

P3

Protocol for Pluggable Protocols - Ceptr's self-describing protocols stack which enables interoperability between holochain networks.

PACELC theorem

An extended form of CAP theorem to include latency even when there are no network partitions. Reads like "if Partition then Availability or Consistency else Latency or Consistency". (see CAP theorem).

Phenotype

In this context, a phenotoype is the way in which two holochains with identical code (genotype) express themselves in different ways thus making them separate and unique. What is different is the group of people and/or what they are communicating to each other. (See genotype)

Private Key

A secret key that can encrypt, decrypt or sign some data. The functionality of a private key is specific to each cryptographic system. The private key is used to perform sensitive operations. In symmetric cryptographic systems there is only one key, the private key (e.g. password for encryption/decryption). In asymmetric cryptographic systems there is a complementary public key to handle the inverse operation (e.g. sign vs. verify). (see public key).

Provenance

The official record of origin of data.

Public Key

The companion key to a private key in an asymmetric cryptographic system. The functionality of a public key is specific to each cryptographic system. The public key is used to verify sensitive operations without allowing the key holder to perform sensitive operations (e.g. verifying a signature). (see private key).

R

Ribosome

DNA code written in a some programming language to be executed by nodes in the holochain network.

S

Schema

A definition used to define what data can be used in a context, as well as some parameters for validating that data. (is it required, in a specific range, etc.)

Semantic Tree

A native data structure of Ceptr. Trees are used to show the structure of data and each node in the tree has a semantic marker referencing its definition and methods.

Semtrex

Semantic Tree Regular Expressions: A universal parsing system for matching against semantic trees.

Shard

A subset of a large data set. Holochain networks have local DHT shards composed of all the entries each node is in the neighbourhood of. The size of each holochain network shard is the average data produced by each node multiplied by the network redundancy. Higher redundancy means better availability, lower latency and less risk of data loss but also increased storage and network costs. Infinite redundancy means all nodes hold all data like a full node in a blockchain system. (see neighbourhood)

Shared Store

The wholeness of holochains come from combining local signed source chains with a shared data store via DHT.

Signature

A cryptographic signature is usually created by creating a cryptographic hash of some data and encrypting that hash with your private key. This proves it was you who signed it (or at least someone who had your keys, and that the data being signed hasn't been altered because it resolves to the expected hash).

SNARK

Succinct Non-interactive Argument of Knowledge - A form of Zero Knowledge Proof that can be used for showing validation of a particular process.

Source

The agent or person that authored data or sent a message.

Source Chain

(a.k.a Authoring Chain) This is the local signed hash chain that data is committed to. Public entries are shared to the DHT after they are committed to the local chain. Private entries are not shared to the DHT but are available to the authoring agent in their local chain.

Source ID

The identity of the source of a particular message, or piece of data or metadata.

T

Timestamp

Holochain activities are recorded with the time and date something happened according to the time on their machine. Holochain networks have no guaranteed global time, but may refuse to synchronize transactions with nodes whose clocks are too far out of sync.

Trusted timestamp server

A centralised server that signs data with a timestamp. Can be used to prove that some data existed at or before some time and has not been tampered with since. The proof relies on trusting the timestamp server to protect their private key and not allow fake times. Some existing trusted timestamp servers are maintained by the same organisations that issue SSL certificates. Blockchain is a distributed trusted timestamping service that tracks time in blocks rather than seconds.

U

User

In the context of data attribution it refers to the Author or Agent who created the data. In the context of an Application or UI/UX, it refers to the person using the app (seeing the data).

V

Validating DHT

A DHT where every node executes consistent validation rules on data before propagating that data.

Validation

Confirming that data is valid according to the shared rules of a holochain network. Validation is done before data is committed to honest source chains, and again every time it is shared to an honest DHT participant. Invalid data is not committed locally but is stored if it is broadcast to the network.

Validation Rules

Rules that define what data can be committed to honest source chains and what data can propagate to the DHT.

Z

Zero Knowledge Proof

Mathematical proof that allows an agent can prove to another agent that something is true without exposing any additional information.

Zome

(as in Chromosome) Each nucleus can contain many zomes. Each zome is a logical bundle of software code that defines the validation rules used by the holochain network. (see validation rules).


Page:  1  2  3  4  5  6  7  8  (Next)
ALL