Skip to content

Cardinal-Cryptography/zkOS-monorepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LOGO

Nightly Testnet E2E tests Contracts deployment Relayer deployment

Shielder: A First Iteration of zkOS

Welcome to Shielder, the first iteration of zkOS by Aleph Zero. Shielder is designed to provide a seamless integration of zero-knowledge (ZK) privacy into Ethereum Virtual Machine (EVM) compatible environments with subsecond proving times.

Table of Contents

Introduction

Shielder is part of the Aleph Zero zkOS initiative, aimed at delivering Privacy-as-a-Service for Web3. With zkOS, developers can integrate ZK-based privacy into their applications without deep cryptographic knowledge.

Features

  • EVM Compatibility: Easily integrate with existing Ethereum-based applications.
  • Subsecond Proving: Achieve zero-knowledge proofs in 600-800 ms on standard hardware.
  • High Performance: Supports up to 250ms block time and processes thousands of transactions per second.
  • Developer-Friendly: Comprehensive tooling and frameworks to simplify integration.
  • Privacy-Enhanced: Build and deploy privacy-enhanced applications effortlessly.

Architecture

Shielder is built utilizing the following components:

  • EVM Layer 2 Rollup: Leverages Arbitrum Anytrust DAC technology for fast and secure execution.
  • Developer Tooling: Includes Gelato’s web3 services, account abstraction, functions, VRF, oracles, block explorers, indexers, and multisig support.

Getting Started

Prerequisites

Before you begin, ensure you have the following:

  • Node.js and npm installed
  • Docker (optional, for containerized deployment)
  • An Ethereum wallet

Usage

Clone the repository and install the dependencies:

git clone git@github.com:Cardinal-Cryptography/zkOS-monorepo.git
cd zkOS-monorepo
make deps

Boot a local node:

make anvil

Generate additional contract sources:

make generate-contracts

Compile & deploy the smart contract suite:

make deploy-contracts

Running e2e tests

Install dependencies and generate additional contract sources:

make deps
make generate-contracts

Run:

run tooling-e2e-tests/full_scenario.sh

(or another .sh file from that directory). For maximum compatibility export BUILD=docker - this will be slower but will build the relayer image inside docker. Otherwise the binary is built on your machine and then copied into the image which might not work, depending on the exact configuration of the host.

Deploying to anvil

The command below will use 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 as a deployer:

NETWORK=anvil make deploy-contracts

License

Shielder is licensed under the Apache-2.0 License. See the LICENSE file for more details.

Private components and future open sourcing plan

While this repository represents the majority of our work, there are still some components that are kept in private repositories. These include halo2 circuits and Poseidon2 hashing function.

The main reason for keeping these components private at this time is that they are waiting for an external audit to ensure they meet all compliance, security, and quality standards. This step is essential to ensure that when we open source these parts, they adhere to our community's expectations for transparency, security, and usability.

We are fully committed to open-sourcing these remaining components as soon as the audit is complete. Stay tuned for updates, and feel free to reach out with any questions or feedback in the meantime!