Files
pse.dev/components/mastermap/mastermap-data.ts
2026-03-31 16:21:13 +09:00

747 lines
24 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
export interface RoadmapItem {
name: string
description: string
status: string
statusDot: "green" | "yellow" | "gray" | "blue"
}
export interface ProjectData {
id: string
name: string
category: CategoryId
status: string
statusVariant: "active" | "rd" | "research" | "planned" | "production" | "ecosystem" | "maintenance"
completion: number
description: string
href: string | null
now: RoadmapItem[]
next: RoadmapItem[]
later: RoadmapItem[]
tags: string[]
details?: {
description: string[]
deliverables: string[]
impact: string[]
}
kpis?: { label: string; target: string; status: string }[]
projectUrl?: string
}
export type CategoryId =
| "private-proving"
| "private-writes"
| "private-reads"
export interface Category {
id: CategoryId
name: string
description: string
color: string
bgLight: string
bgDark: string
}
// Category colors use anakiwa (site brand) shades for consistency with the rest of the site.
export const CATEGORIES: Category[] = [
{
id: "private-proving",
name: "Private Proving",
description: "Make proving any data private and accessible.",
color: "#29ACCE",
bgLight: "bg-anakiwa-50",
bgDark: "dark:bg-anakiwa-975/30",
},
{
id: "private-writes",
name: "Private Writes",
description:
"Make private onchain actions as cheap and seamless as public ones.",
color: "#1A8BAF",
bgLight: "bg-anakiwa-100",
bgDark: "dark:bg-anakiwa-975/30",
},
{
id: "private-reads",
name: "Private Reads",
description:
"Enable reads from Ethereum without revealing identity or intent.",
color: "#50C3E0",
bgLight: "bg-anakiwa-50",
bgDark: "dark:bg-anakiwa-975/30",
},
]
import { TLSNOTARY } from "./tlsnotary-data"
import { ZKID } from "./zkid-data"
export const PROJECTS: ProjectData[] = [
// ─── Private Proving ───
{
id: "csp",
name: "Client-Side Proving (CSP)",
category: "private-proving",
status: "Active R&D",
statusVariant: "rd",
completion: 25,
description:
"Benchmark ZKP systems, bridge ecosystem gaps, push toward PQ-sound on-chain verification.",
href: "/mastermap/csp",
tags: ["Benchmarks", "Post-quantum", "WHIR", "GPU Accel"],
now: [
{
name: "Benchmark 24 zkVMs",
description:
"Expand benchmarking to SHA256, ECDSA, Poseidon2, Keccak across 24 zkVMs and proof systems.",
status: "In progress",
statusDot: "green",
},
{
name: "WHIR Assessment",
description:
"Finish SotA assessment of WHIR-based ZKP systems. Author consultation for potential improvements.",
status: "In progress",
statusDot: "green",
},
{
name: "GPU-accelerated Jolt",
description:
"Apply mobile GPU acceleration to Jolt zkVM, targeting >20% proving improvement.",
status: "In progress",
statusDot: "green",
},
],
next: [
{
name: "KoalaBear Verifier",
description:
"Refactor WHIR verifier for KoalaBear field. Smaller field enables gas cost optimizations.",
status: "Planned",
statusDot: "yellow",
},
{
name: "PQ ZKP On-chain",
description:
"Post-quantum sound ZKP system directly verifiable on-chain with <1.5M gas verification.",
status: "Planned \u00b7 Critical path",
statusDot: "yellow",
},
{
name: "ZK Podcast",
description:
"Record ZK Podcast episode about CSP benchmarks to drive ecosystem awareness.",
status: "Planned",
statusDot: "gray",
},
],
later: [
{
name: "CSP Awards at Devcon",
description:
"Present summary of one year of benchmarking. Highlight best system in each category.",
status: "Q4 2026",
statusDot: "gray",
},
{
name: "Zinc for zkID",
description:
"Benchmark Zinc integer arithmetic against existing zkID ECDSA implementation. Contingent on results.",
status: "Contingent",
statusDot: "blue",
},
],
details: {
description: [
"Credibly neutral benchmark source for the ecosystem",
"Bridge gaps revealed by benchmark results",
"Push adoption of PQ-sound proving systems",
],
deliverables: [
"Comprehensive benchmarks across 24 systems",
"PQ ZKP system verifiable on-chain (<1.5M gas)",
"GPU-accelerated Jolt with >20% improvement",
],
impact: [
"Ecosystem uses benchmarks for informed decisions",
"Post-quantum readiness for Ethereum proofs",
"Client-side proving becomes practical on mobile",
],
},
kpis: [
{
label: "Verification gas cost",
target: "<1.5M gas (100+ bit security)",
status: "In research",
},
{
label: "GPU proving improvement",
target: ">20% reduction",
status: "In progress",
},
{
label: "Ecosystem citations per release",
target: "10+",
status: "Tracking",
},
{
label: "Community contributions",
target: "3+ per quarter",
status: "Approached by gnark, Kakarot",
},
],
},
{
id: "mopro",
name: "Mopro",
category: "private-proving",
status: "Active development",
statusVariant: "active",
completion: 20,
description:
"Mobile-first proving infrastructure. Native provers for Swift/Kotlin/RN/Flutter. GPU crypto libraries.",
href: "/mastermap/mopro",
tags: ["Mobile", "GPU", "zkVM"],
now: [
{
name: "Native Prover (Swift/Kotlin/RN/Flutter)",
description:
"Developers use Circom/Noir provers directly in native platforms without Rust toolchain setup.",
status: "Done",
statusDot: "green",
},
{
name: "GPU Crypto Libs",
description:
"Community-owned ZK primitives libraries for client-side GPU. Foundation for future PQ proving.",
status: "In progress",
statusDot: "green",
},
{
name: "ZK-Based Human Verification at Scale",
description:
"Native mobile and desktop provers powering privacy-preserving human verification using government-grade identity credentials. Designed for real-world adoption, with an initial rollout targeting 100,000+ verified users.",
status: "In progress \u00b7 Critical",
statusDot: "green",
},
],
next: [
{
name: "TWDIW Integration",
description:
"Provides a PoC showcasing OpenAC × TWDIW privacy-preserving age verification solution for online alcohol purchases in Taiwan.",
status: "Planned \u00b7 ~1 month",
statusDot: "yellow",
},
{
name: "Mopro Pack (Plugin SDK)",
description:
"Plugin-level integration: consume prover as a functional SDK. Drop into existing stacks like Anon Aadhaar.",
status: "Planned \u00b7 ~2 weeks",
statusDot: "yellow",
},
{
name: "zkVM Mobile Study",
description:
"Port Jolt/Nexus/RISC0 to ARM64 mobile. Profile thermal throttling, battery impact.",
status: "Planned \u00b7 ~1 month",
statusDot: "yellow",
},
],
later: [
{
name: "GPU Best Practice Reference",
description:
"1-2 proving schemes with GPU acceleration. At least one PQ scheme. Mobile-specific optimizations.",
status: "Q2-Q3 2026",
statusDot: "gray",
},
{
name: "Kohaku Mobile SDK",
description:
"Wrap Kohaku in Rust, package with mopro pack for mobile wallet integration.",
status: "Backlog",
statusDot: "gray",
},
],
details: {
description: [
"No complex Rust setup required for native mobile ZK",
"Saves up to three major integration steps",
"Foundation for client-side GPU proving ecosystem",
],
deliverables: [
"Native prover SDK (Swift, Kotlin, RN, Flutter)",
"Community GPU crypto libraries",
"Taiwan citizen ID verification (100K+ users)",
],
impact: [
"ZK proving dropped into mature codebases easily",
"Harvest Now Decrypt Later defense via PQ GPU libs",
"Mass adoption through mobile zkVM feasibility",
],
},
},
ZKID,
TLSNOTARY,
{
id: "verifiable-compute",
name: "Verifiable Compute",
category: "private-proving",
status: "Research & development",
statusVariant: "rd",
completion: 10,
description:
"Standard interface for verifiable computation in WebAssembly. Enables private applications to run in secure, isolated environments and use WASM as a portable compilation target for zkVMs without coupling to a specific proving system.",
href: null,
tags: ["WASM", "zkVM", "VOLE", "WIT", "Verifiable Compute"],
now: [
{
name: "Interface requirements",
description:
"Research and define requirements for a verifiable compute interface (WIT, visibility semantics, host/guest boundary).",
status: "In progress",
statusDot: "green",
},
{
name: "VOLE zkVM prototype",
description:
"Implement VOLE-based zkVM implementing the Verifiable Compute API. Target: web proof ecosystem and zkID.",
status: "In progress",
statusDot: "green",
},
],
next: [
{
name: "Verifiable Compute SDK",
description:
"Prototype SDK for web and mobile (web extension, Kohaku integration; Mopro alignment for mobile).",
status: "Planned",
statusDot: "yellow",
},
{
name: "VOLE zkVM benchmarks",
description:
"Benchmark VOLE zkVM against other CSP candidates (e.g. Ligetron).",
status: "Planned",
statusDot: "yellow",
},
{
name: "TLSNotary integration",
description:
"Integrate VOLE zkVM into TLSNotary core protocol and Verifiable Compute SDK.",
status: "Planned",
statusDot: "yellow",
},
],
later: [
{
name: "Ecosystem feedback",
description:
"Solicit ecosystem feedback and encourage other proving systems to implement the interface.",
status: "Q2 2026",
statusDot: "gray",
},
{
name: "Advanced zkVM features",
description:
"Oblivious control flow and ORAM for VOLE zkVM where needed.",
status: "R&D",
statusDot: "blue",
},
],
},
// ─── Private Writes ───
{
id: "machina",
name: "Machina iO",
category: "private-writes",
status: "Research",
statusVariant: "research",
completion: 20,
description:
"Practical indistinguishability obfuscation. 2026 focus: noise refreshing, blind PRF over key-homomorphic encodings, \u226564-bit obfuscation, SNARK verification kickoff.",
href: "/mastermap/machina",
tags: ["iO", "Lattice", "key-homomorphic encodings", "FHE", "GGH15"],
now: [
{
name: "FHE multiplication over key-homomorphic encodings",
description:
"Implement FHE multiplication over key-homomorphic encodings. Foundation for blind PRF; unlocks predicate encryption / LFE.",
status: "Q1 2026 \u00b7 The FHE multiplication circuit compatible with key-homomorphic encodings has been implemented. A further optimization and the evaluation of the circuit over the encodings is underway.",
statusDot: "green",
},
{
name: "A paper on a new lookup table evaluation method over key-homomorphic encodings and low-depth modulo operation circuits",
description: "Publish a paper detailing a new method for evaluating lookup tables over key-homomorphic encodings, along with low-depth modulo operation circuits.",
status: "Q2 2026 \u00b7 The method and the circuit have been implemented, and the paper is in the process of being written.",
statusDot: "green",
},
{
name: "Noise refreshing with a dummy blind PRF",
description:
"Implement noise refreshing of GGH15 encodings with replaceable dummy blind PRF. Confirm parameter growth is polylogarithmic.",
status: "Q2 2026 \u00b7 The noise refreshing with a dummy blind PRF has not been implemented yet, but the high-level design has been finalized.",
statusDot: "green",
},
],
next: [
{
name: "Blind PRF over key-homomorphic encodings",
description:
"Implement a circuit compatible with key-homomorphic encodings that simulates a PRF without revealing key or output. The circuit will be used to replace the dummy blind PRF in the noise refreshing construction.",
status: "Q2\u2013Q3 2026 \u00b7 The circuit is expected to be implementable by combining the gadgets implemented in Q1 2026, although further efficiency improvements and careful parameter tuning are still needed.",
statusDot: "yellow",
},
{
name: "Diamond iO 2",
description: "Implement the next version of the diamond iO, which will support a larger input size without compromising efficiency. A paper describing the construction and its security proof will be published as well.",
status: "Q3 2026",
statusDot: "yellow",
},
{
name: "Devcon 2026: obfuscation for nontrivial input size",
description:
"Demo and presentation: the first practical-performance iO for nontrivial input size (e.g., 64 input bits), or its concrete estimation of the required hardware costs and performance.",
status: "Q3 2026",
statusDot: "yellow",
},
],
later: [
{
name: "SNARK verification over key-homomorphic encodings",
description:
"Start implementing a SNARK verification circuit over key-homomorphic encodings. Continues into Q1 2027.",
status: "Q4 2026",
statusDot: "gray",
},
],
details: {
description: [
"Improve efficiency of key-homomorphic encodings to enable blind PRF and noise refreshing",
"Diamond iO 2, supporting larger input sizes without compromising efficiency",
"SNARK verification over key-homomorphic encodings (kickoff Q4)",
],
deliverables: [
"Implementation of FHE multiplication + blind FHE over key-homomorphic encodings, along with noise refreshing",
"Implementation of obfuscation with a 64-bit input size or its concrete estimation of the required hardware costs and performance",
"Papers on the new lookup table evaluation method and low-depth circuit in Q2 and the next diamond iO construction in Q3",
"Concrete specs for the SNARK verification circuit compatible with key-homomorphic encodings",
],
impact: [
"First practical-performance iO for nontrivial input size",
"Foundation for practical implementations of key-homomorphic encodings",
"Security and efficiency collaboration with academia",
],
},
},
{
id: "ptr",
name: "Private Transfers (Research)",
category: "private-writes",
status: "Active R&D",
statusVariant: "rd",
completion: 20,
description:
"Plasmablind, Sonobe folding library, Wormholes v2, one-time programs and stealth mixers.",
href: "/mastermap/ptr",
tags: ["Plasmablind", "Sonobe", "Wormholes", "Folding"],
now: [
{
name: "Plasmablind Paper",
description:
"Finish paper writeup. ~300-500 TPS with instant proving on low-end devices.",
status: "In progress",
statusDot: "green",
},
{
name: "Sonobe dev\u2192main merge",
description:
"Ship current dev branch with documented release, changelog, migration notes.",
status: "In progress",
statusDot: "green",
},
],
next: [
{
name: "Sonobe Audit",
description:
"AI and human-assisted audit. Audit completion: report + fixes merged + final sign-off.",
status: "Planned \u00b7 Critical",
statusDot: "yellow",
},
{
name: "Wormholes v2",
description:
"Redesign leveraging beacon chain deposits. Re-derive security goals.",
status: "Research",
statusDot: "blue",
},
{
name: "Tokyo Meetup",
description:
"Mar 20 - Apr 20 collaboration with Intmax on sonobe and ideation.",
status: "Planned",
statusDot: "yellow",
},
],
later: [
{
name: "zERC-20",
description:
"Support Intmax on zERC-20 implementation using audited Sonobe.",
status: "Q2 2026",
statusDot: "gray",
},
{
name: "OTP / Stealth Mixers",
description:
"Mixers using one-time programs with garbled circuits and extractable witness encryption.",
status: "Research",
statusDot: "blue",
},
],
},
{
id: "pte",
name: "Private Transfers (Engineering)",
category: "private-writes",
status: "Active development",
statusVariant: "active",
completion: 15,
description:
"Analyse protocols, measure gas cost of protocols, explore privacy standardisation",
href: "/mastermap/pte",
tags: ["State of Private Transfers", "Gas Benchmarks", "ERCs", "ERC20s"],
now: [
{
name: "Protocol Analysis",
description:
"Comprehensive analysis: analyse 2-3 protocols per technology category against a set of set of criteria.",
status: "In progress",
statusDot: "green",
},
{
name: "Protocol Benchmarks",
description:
"Comprehensive benchmarks: cost and speed metrics for 2-3 protocols per technology category.",
status: "In progress",
statusDot: "green",
},
{
name: "Explore Approaches to ERC20 Transfer Anonymity",
description:
"Explore approaches to ERC20 token transfer anonymity to compliment existing confidentiality standards. Open to explore privacy standardisation beyond this scope should compelling opportunities exist.",
status: "In progress",
statusDot: "green",
},
],
next: [
{
name: "State of Private Transfers",
description:
"Comprehensive landscape report. Benchmarks + analysis. Social media campaign.",
status: "Planned \u00b7 Critical",
statusDot: "yellow",
},
{
name: "Build Standards",
description:
"If explorations into standardisation feaibility are successful, build ERC(s) with other teams.",
status: "Planned \u00b7 Critical",
statusDot: "yellow",
},
{
name: "Gather Standard Feedback and Requirements",
description:
"Standardisation requires user feedback and understanding of DeFi protocol interactions. Research and build requirements into any work.",
status: "Planned \u00b7 Critical",
statusDot: "yellow",
},
],
later: [
{
name: "Promote ERC(s)",
description:
"Promote ERC(s) along with teams we have worked with.",
status: "Planned \u00b7 Critical",
statusDot: "yellow",
},
],
},
{
id: "iptf",
name: "IPTF",
category: "private-writes",
status: "Active",
statusVariant: "active",
completion: 10,
description:
"Institutional Privacy Task Force. PoCs, architecture reviews, workshops, market map.",
href: "/mastermap/iptf",
tags: ["Institutional", "PoCs", "Workshops", "Market Map"],
now: [
{
name: "PoCs (2-3)",
description:
"3 weeks dev time per PoC. Usable demo slices. Validate institutional demand for privacy.",
status: "Planned",
statusDot: "yellow",
},
{
name: "Architecture Reviews",
description:
"Phased technical review of confidentiality architectures across blockchain ecosystems.",
status: "Planned",
statusDot: "yellow",
},
{
name: "Workshops (2-3)",
description:
"Targeted engagement with institutional stakeholders. Capture constraints and build trust.",
status: "Planned",
statusDot: "yellow",
},
],
next: [
{
name: "Privacy Market Map Updates",
description:
"Keep the market map growing. Maintain contribution momentum.",
status: "Ongoing",
statusDot: "green",
},
{
name: "Reports & Specifications",
description:
"Explainer documents building toward \"State of Institutional Privacy\" marquee report.",
status: "Planned",
statusDot: "yellow",
},
],
later: [
{
name: "State of Institutional Privacy",
description:
"Marquee report with benchmarks, comparisons, and institutional landscape analysis.",
status: "H2 2026",
statusDot: "gray",
},
],
},
// ─── Private Reads ───
{
id: "pir",
name: "PIR",
category: "private-reads",
status: "Active R&D",
statusVariant: "rd",
completion: 20,
description:
"PIR schemes tailored for Ethereum state and history. Optimized for wallets, frontends, tax software, dApps.",
href: "/mastermap/pir",
tags: ["PIR", "Private state"],
now: [
{
name: "PIR Systems (2-4 schemes)",
description:
"PIR schemes tailored for Ethereum state and history. Optimized for wallets, frontends, tax software, dApps.",
status: "In progress \u00b7 Critical",
statusDot: "green",
},
],
next: [
{
name: "PIR Integration",
description: "\u22651 integration with wallet and/or light client.",
status: "Planned",
statusDot: "yellow",
},
],
later: [],
},
{
id: "ubt",
name: "UBT",
category: "private-reads",
status: "Active R&D",
statusVariant: "rd",
completion: 15,
description:
"Provably L1-equivalent EL node using UBT data structure. MPT-equivalent.",
href: "/mastermap/ubt",
tags: ["UBT", "EIP7864", "Execution layer"],
now: [
{
name: "UBT Node (EIP7864)",
description:
"Provably L1-equivalent EL node using UBT data structure. MPT-equivalent.",
status: "In progress",
statusDot: "green",
},
],
next: [],
later: [],
},
{
id: "tor-js",
name: "tor-js",
category: "private-reads",
status: "Active R&D",
statusVariant: "rd",
completion: 20,
description:
"Arti Tor client in-browser for anonymized RPC. Kohaku integration for plug-in anonymous routing in wallets and frontends.",
href: "/mastermap/tor-js",
projectUrl: "/projects/tor-js",
tags: ["Arti", "Tor", "Kohaku"],
now: [
{
name: "Arti in-browser",
description:
"Tor client running in browser for anonymized RPC calls from wallets and frontends.",
status: "In progress",
statusDot: "green",
},
{
name: "Kohaku Integration",
description:
"Integrate Arti with Kohaku and at least one wallet SDK for plug-in anonymous routing.",
status: "In progress",
statusDot: "green",
},
],
next: [
{
name: "Privacy Dashboard",
description:
"Showcase privacy affordances and adoption of anonymized routing in wallets and RPC providers.",
status: "Planned",
statusDot: "yellow",
},
{
name: "Spotlight Series",
description: "2-5 articles communicating privacy to the public.",
status: "Planned",
statusDot: "yellow",
},
],
later: [
{
name: "Certification Badges",
description:
"Standardize certification badges of privacy adherence for wallets, frontends, RPC providers.",
status: "Q2 2026",
statusDot: "gray",
},
{
name: "Wallet SDK Privacy",
description:
"Drive integration of Arti for network-level-private RPC calls in wallet SDKs.",
status: "Q2 2026",
statusDot: "gray",
},
],
},
]