Succinct proofs of chain work for trust-minimized verification.
Verify Ergo from mobile, browsers, or other chains using compact proofs instead of full sync. Learn how Proof-of-Work works in Secure PoW.
A transaction or block appears on Ergo.
A succinct proof is built from sampled headers.
Anyone verifies the proof quickly and trustlessly.
NIPoPoWs are cryptographic proofs that let you verify blockchain events without downloading the entire chain — ideal for mobile and cross-chain use via Light Clients.
Proof size and verification grow logarithmically with chain length via sampling of superblocks from headers.
Compared with classic SPV, NIPoPoWs give formal guarantees to compare competing chains by accumulated work without full state.
Enables SPV/NIPoPoW-style protocols and trust-minimized cross-chain interactions.
Secure verification on mobile or web without downloading the full blockchain.
Verify chain work in seconds using compact proofs instead of full syncs.
No trusted relays or validators; verification follows PoW assumptions.
Light clients should observe a finality window; new proofs can supersede earlier ones if a short reorg occurs.
NIPoPoWs preserve PoW security assumptions while cutting verification data from full history to compact proofs.
| Aspect | Traditional | NIPoPoWs |
|---|---|---|
| Verification Time | Hours to days (full sync) | Seconds to minutes |
| Data Required | Entire blockchain history | Small cryptographic proof |
| Trust Requirements | Trust full nodes or validators | Trustless cryptographic verification |
| Mobile Compatibility | Impractical due to size | Optimized for mobile devices |
| Security model | Varies by design | Preserves PoW assumptions |
| Finality handling | Implementation-specific | Observe window; new proof can supersede |
| State access | Full state on device | Event/work proof only (no full state) |
最小化的信任桥和区块链之间的SPV风格的互操作性。
轻型钱包,用简洁的证明来证明链条工作是即时同步的。
高效率地核查用于智能合同的外部链数据。
Sidechains能够简明地核查第一层,以保证安全和防伪。
快速验证跨链Defi 而不等待完全同步。
商人即时支付确认,但没有运行完整的节点。
// TypeScript pseudo: verify NiPoPoW proof against best header
import { verifyProof } from "@ergo/nipopow"; // replace with actual lib
const proof = await fetch("/api/proof?txId=...").then(r => r.json());
const headers = await fetch("/api/headers?from=...").then(r => r.json());
const ok = verifyProof(proof, headers);
if (!ok) throw new Error("Invalid proof");
// continue: accept event / show confirmed state