# Address

In the Filecoin network, an address is a unique cryptographic value that serves to publicly identify a user. This value, a public key, is paired with a corresponding private key. The mathematical relationship between the two keys is such that access to the private key allows the creation of a signature that can be verified with the public key. Filecoin specifically employs the Boneh–Lynn–Shacham (BLS) signature scheme for this purpose.

# Block

In a blockchain, a block is the fundamental unit of record. Each block is cryptographically linked to one or more previous blocks. Blocks typically contain messages relating changes to some state (for example, financial records) tracked by the blockchain.

# Blockchain

Fundamentally, a blockchain is a system of record in which new records, or blocks are cryptographically linked to preceding records. This construction is a foundational component of secure, verifiable, and distributed transaction ledgers.

# Block height

The height of a block corresponds to the number of epochs elapsed before the block was added to the blockchain. The height of the Filecoin blockchain is defined to be the maximum height of any block in the blockchain.

# Capacity commitment

If a storage miner doesn't find any available deal proposals appealing, they can alternatively make a capacity commitment, filling a sector with arbitrary data, rather than with client data. Maintaining this sector allows the storage miner to provably demonstrate that they are reserving space on behalf of the network.

# Collateral

In order to enter into a storage deal, a storage miner is required to provide FIL as collateral, to be paid out as compensation to a client in the event that the miner fails to uphold their storage commitment.

# Deal

Two participants in the Filecoin network can enter into a deal in which one party contracts the services of the other. The Filecoin specification currently details storage deals (in which one party agrees to store data for the other for a specified length of time) and retrieval deals (in which one party agrees to transmit specified data to the other).

# Election

Every epoch, a small subset of Filecoin storage miners are elected to mine a new block for the Filecoin blockchain. A miner's probability of being elected is roughly proportional to the share of the Filecoin network's total storage capacity that they contribute.

# Epoch

Time in the Filecoin blockchain is discretized into epochs that are currently twenty-five seconds in length. Every epoch, a subset of storage miners are elected to each add a new block to the Filecoin blockchain via Winning Proof-of-Spacetime.

# FIL

FIL is the name of the Filecoin unit of currency; it is alternatively denoted by the Unicode symbol for an integral with a double stroke (⨎).

# Faucet

A faucet is a service that provides free FIL. Typically, faucets are run for the benefit of new users in a network, providing them with the necessary seed capital to begin making transactions.

# Fault

When a storage miner fails to complete Window Proof-of-Spacetime for a given sector, the Filecoin network registers a fault for that sector, and the miner is slashed. If a storage miner does not resolve the fault quickly, the network assumes they have abandoned their commitment.

# Filecoin

The term Filecoin is used generically to refer to the Filecoin project, protocol, and network.

# Gas

Gas is a property of a message, corresponding to the resources involved in including that message in a given block. For each message included in a block, the block's creator extracts a fee from the message's sender; this fee is proportional to the message's gas.

# Mainnet

A portmanteau of "main" and "network, mainnet is a term used to refer to the predominant public-facing network of the Filecoin project and community. The mainnet embodies an expectation of widespread adoption and permanence; changes to its protocol are subject to the adoption of the network participants.

If used as a proper noun, capitalize the term: "I am mining on Mainnet."

# Message

The term message is used to refer to data stored as part of a block. A block can contain several messages.

# Miner

The Filecoin project uses the term miner to refer to participants in the network who provide a service of value to a client. At present, the Filecoin specification recognizes two miner types: storage miners and retrieval miners.

# Pledged storage

Storage capacity that a miner has promised to reserve for the Filecoin network via Proof-of-Replication is termed pledged storage.

# Proof-of-Storage (PoSt)

Many blockchain networks are underpinned by the notion that participants supply something of value to the blockchain - a contribution that is hard to fake, but which, if actually made, can be trivially verified. Blockchains based in this approach are often said to require "Proof-of-X", where X is the valued contribution. The Filecoin blockchain values contributions of storage capacity; it is predicated upon a novel Proof-of-Storage (PoSt) construction, distinguishing it from other blockchains that, as is most often the case, require a contribution of computing power.

As a term, Proof-of-Storage refers to the design elements of the Filecoin protocol that allow one to guarantee (to some very high tolerance) that participants that claim to be contributing a given amount of storage are indeed fulfilling that pledge. In fact, Filecoin's Proof-of-Storage construction provides for a much stronger claim, allowing one to efficiently verify that a participant is storing a particular piece of data, without requiring that one have a copy of the file itself.

Note: "proof" here is used in an informal sense - typically, these proofs take the form of a probabilistic argument, rather than a concrete proof; that is, it might technically be possible to convince other participants that one is making a contribution one is not, but the possibility is so vanishingly slight as to border on impossibility.

# Proof-of-Replication (PoRep)

Proof-of-Replication is a procedure by which a storage miner can prove to the Filecoin network that they have created a unique copy of some piece of data on the network's behalf.

# Proof-of-Spacetime (PoSt)

Proof-of-Spacetime is a procedure by which a storage-miner can prove to the Filecoin network they continue to store a unique copy of some data on behalf of the network. Proof-of-Spacetime manifests in two distinct varieties in the present Filecoin specification: Window Proof-of-Spacetime and Winning Proof-of-Spacetime.

# Quality-adjusted storage power

The storage power a storage miner earns from a storage deal offered by a verified client will be augmented by a multiplier. Power totals that take into account this multiplier are termed quality adjusted.

# Retrieval miner

A retrieval miner is a Filecoin participant that enters retrieval deals with clients, agreeing to supply a client with a particular file in exchange for FIL. Note that unlike storage miners, retrieval miners are not additionally rewarded with the ability to add blocks to the Filecoin blockchain; their only reward is the fee they extract from the client.

# Seal

Sealing is one of the fundamental building blocks of the Filecoin protocol. It is a computation-intensive process performed over a sector that results in a unique representation of the sector. The properties of this new representation are essential to the Proof-of-Replication and the Proof-of-Spacetime procedures.

# Sector

Storage miners store data on behalf of the Filecoin network in fixed-size blocks of data called sectors.

# Slash

When a fault is registered for a sector, the Filecoin network will slash the storage miner that is supposed to be storing the sector; that is, it will assess penalties to the miner (to be paid out of the collateral fronted by the miner) for their failure to uphold their pledge of storage. When slashing takes place, the power a miner earns for the associated sector is subtracted from the miner's total power for the purposes of election.

# Storage miner

A storage miner is a Filecoin participant that stores data on behalf of the network. Storage miners are rewarded for this service through payments by clients that contract their services, as well as by periodic authorization to extend the Filecoin blockchain with blocks of their own creation. When they create a block, storage miners are rewarded with newly minted FIL, as well as the transaction fees they can levy on other participants seeking to include messages in the block.

# Storage power

A storage miner's storage power is a value roughly proportional to the amount of storage capacity they make available on behalf of the network via capacity commitments or storage deals. Storage power is used to select storage miners for rewards in proportion to their contributions to the total network storage capacity.

# Zero-knowledge succinct non-interactive argument of knowledge (zk-SNARK)

An argument of knowledge is a construction by which one party, called the prover, can convince another, the verifier, that the prover has access to some piece of information. There are several possible constraints on such constructions:

  • A non-interactive argument of knowledge has the requirement that just a single message, sent from the prover to the verifier, should serve as a sufficient argument.

  • A zero-knowledge argument of knowledge has the requirement that the verifier should not need access to the knowledge the prover has access to in order to verify the prover's claim.

  • A succinct argument of knowledge is one that can be "quickly" verified, and which is "small", for appropriate definitions of both of those terms.

A zero-knowledge, succinct non-interactive argument of knowledge (zk-SNARK) embodies all of these properties. Filecoin utilizes these constructions to enable its distributed network to efficiently verify that storage miners are storing files they pledged to store, without requiring the verifiers to maintain copies of these files themselves.

# Testnet

A portmanteau of "test" and "network, testnet is a term used to refer to the primary Filecoin testing network.

Note: if used as a proper noun, capitalize the term. For example, "I am mining on Testnet."

# Tipset

A tipset is a set of blocks that each have the same height and parent tipset; the Filecoin blockchain is a chain of tipsets, rather than a chain of blocks.

Each tipset is assigned a weight corresponding to the amount of storage the network is provided per the commitments encoded in the tipset's blocks. The consensus protocol of the network directs nodes to build on top of the heaviest chain.

By basing its blockchain on tipsets, Filecoin can allow multiple storage miners to create blocks in the same epoch, increasing network throughput. By construction, this also provides network security: a node that attempts to intentionally prevent the valid blocks of a second node from making it onto the canonical chain runs up against the consensus preference for heavier chains.

# Verified client

To further incentivize the storage of "useful" data over simple capacity commitments, storage miners have the additional opportunity to compete for special deals offered by verified clients. Such clients are certified with respect to their intent to offer deals involving the storage of meaningful data, and the power a storage miner earns for these deals is augmented by a multiplier.

# Window Proof-of-Spacetime (WindowPoSt)

Window Proof-of-Spacetime (WindowPoSt) is the mechanism by which the commitments made by storage miners are audited. It sees each 24-hour period broken down into a series of windows. Correspondingly, each storage miner's set of pledged sectors is partitioned into subsets, one subset for each window. Within a given window, each storage miner must submit a Proof-of-Spacetime for each sector in their respective subset. This requires ready access to each of the challenged sectors, and will result in a zk-SNARK-compressed proof published to the Filecoin blockchain as a message in a block. In this way, every sector of pledged storage is audited at least once in any 24-hour period, and a permanent, verifiable, and public record attesting to each storage miner's continued commitment is kept.

The Filecoin network expects constant availability of stored data. Failing to submit WindowPoSt for a sector will result in a fault, and the storage miner supplying the sector will be slashed.

# Winning Proof-of-Spacetime (WinningPoSt)

Winning Proof-of-Spacetime (WinningPoSt) is the mechanism by which storage miners are rewarded for their contributions to the Filecoin network. At the beginning of each epoch, a small number of storage miners are elected to each mine a new block. As a requirement for doing so, each miner is tasked with submitting a compressed Proof-of-Storage for a specified sector. Each elected miner who successfully creates a block is granted FIL, as well as the opportunity to charge other Filecoin participants fees to include messages in the block.

Storage miners who fail to do this in the necessary window will forfeit their opportunity to mine a block, but will not otherwise incur penalties for their failure to do so.