ZK Compression
  • Introduction
    • Overview
    • Intro to Development
  • Event
    • 🗓️Event: 1000x Hackathon
  • Release Notes
    • JS - v0.21.0
  • Learn
    • In a Nutshell
    • Core Concepts
      • Compressed Account Model
      • State Trees
      • Validity Proofs
      • Lifecycle of a Transaction
      • Limitations
  • Developers
    • TypeScript Client
    • JSON RPC Methods
      • getCompressedAccount
      • getCompressedBalance
      • getCompressedTokenAccountBalance
      • getCompressedBalanceByOwner
      • getCompressedMintTokenHolders
      • getCompressedTokenBalancesByOwnerV2
      • getCompressedAccountsByOwner
      • getMultipleCompressedAccounts
      • getCompressedTokenAccountsByOwner
      • getCompressedTokenAccountsByDelegate
      • getTransactionWithCompressionInfo
      • getCompressedAccountProof
      • getMultipleCompressedAccountProofs
      • getMultipleNewAddressProofs
      • getValidityProof
      • getCompressionSignaturesForAccount
      • getCompressionSignaturesForAddress
      • getCompressionSignaturesForOwner
      • getCompressionSignaturesForTokenOwner
      • getLatestCompressionSignatures
      • getLatestNonVotingSignatures
      • getIndexerSlot
      • getIndexerHealth
    • Addresses and URLs
    • Creating Airdrops with Compressed Tokens
    • Using Token-2022
    • Add Compressed Token Support to Your Wallet
    • Create programs with the program-template
  • Node Operators
    • Run a Node
  • resources
    • Security
    • Privacy Policy
Powered by GitBook
On this page
  • What is ZK Compression?
  • State Cost Reduction
  • Core Features
  • ZK and Compression in a Nutshell
  • How to Use This Documentation

Was this helpful?

  1. Introduction

Overview

NextIntro to Development

Last updated 1 month ago

Was this helpful?

What is ZK Compression?

ZK Compression is a new primitive on Solana that enables you to build applications at scale.

Developers and users can compress their on-chain state, reducing data storage costs by orders of magnitude while preserving the Solana L1's security, performance, and composability.

State Cost Reduction

Creation Cost
Regular Account
Compressed Account

100-byte PDA Account

~ 0.0016 SOL

~ 0.00001 SOL (160x cheaper)

100 Token Accounts

~ 0.2 SOL

~ 0.00004 SOL (5000x cheaper)

Core Features

Minimal state cost

Securely stores state on cheaper ledger space instead of the more expensive account space, allowing apps to scale to millions of users.

L1 security & performance

Execution and data availability on Solana, preserving the performance and security guarantees of the L1

Composable

Apps can mix and match between compressed and regular on-chain state, allowing atomic interaction with multiple programs, accounts, and compressed accounts.

ZK and Compression in a Nutshell

Compression: Only the state roots (small fingerprints of all compressed accounts) are stored in on-chain accounts. The underlying data is stored on the cheaper Solana ledger.

How to Use This Documentation

This documentation introduces the ZK Compression primitive and guides you to relevant codebases and examples.

ZK Compression is being built in the open, and Mainnet-Beta is live! Stay up to date with the core teams contributing to ZK Compression and its RPC implementation: Light and Helius.

ZK: The protocol uses small zero-knowledge proofs (validity proofs) to ensure the integrity of the compressed state. This is all done under the hood. You can fetch validity proofs from that support ZK Compression.

RPC providers