PackX
PackX is a Rust library for cryptographically committing 128‑byte data segments to a public key. Designed for TAPEDRIVE, it requires node operators to store unique nonce values derived from their pubkey instead of the actual data, while enabling verifiable reconstruction.
Usage
packx(pubkey, data)— generate a seed and 128 noncesserialize(seed, nonces)— convert the result into a 200-byte arrayverify(pubkey, data, packed, commitment)— check integrity of the reconstruction
Store the packed result and commitment in a Merkle tree for efficient proof and verification.
Example
use ;
let pubkey = ;
let data = ;
let = packx;
let packed = serialize;
let commit = get_commitment;
assert!;
Notes
- Storage overhead: 200 bytes per 128-byte segment (~1.56:1)