Learn
PROTOCOL
Partitions

Partitions

Partitions are the fundamental building blocks of Irys’s data ledgers, enabling control and optimization of the network. This approach allows for:

  • Control over data replication.
  • Scaling minable partitions (both data and capacity).
  • Verifiable data distribution.
  • Performance-based miner rewards.
  • Adaptive network capacity scaling.

All of these are efficiencies that allow Irys to account for and control its storage liabilities. This leads to efficient pricing that is passed on to users.

Partitions & Ledgers

A data ledger is composed of a sequence of partitions that fill up as data is added. As the ledger grows, more ledger indexes are added to store new data. Multiple partitions reside at each index in the ledger, replicating the data.

The network maintains stability through economic incentives. Miners make financial commitments to store data, discouraging frequent departures. This approach prevents constant data reshuffling and ensures consistent availability. By tying miners' economic interests to network performance, the protocol creates a resilient system where data remains secure and accessible. Miners who fail to uphold their commitments risk losing their stake, further reinforcing network reliability.

By enabling miners to commit to specific partitions, the protocol organizes these partitions into distinct ledgers, offering unparalleled flexibility.

This approach allows for multiple data ledgers, each tailored to different storage needs. At launch, there will be two ledgers: a Permanent Ledger for long-term, immutable storage and a Temporary Ledger for short-term, flexible storage solutions. This provides the ability to manage data seamlessly, catering to unique requirements.

Capacity Partitions

Where do partitions come from, and how are they associated with a ledger?

Irys measures the amount of data uploaded and then uses it to project the number of partitions needed on standby. These standby partitions do not contain any data (yet) and are referred to as Capacity Partitions.

Partition Lifecycle

  • Step 1: Partition Pledging
    Miners post a pledge transaction to the network indicating their willingness to bring a new partition online. The protocol then randomly assigns unclaimed capacity partitions to the pledged miners; any miners who don’t receive capacity partition assignments have their pledges refunded.

  • Step 2: Partition Packing
    The miner packs the Capacity Partition using Irys’s Matrix Packing. This process fully encodes the miner’s fingerprint into the partition.

  • Step 3: Partition Mining
    The protocol assigns a random 200MB sequential read every second. The miner takes these 200MB reads, splits them into 800 256KiB chunks, and proceeds to hash each chunk looking for a mining solution. If the miner finds a solution, that miner wins the right to produce a new block, thus earning rewards.

  • Step 4: Ledger Assignment
    When it comes time to add more storage capacity to one of Irys’s data ledgers, the protocol will randomly select a Capacity Partition that is actively being mined. The randomness is weighted towards partitions that have been used to mine blocks, rewarding miners who have been participating longer and have been effective in mining.

  • Step 5: Partition Departure
    There are two ways partitions leave the network: orderly departures and disorderly.

    Orderly Departure:

    1. The miner posts a transaction to un-pledge their partition and recover the commitment they staked initially.
    2. A timeout period begins when the protocol assigns another Capacity Partition to synchronize the data being taken offline.
    3. Once the timeout has passed, the departing miner can recover their staked commitment and remove their partition.
    4. If the miner goes offline before the timeout has passed, they risk losing their pledged stake.

    Disorderly Departure:

    1. A miner engages in adversarial behavior toward the network (double signing blocks, for example).
    2. The protocol takes their staked commitment.
    3. The protocol assigns a new Capacity Partition to fill gaps left by the adversarial miner.

This is an undesirable departure as the network will have to assign new capacity partitions quickly. Because of this, Irys requires a significant upfront staking from miners looking to participate in the protocol.