Skip to main content

Application Chain

0KN's Application Layer is facilitated by modular interoperable zkAppChains using Protokit (as L2) with aggregated transaction settlement on Mina Protocol (as L1). These cutting-edge ZK-native powerhouses bring numerous benefits to the 0KN Ecosystem in the form of privacy and scalability for 0KN's decentralized network framework, incentives mechanisms, as well as decentralized ZK applications utilizing the 0KNetwork for privacy of metadata and ZKProof transactions.

The zkAppChain layer serves the following purpose within the 0KN Ecosystem:

  • privatizes access to, and incentivizes decentralized operations within, the 0 Knowledge Network of mix-nets and mApps
  • empowers mix-net compatible apps with utility tool-box for interoperable application specific zk-chains
  • provides application privacy at scale with zkRollups and settlement on an L1
  • enhances tokenomic health with high-resolution network incentives
  • simplifies developmental complexity and provides cutting-edge protocol flexibility

Relevant Terminology

TermDefinition
Smart ContractA decentralized computer program running on a blockchain network that automatically and deterministically executes agreements based on predefined conditions
dAppDecentralized Application; an application built on a decentralized network that combines a smart contract and a frontend user interface
zkAppZK Application; a dApp using ZK for privacy and security
validiumA blockchain scaling solution that enforces integrity of transactions using validity proofs like ZK-rollups, but doesn’t store transaction data on-chain
zkAppChainInteroperable application-specific blockchain(s) using ZK for privacy, security, and scale

Decentralized Private Applications

Decentralized Private Applications, also referred to as zkApps or zk-dApps within the context of 0KN, are a form of Smart Contract using Zero-Knowledge Proofs. They are deployed within 0KN's Application Chain as protokit runtime modules.

Application Types

Runtime modules within 0KN's Private Application Chain exist primarily in three categories, with each providing developmental building blocks of further abstractions for the next:

  1. 0KN Protocol: Protocol runtime modules facilitate the decentralized 0KN protocol and utility functionality including mix network node orchestration, network incentives, network resource access and utility fees. They also provide privacy application primitives and libraries such as token standards, registration modules, and ZK Proof mechanisms.
  2. Core Applications: More advanced applications supportive of the 0KN protocol and covering top-level use-cases build upon 0KN Protocol modules. These include 0KN wallet, browser integrations, DAØ, DEX, cross-chain bridges and targeted use-cases such as blockchain RPC, secure messaging, and DePIN.
  3. User-Submitted: Similar to how smart contracts are deployed to blockchains in a decentralized manner, private applications building within 0KN's Privacy Substrate may be deployed to run within 0KN's Application Chain. These applications are interoperable and inherit native metadata privacy and ZK utilities.

Application Capabilities

Applications deployed within 0KN's Application Chain inherit a number of capabilities that include but are not limited to:

  • metadata privacy
    • a native attribute, cryptographically enforced
    • various provable forms of entropy ("mix") for different threat-model appropriation depending on use-case
  • ZK
    • private smart contract methods
    • selective disclosure
    • on- and off-chain proofs
  • cross-chain interoperability across many L1s
  • decentralized privacy at scale
  • growing privacy utility toolbox for developers
  • connectivity to Mina's ecosystem and design philosophy
    • positive-sum approach fostering collaboration and compatibility
    • bridges between chains for a unified and interconnected blockchain ecosystem
    • exceptional DX for ZK... Development velocity as competitive edge!

Mina Protocol

As the world;s lightest blockchain at 22kb and the world's first ZK-native blockchain, Mina Protocol (and O1JS) is a great match for building the "Zero Knowledge" part of the "Zero Knowledge Network".

Benefits to 0KN Ecosystem:

  • growing cross-chain interoperability with other L1s
  • no gas for cost-effective transactions
  • recursive ZK proofs for succinct proofs that scale
  • industry-leading development velocity within a fast-growing ZK ecosystem of interoperable libraries and applications
  • first-class developer experience with ZK protocol accessibility
  • leading the charge of blockchains by measured decentralization
Why Mina?

This article from o1labs, the creators of Mina Protocol, describes the unique super powers of Mina and its target position within the broader Web3 ecosystem. Extracting some key points:

With Berkeley, Mina becomes even crazier. With Berkeley, if 2021 was Mina’s birth year, 2024 is the year it comes of age, and starts enabling all sorts of cool and crazy stuff.

In fact Ethereum’s own roadmap targets an end state in a number of years where the entire state of Ethereum is proven by zero knowledge proofs; essentially what Mina is today.

Mina is a hardcore ZK project. It’s one of the first ones. It’s proofs all the way down, proof-of-everything.

Mina has decentralized provers and validators that make the chain fully censorship resistant.

All code for zkApps (zk-enabled smart contracts) is executed client-side in a user’s browser. Users can keep the data they share with applications fully private.

There is no gas. All apps pay a flat fee per interaction, meaning compute can be as powerful as your local machine allows for.

No other protocol or chain has a combination of such powerful attributes.

When it comes to ZK, many of the ZK protocols have been creating new programming languages for their ecosystems. Why? Yes, ZK is hard. Yes, it requires new ways of thinking. But do we really need to make developers learn an entirely new language, especially if ZK is to be “as important as blockchains”? No!

Mina’s TypeScript development framework O1JS has grown to be used by more than 10% of all ZK apps on GitHub.

Mina is the first validium type protocol.

Mina’s design is actually a very conscious part of our strategy to be compatible with and provide value to every other L1 out there.

Protokit

zkAppChains are facilitated by Protokit; a protocol development framework for building zero-knowledge interoperable privacy-preserving application chains.

0KN's decentralized protocol consensus mechanisms are facilitated within a zkAppChain as a Layer 2 solution with aggregated ZKProof transactions settled on Mina Protocol as Layer 1. Thus 0KN's incentivized consensus mechanisms are focused entirely on relevant decentralized mix network protocol facilitations separate from the concerns of more general blockchain consensus of the underlying layer.

Protokit Features

Privacy Enabled: Protokit runtime modules enable opt-in privacy where required by providing seamless composability of off-chain computation with on-chain sequential transaction processing.

Succint zkVM: Chains built with Protokit run on top of our modular zkVM, which is driven by a set of recursive zk circuits that lead to a unique block proof for each block. This means that block production results in a concise proof that can be verified inexpensively.

Supercharged DevX: Protokit chains are built using O1JS, Mina's zero-knowledge DSL for writing provable code. This allows you to reuse the wide variety of existing tools in the JavaScript/typescript ecosystem.

Modular: Combine several existing runtime, protocol, or sequencer modules into a complete application chain.

Interoperable: Integrate your app-chain with other existing app-chains, L2s, and rollups to avoid fragmentation of liquidity within the ecosystem.

Wallet Integration: Protokit transaction format is MINA native, therefore supports the majority of existing ecosystem wallets built on top of the mina-signer.

Privacy at Scale

Besides bringing privacy to blockchains, Zero-Knowledge Proofs also enable scalability. 0KN's Application Chain is implemented as a validium, inheriting this property from protokit and Mina, as the world's first validium type protocol. Validiums are a blockchain scaling solution that enforces integrity of transactions using validity proofs like ZK-rollups, but doesn’t store transaction data on-chain. The separation of on-chain storage of root commitments of data from the full data itself offers numerous benefits including increased on-chain transaction throughput and more efficient decentralized infrastructure.

On-chain state data is used to validate ZKProofs while the off-chain data is also used to generate ZKProofs. This separation of on- and off-chain data creates another component of the decentralized protocol architecture; a Data Availability layer. In addition to nodes serving the 0KN protocol with mix networks for private data transmission, nodes may also participate in rewarded protocol support by providing data storage and computation.

Transactions & Settlement

The following diagram outlines the flow of example transactions (ZKProofs) within 0KN's Privacy Substrate using a zkAppChain powered by Protokit and settled on Mina.

pan/zoom fullscreen diagram

Smart Contracts on MINA