Proof Carrying Data (PCD) is a recursive cryptographic primitive that produces a single, compact proof verifying the entire history of a distributed computation. Unlike a static zero-knowledge proof that attests to a single statement, PCD ensures that a final output is correct only if every preceding step in a multi-party or multi-step process was executed correctly. The proof is "carried" alongside the data as it moves through the computational graph, creating an unforgeable chain of incremental verifiability.
Glossary
Proof Carrying Data (PCD)

What is Proof Carrying Data (PCD)?
Proof Carrying Data (PCD) is a cryptographic primitive that enables a proof attesting to the correct execution of a distributed computation across multiple steps or parties, maintaining a verifiable lineage of state transitions.
PCD generalizes Incrementally Verifiable Computation (IVC) to a distributed setting where different parties perform each computation step. Each participant receives an input and a prior proof, performs their local computation, and generates a new proof that attests to their step's correctness and the validity of the entire preceding history. This enables trustless, asynchronous collaboration, making PCD foundational for scalable zk-rollups, verifiable MapReduce, and privacy-preserving multi-party machine learning pipelines.
Key Characteristics of PCD
Proof Carrying Data (PCD) is a cryptographic primitive that generalizes Incrementally Verifiable Computation (IVC) to distributed settings. It enables a proof that attests to the correct execution of a computation across multiple steps or parties, maintaining a verifiable lineage of state transitions without requiring a single prover to know the entire history.
Distributed Proof Composition
Unlike single-prover IVC, PCD allows multiple independent provers to each generate a proof for their local computation step. These proofs are then recursively composed into a single, constant-size proof that attests to the correctness of the entire distributed computation. Each participant only needs to know their own input and the incoming proof from the previous step, not the entire global history.
- Enables asynchronous collaboration across untrusted parties
- Final proof size and verification time are independent of the total number of steps
- Built on recursive composition of Succinct Non-Interactive Arguments of Knowledge (SNARKs)
Compliance Predicates
PCD enforces compliance predicates—local rules that each step of the computation must satisfy. A predicate is a boolean function that checks whether a state transition is valid given the input, output, and incoming proof. If any step violates its predicate, no valid final proof can be generated.
- Predicates act as distributed invariant checks
- Enables policy enforcement without a central authority
- Used in blockchain rollups to ensure every transaction follows protocol rules
Message Passing Model
PCD formalizes distributed computation as a message-passing graph where nodes represent computation steps and edges carry both data and proofs. Each node receives a message with an attached proof of its sender's correct execution, performs its local computation, and outputs a new message with an updated proof.
- The graph topology can be arbitrary and dynamic
- Supports branching and merging of computation paths
- Natural fit for modeling asynchronous distributed systems and cross-chain communication
Constant-Size Verification
A defining property of PCD is that the final proof size and verification cost remain constant regardless of how many steps or parties contributed to the computation. This is achieved through recursive SNARK composition, where each new proof absorbs and verifies the previous proof before generating its own.
- Verification time: O(1) relative to computation length
- Proof size typically a few hundred bytes in modern systems
- Critical for resource-constrained verifiers like light clients and on-chain smart contracts
Folding Schemes for PCD
Modern PCD constructions leverage folding schemes like Nova to achieve dramatically faster prover times. Instead of fully verifying the incoming proof at each step, a folding scheme reduces two instances of a constraint system into a single instance, deferring expensive cryptographic operations.
- Nova achieves sub-linear prover costs through incremental folding
- Eliminates the need for expensive proof verification at each recursive step
- Enables practical PCD for long-running distributed computations with frequent state updates
Applications in Blockchain Rollups
PCD is the cryptographic backbone of recursive zk-rollups and verifiable blockchain scaling solutions. Each transaction generates a proof of valid execution, and a batch prover recursively composes these into a single proof submitted to the Layer-1 chain.
- Enables horizontal scaling through parallel proof generation
- Used in systems like Mina Protocol where the entire blockchain is a single recursive proof
- Supports cross-rollup interoperability by carrying proofs across independent execution environments
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Frequently Asked Questions
Explore the core concepts behind Proof Carrying Data (PCD), a foundational primitive for incrementally verifiable computation and recursive zero-knowledge proofs.
Proof Carrying Data (PCD) is a cryptographic primitive that produces a succinct proof attesting to the correct execution of a distributed, step-by-step computation. It works by wrapping both the current computational step's output and a proof of all prior steps' correctness into a single, constant-size proof. This creates a verifiable lineage of state transitions. Unlike a simple recursive proof, PCD is specifically designed for a compliance predicate, meaning the proof not only shows that a computation happened but that it followed specific application rules at every step. This is the core mechanism behind Incrementally Verifiable Computation (IVC).
Related Terms
Proof Carrying Data (PCD) builds upon several cryptographic primitives and distributed computing paradigms. Understanding these related concepts is essential for grasping how PCD enables verifiable lineage across multi-step computations.
Incrementally Verifiable Computation (IVC)
A paradigm where a prover updates a proof after each step of a long-running computation. The final proof size and verification time remain constant regardless of the total number of steps executed. PCD is a distributed generalization of IVC, where different parties may perform each step.
- IVC: Single prover, sequential steps
- PCD: Multiple provers, potentially branching paths
- Use Case: Verifying a blockchain's entire history in a single, succinct proof
Arithmetic Circuit
A directed acyclic graph representing a computation as a series of addition and multiplication gates over a finite field. This is the foundational representation for all ZKP systems, including PCD. The computation being proven at each step of a PCD chain must first be compiled into an arithmetic circuit.
- Gates: Addition and multiplication over a prime field
- Wires: Carry intermediate values between gates
- Constraint: The circuit's structure defines the valid execution trace
Distributed State Machine
The abstract model that PCD secures. A system where state transitions can be performed by multiple independent parties, each appending their proof of correct execution. The final proof attests to the integrity of the entire distributed lineage.
- Example: A supply chain where each custodian updates a shipment's status
- Example: A multi-rollup blockchain ecosystem with cross-chain message passing
- Guarantee: Any verifier can check the final state's validity without trusting any intermediate party

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us