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.
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.
- 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.
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.
Before you begin, ensure you have the following:
- Node.js and npm installed
- Docker (optional, for containerized deployment)
- An Ethereum wallet
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
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.
The command below will use 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
as a deployer:
NETWORK=anvil make deploy-contracts
Shielder is licensed under the Apache-2.0 License. See the LICENSE file for more details.
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!