access control

The selective restriction of access to read a document or collection in Swarm.

access control trie

A tree-like data structure containing access keys and other access information.

access key

A symmetric key used for encryption of reference to encrypted data.

access key decryption key

The key granted by the publisher to a party in a multi-party selective access scenario, used to decrypt the global access key.

accessible chunk

A chunk that is accessible by routing a message between the requester and the node closest to the chunk.

addressed envelope

A construct where the address of the single owner chunk is created before the chunk content is associated with it.

anonymous retrieval

The act of retrieving a chunk without disclosing the identity of the requestor node.

anonymous uploads

Uploading data while keeping the uploader’s identity hidden, leveraging the forwarding Kademlia routing.

area of responsibility

The area of the overlay address space in the node’s neighbourhood. A storer node is responsible for chunks belonging to this area.

authoritative version history

A secure audit trail of the revisions of a mutable resource.

backwarding

A method of delivering a response to a forwarded request, where the response simply follows the request route back to the originator.

balanced binary tree

A binary tree in which subtrees of every node differ in height by at most 1.

batch

A group of chunks referenced under an intermediate node.

batch bins

Equivalence classes of chunks from the point of view of batch expiry, with the same proximity order and same batch.

batch depth

The postage batch size specified as a power of 2.

batch size

The amount of chunks that can be stamped with a postage batch. See also issuance volume.

bin ID

A sequential counter per PO bin acting as an index of locally stored chunks on a node.

binary Merkle tree

A binary tree in which each leaf node is labelled with the cryptographic hash of a data block, and each non-leaf node is labelled with a hash of the labels of its child nodes.

binary Merkle tree chunk

The canonical content addressed chunk in Swarm.

binary Merkle tree hash

The method used for calculating the address of binary Merkle tree chunks.

BitTorrent

A communication protocol for peer-to-peer file sharing used to distribute data and electronic files over the Internet.

blockchain

An immutable list of blocks, where each subsequent block contains a cryptographic hash of the preceding block.

bzz network ID

The unique identifier assigned to the Swarm network.

challenge

User can submit a challenge when they attempt to retrieve insured content and fail to find a chunk.

cheque

An off-chain payment method where the issuer signs a cheque specifying a beneficiary, a date, and an amount, which is given to the recipient as a token of promise to pay at a later date.

chequebook contract

Smart contract that allows the beneficiary to choose when payments are to be processed.

chunk

A fixed-sized data blob, the basic unit of storage in Swarm’s DISC keyed by its address. Chunks can either be content addressed or single owner.

chunk span

The length of data subsumed under an intermediate chunk.

chunk synchronisation

The process in which a peer locally stores chunks received from an upstream peer.

chunk value

The value assigned to a chunk based on the price of the postage batch it is stamped with. It determines the order of chunks when a node prioritises for garbage collection.

claim phase

A phase in each round of the redistribution game when the winner submits a claim.

collect-and-run attack

Situation where a party would collect the funds for some promised work, but not actually do the work.

collective information

Data generated through collective effort, such as public forum discussions, reviews, votes, polls, and wikis.

collision slot

The collection of maximum length prefixes that any two chunks stamped with a postage batch are allowed to share. Each stamped chunk occupies a collision slot.

commit phase

A phase in the redistribution round of the Schelling game.

committed stake

The amount of stake the stakers commit to in the staking contract.

content addressed chunk

A chunk is content addressed when its address is determined by the chunk content itself. The address usually represents a fingerprint or digest of the data using some hash function. In Swarm, the default content addressed chunk uses the Binary Merkle Tree hash algorithm with Keccak256 base hash to determine its address.

data silo

An isolated collection of information within an organisation that is not accessible by other parts of the organisation. In more general terms, it refers to the large datasets that organisations often keep exclusively for their own use.

data slavery

Refers to a situation where individuals lack control over their personal data and do not receive sufficient remuneration for its commercial use by companies.

decentralised network

A network architecture designed without any central nodes that other nodes would need to depend on.

deep bin

A bin that is relatively close to a particular node and hence contains a smaller part of the address space.

denial of service (DoS)

Denying of access to services by flooding those services with illegitimate requests.

destination target

A bit sequence that represents a neighbourhood in the address space. In the context of chunk mining, it refers to the prefix that the mined address should match.

devp2p

A set of network protocols forming the Ethereum peer-to-peer network. Implemented as a set of programming libraries with the same name.

direct delivery

Chunk delivery occurring in a single step via a lower-level network protocol.

direct notification from publisher

The process where a recipient is directly notified of a feed update by the publisher or other parties known to have it.

disconnect threshold

The debt threshold between peers that determines when a peer in debt will be disconnected.

distributed hash table

A distributed system that provides an efficient lookup service, enabling any participating node to retrieve the value associated with a given key.

distributed immutable store for chunks

Swarm’s version of a distributed hash table for storing files. Swarm does not maintain a list of file locations, instead it actually stores pieces of the file directly on the node.

distributed storage

A network of storage where information is stored on multiple nodes, possibly in replicated fashion.

distributed web application

A client side web application that leverages Web 3.0 technologies (e.g. Ethereum network) and does not rely on any central server.

double ratchet

An industry-standard key management solution providing forward secrecy, backward secrecy, immediate decryption, and resilience to message loss.

duplicate chunk

We define a chunk as a duplicate (or seen) if and only if it is already found in the local store.

effective demand

The total number of chunks that have been successfully uploaded.

elliptic curve Diffie-Hellman

A key agreement protocol that allows two parties, each possessing an elliptic-curve publicprivate key pair, to establish a shared secret over an insecure channel.

encrypted reference

Symmetric encryption of a Swarm reference to access controlled content.

enode URL scheme

A URL scheme used to describe an Ethereum node.

entanglement code

An error correction code optimized for bandwidth of repair.

epoch

A specific time period with a defined length, starting from a particular point in time.

epoch base time

The specific point in time when an epoch starts.

epoch grid

The arrangement of epochs where rows (referred to as levels) represent alternative partitioning of time into various disjoint epochs of the same length.

epoch reference

A combination of an epoch base time and level used to identify a specific epoch.

epoch-based feeds

Special feeds that allow feeds with sporadic updates to be searchable.

epoch-based indexing

Indexing based on the epoch in which an action took place.

erasure code

An error correction coding scheme which optimally inflates data of n chunks with k parities to allow any n out of the n+k chunks to recover the original data.

Ethereum Name Service

A system analogous to the DNS of the old web, translating human-readable names into system-specific identifiers, i.e. references in the case of Swarm.

Ethereum Virtual Machine (EVM)

A Turing-complete byte code interpreter responsible for calculating state changes by executing the instructions of smart contracts.

eventual consistency

The guarantee that all chunks are redundantly retrievable once the neighbourhood peers have synchronised their content.

extended triple Diffie–Hellmann key exchange

The standard method used to establish the initial parameters of a double ratchet key-chain.

FAANG

Facebook, Apple, Amazon, Netflix, and Google.

fair data economy

An economy of processing data characterised by fair compensation of all parties involved in its creation or enrichment.

feed aggregation

The process of combining multiple sporadic feeds into a single periodic one.

feed index

A component of the identifier for the feed chunk, used for identification and retrieval purposes.

feed topic

A component of the identifier for the feed chunk, representing the topic or subject of the feed.

feeds

Data structures based on single owner chunks, suitable for representing a variety of sequential data, such as versioning updates of a mutable resource or indexing messages for real-time data exchange. Feeds offer a persisted pull messaging system.

Special kind of feeds, updates of which are meant to be accumulated or added to earlier ones, e.g. parts of a video stream.

Feeds that publish updates at regularly recurring intervals.

Feeds where the update frequencies may vary within the temporal range of real-time human interaction.

Special kind of feeds representing a series of content connected by a common thread, theme, or author, such as social media status updates, a person’s blog posts, or blocks of a blockchain.

Feeds with irregular asynchronicities, i.e. updates can occur with unpredictable gaps.

forwarding Kademlia

A recursive flavour of Kademlia routing that involves message relay.

forwarding lag

The time it takes for healthy nodes to forward messages.

freeriding

The practice of benefiting from or taking advantage of shared or limited resources without providing appropriate compensation or contributing to their upkeep or sustainability.

future secrecy

A feature of specific key agreement protocols that gives assurances that all other session keys will not be compromised, even if one or more session keys are obtained by an attacker.

garbage collection

The selective purging process of removing unnecessary chunks from a node’s local storage.

garbage collection strategy

The process that determines which chunks are selected for removal during garbage collection.

global balance

The amount of funds deposited in the chequebook to serve as collateral for the cheques.

granted access

A type of selective access to encrypted content that requires root access as well as access credentials comprising either an authorized private key or passphrase.

guaranteed delivery

Guaranteed in the sense that delivery failures due to network problems will result in direct error responses.

hive protocol

The protocol used by nodes joining the network to discover their peers.

honest peers

The set of applicants who agree with the selected truth in the round of the Schelling game.

immutable chunk store

A storage system where no replace or update operation is available on chunks.

incentive strategy

A strategy that utilises rewards and penalties to encourage desired behaviour.

inclusion proofs

A proof that a string is a substring of another string, for instance verifying that a string is included in a chunk.

indexing scheme

Defines the way the addresses of subsequent updates of a feed are calculated. The choice of indexing scheme depends on the type and usage characteristics (update frequency) of the feed.

insider

A peer inside the Swarm network that already has some funds.

InterPlanetary File System

A protocol and peer-to-peer network for storing and sharing data in a distributed file system.

issuance volume

The amount of chunks that can be stamped with a postage batch. See also batch size.

Kademlia

A network connectivity or routing scheme based on bit prefix length used in distributed hash tables.

Kademlia connectivity

Connectivity pattern of a node x in forwarding Kademlia where (1) there is at least one peer in each PO bin 0<≤i<d, and (2) no peer y in the network such that PO(x,y)≥d and y is not connected to x.

Kademlia table

Indexing of peers based on the proximity order of their addresses relative to the local overlay address.

A Kademlia table in which a single peer is present for each bin (up to a certain bin).

Kademlia topology

A scale-free network topology that guarantees a path between any two nodes in O(log(n)) hops.

key derivation function

A function that deterministically produces keys from an initial seed. It is often used concurrently by parties separately to generate secure messaging key schemes.

liars

The set of applicants who disagree with the selected truth in the round of the Schelling game.

libp2p

A framework and suite of protocols for building peer-to-peer network applications.

light node

The concept of light node refers to a special mode of operation necessitated by poor bandwidth environments, e.g., mobile devices on low throughput networks or devices allowing only transient or low-volume storage. Light nodes do not accept incoming connections.

litigation

An on-chain process where nodes violating the rules of Swarm stand to lose their deposit.

load balancing

The process of distributing a set of tasks over a set of nodes to make the process more efficient.

lookup key

One of the keys involved in the process of allowing selective access to content for multiple parties.

lookup strategy

A strategy used for following updates to feeds.

manifest entry

Contains a reference to the Swarm root chunk of the representation of a file and also specifies the media mime type of the file.

maximum syncing latency

The agreed maximum duration of latency for live syncing after a peer connection starts.

mining chunks

An example of chunk mining is generating an encrypted variant of chunk content so that the resulting chunk address satisfies certain constraints, e.g. being closer to or farther away from a particular address.

missing chunk notification protocol

A protocol used when a downloader cannot find a chunk, allowing it to initiate a recovery process and request the missing chunk from a pinner of that chunk.

mutable resource updates

Feeds that represent revisions of the same semantic entity.

nearest neighbours

Generally, peers that are closest to the node. In particular, it refers to peers residing within the neighbourhood depth of each other.

neighbourhood

An area of a certain distance around an address.

The distance from the node within which its peers are considered nearest neighbours. Also the highest PO d such that the address range designated by the d-bit-long prefix of the node’s overlay contains at least 3 other peers.

neighbourhood notification

Notification of a feed update which works without the issuer of the notification needing to know the identity of prospective posters.

neighbourhood selection anchor

A randomly selected value that determines which neighbourhood can participate in the redistribution round.

neighbourhood size

The number of nearest neighbours of a node.

net provider

A node that contributes more resources to the Swarm network than it consumes.

net user

A node that consumes more resources of the Swarm network than it contributes.

network churn

The cycle of accumulation and attrition of nodes by a network.

newcomer

A party entering the Swarm system with zero liquid funds.

node

Nodes that engage in forwarding messages.

A node that is stably online.

A node that stores the requested chunk.

on-chain payment

A payment made through a blockchain network.

opportunistic caching

When a forwarding node receives a chunk, then the chunk is saved in case it may be requested again.

outbox feed

A feed representing the outgoing messages of a persona.

outbox index key chains

Additional key chains added to the double-ratchet key management (beside the ones for encryption) that make the feed update locations resilient to compromise.

overlay address

The address used to identify each node running in the Swarm network. It is the basis for communication in the sense that it remains stable across sessions even if the underlay address changes.

overlay address space

The address space of the overlay Swarm network consisting of 256-bit integers.

overlay network

The connectivity pattern of the secondary conceptual network in Swarm, a second network scheme overlayed over the base underlay network.

overlay topology

The connectivity graph realising a particular topology over the underlay network.

payment threshold

The value of debt at which a cheque is issued.

peer

Nodes that are in relation to a particular node x are called peers of x.

A peer that succeeds some other peer in the chain of forwarding.

peer-to-peer

A network architecture where tasks or workloads are partitioned between equally privileged participants known as peers.

pinner

A node keeping a persistent copy of a chunk.

pinning

The mechanism that makes content sticky and prevents it from being removed by garbage collection.

plausible deniability

The ability to deny knowledge of any damnable actions committed by others.

postage batch

An ID associated with a verifiable payment on the chain which can be attached to one or more chunks as a postage stamp.

pre-key bundle

Contains all the necessary information that an initiator needs to know about the responder to initiate a cryptographic handshake.

prompt recovery of data

The protocol used for missing chunk notification and recovery.

proof of density

A construct that allows the winners of the Schelling game round to demonstrate that the chunks within their storage depth fill their reserve.

proof of entitlement

Evidence provided by storer nodes in a neighbourhood to the blockchain, demonstrating that they have the required reserve.

proximity order

A measure of relatedness of two addresses on a discrete scale.

proximity order bin

An equivalence class of peers in regard to their proximity order.

pub/sub systems

A publish/subscribe system is a form of asynchronous communication where any message published is immediately received by subscribers.

pull syncing

A network protocol responsible for eventual consistency and maximum resource utilisation by pulling chunks by a certain node.

push syncing

A network protocol responsible for delivering a chunk to its proper storer after it has been uploaded to an arbitrary node.

radius of responsibility

The proximity order designating the area of responsibility.

range queries

Range queries will trigger the retrieval of all but only those chunks of the file that cover the desired range.

real-time integrity check

For any deterministically indexed feed. Integrity translates to a non-forking or unique chain commitment.

recover security

A property that ensures that once an adversary manages to forge a message from A to B, no future message from A to B will be accepted by B.

recovery

A process of requesting a missing chunk from specific recovery hosts.

recovery feed

A publisher’s feed advertising recovery targets to its consumers.

recovery host

Pinning nodes that are willing to provide their pinned chunks in the context of recovery.

recovery request

A request made to a recovery host to initiate the reupload of a missing chunk known to be pinned in its local store.

recovery response envelope

An addressed envelope which provides a way for recovery hosts to directly and efficiently respond to the originator of the recovery request without incurring additional costs or computational burden.

recovery targets

Volunteering nodes that are advertised by the publisher as keeping pinned its publication globally pinned.

redundancy

In the context of the distributed chunk store, redundancy is achieved through surplus replicas or so-called parities that contribute to the resilience of chunk storage in the face of churn and garbage collection.

redundant Kademlia connectivity

A Kademlia connectivity that remains intact even if some peers churn.

redundant retrievability

A chunk is said to be redundantly retrievable with degree r if it is retrievable and would remain so even after any r nodes responsible for it leave the network.

Reed-Solomon coding

A systemic erasure code that generates k extra ’parity’ chunks when applied to data consisting of n chunks. These chunks allow for the reconstruction of the original blob as long as any n out of the total n+k chunks are available.

reference count

A property of a chunk used to prevent it from being garbage collected. It is increased when the chunk is pinned and decreased when it is unpinned.

relaying node

A node relaying messages in the context of forwarding Kademlia.

requestor node

A node that requests information from the network.

reserve

A fixed size of storage space on a node dedicated to storing chunks from its area of responsibility.

reserve commitment

The data provided by a node in the round of the Schelling game containing information about the reserve it is holding.

reserve depth

The base 2 logarithm of the DISC reserve size, rounded up to the nearest integer.

reserve sample

A part of the reserve used to test the consensus regarding the reserve content of a neighbourhood.

retrieve request

A peer-to-peer protocol message that asks for the delivery of a chunk based on its address.

reveal phase

The phase in the redistribution round of the Schelling game in which the participants who committed reveal their reserve commitment hash.

reward pot

The total accumulated storage rent from all postage batches for a specific period.

root access

Non-privileged access to encrypted content based on meta-information encoded in the root manifest entry for a document.

root access manifest

A special unencrypted manifest used as an entry point for access control.

routability

The ability for a chunk to be routed to a destination.

routed delivery

A hypothetical method of implementing chunk delivery using Kademlia routing independently of the initial request.

routing

The process of relaying messages via a chain of peers ever closer to the destination.

rules of the reserve

Rules that define the content of the reserve on a node.

saboteurs

The set of committers who either did not reveal data or revealed invalid data in the round of the Schelling game.

saturated Kademlia table

Nodes with a saturated Kademlia table realise Kademlia connectivity.

saturation depth

The neighbourhood depth in the context of saturation (minimum cardinality) constraints on proximity bins outside the nearest neighbourhood.

Schelling game

A mechanism that facilitates peer cooperation in redundantly storing data for the network’s benefit, structured as a sequence of redistribution rounds.

second-layer payment

Payments processed by an additional system superimposed on a blockchain network.

security deposit

The stake a node must put up when registering to be able to sell promissory storage receipts.

seeder

A user who hosts the content in the BitTorrent peer-to-peer file exchange protocol.

sender anonymity

As requests are relayed from peer-to-peer, those further down on the request cascade can never know who the originator of the request is.

session key

One of the keys involved in the process of allowing selective access to content to multiple parties.

shallow bin

A bin that is relatively far away from a particular node and hence contains a larger part of the address space.

single owner chunk

A special type of chunk in Swarm whose integrity is ensured by the association of its payload to an identifier attested by the signature of its owner. The identifier and the owner’s account determine the chunk address.

A 32-byte key used in single owner chunks: the payload is signed against it by the owner and hashed together with the owner’s account results in the address.

The account of the owner of single owner chunk.

Part of a single owner chunk with size of maximum 4096 bytes of regular chunk data.

singleton manifest

A manifest that contains a single entry to a file.

sister nodes

The nodes in the other half of the old neighbourhood after a neighbourhood split.

span value

An 8-byte encoding of the length of the data span subsumed under an intermediate chunk.

spurious hop

Relaying traffic to a node without increasing proximity to the target address.

stake balance

The amount of stake serving as collateral by the staker.

stake density

The amount of stake per neighbourhood size.

staking

Mechanism used to steer nodes to provide reliable service in their neighbourhoods where they stake some amount that represents their commitment.

stamped addressed envelope

Addressed envelope with an attached stamp.

statement of custody receipt

A receipt from the storer node to the uploader after successful push syncing of a chunk.

storage depth

The lowest proximity order at which a compliant reserve stores all batch bins.

storage rent

The amount paid for storage by purchasing postage batches.

storage slot

A designated space in a postage batch where a specific chunk is assigned.

stream provider

Provides of a stream of chunks to another node upon request.

swap

A Swarm accounting protocol with a tit-for-tat accounting scheme, enabling scalable microtransactions. It also includes a network protocol referred to as Swap.

Swarm manifest

A structure that defines a mapping between arbitrary paths and files to handle collections.

swear

Incentive scheme where nodes registered on the Swarm network are accountable and stand to lose their deposit if they are found to violate the rules of the Swarm in an on-chain litigation process.

swindle

Incentive scheme where nodes monitor other nodes to check if they comply with their promise by submitting challenges according to a process of litigation.

tar stream

In computing, tar is a computer software utility for combining multiple files into a single archive file, often referred to as a tarball.

targeted chunk delivery

A mechanism for requesting a chunk from an arbitrary neighbourhood where it is known to be stored and delivering it to an arbitrary neighbourhood where it is known to be needed.

time to live

The lifespan or lifetime of a request or other message in a computer or network.

tragedy of the commons

Disappearing content will have no negative consequence to any one storer node if no negative incentives are used.

Trojan chunk

A chunk containing a disguised message while appearing indistinguishable from other chunks.

trustless

A property of an economic interaction system where service provision is either realtime verifiable and/or providers are accountable, rewards and penalties are automatically enforced, and where – as a result – transaction security is no longer contingent upon reputation or trust and is therefore scalable.

underlay address

The address of a Swarm node on the underlay network, which might not remain stable between sessions.

underlay network

The lowest level base network through which nodes connect using a peer-to-peer network protocol as their transport layer.

uniformity depth

The number of storage slots or buckets within a postage batch specified in powers of 2.

upload and disappear

A method of deploying interactive dynamic content to be stored in the cloud so it may be retrieved even if the uploader goes offline.

upload tag

An object that represents an upload and tracks the progress by counting the number of chunks that have reached a specific state.

uploader

An entity uploading content to the Swarm network.

upstream peer

The peer that precedes some other peer in the chain of forwarding.

world computer

Global infrastructure that supports data storage, transfer, and processing.

World Wide Web

A part of the Internet where documents and other web resources are identified by Uniform Resource Locators and interlinked by hypertext.

Websites where people were limited to viewing content in a passive manner.

Describes websites that emphasise user-generated content, ease of use, participatory culture, and complex user interfaces for end users.

A decentralised, censorship-resistant way of sharing and even collaboratively creating interactive content, while retaining full control over it.

ZeroNet

A decentralised web platform using Bitcoin cryptography and the BitTorrent network.