Matrix Packing
Packing adds cryptographic fingerprints to stored data, proving miners provide unique resources. This prevents adversarial claims of false storage capacity. Irys introduces Matrix Packing, a novel approach to data verification. This method ensures miners provide unique storage resources while deterring adversarial behavior.
This approach offers several benefits:
- Scalable performance across devices
- Lower storage fees
- Consistent verification times
- Enhanced security without computational intensity
Here’s how it works:
Step | Name | Description |
---|---|---|
1 | Data Partitioning | Data is logically partitioned into 16TB partitions, suitable for individual 16TB HDDs. |
2 | Chunk Division | Each partition is divided into 256KiB chunks, which are used during mining to produce hashes. |
3 | Segment Creation | Each 256KiB chunk is further divided into 32-byte segments containing packing entropy from a SHA-256 hash. |
4 | Sequential Hashing | Segments are hashed sequentially; each segment's hash input is the output of the previous segment. Sequential hashing establishes a minimum packing time by requiring 8,192 hashes per chunk. |
5 | Layered Hashing | Repeated sequential hashing creates multiple layers of segments, storing the final layer in the chunk. |
Advantages
Irys's Matrix packing operates in parallel, enabling simultaneous chunk processing while maintaining safe individual packing times. This ensures reading packed data is always more economical than packing. Uniquely, Matrix Packing allows fingerprinting of empty capacity, rewarding miners for preparedness. When needed, data is swiftly XOR'd into existing packing, eliminating repacking and ensuring rapid, cost-effective data ingress.
This innovative approach optimizes network efficiency and resource utilization
Blocktimes
The safe minimum time for Matrix Packing and unpacking sets a lower limit on block validation time for miners. This establishes a minimum block time for the network, approximately 3 seconds. However, as Proof of Work block times typically range from 9-12 seconds, this constraint doesn't negatively impact network performance.