Zkipper

This projects demonstrates role based access control enforced by EIP-7702, PQC admin, and ZK users

Zkipper

Created At

ETHGlobal Cannes

Winner of

Ethereum Foundation - Best use of ZK on Mopro 2nd place

Project Description

Our solution builds upon the new EIP-7702 standard to create a flexible smart account. When a transaction needs to be signed, tx is rated on its criticity, in order to be signed either by admin, or user. The flow is:

  1. Role Identification: At entrance of contract, transactions are designed a role for the signature, according to their criticity.
  2. ZkSafe: The governance model is hidden by a ZkProof Verification of the ARX wrist signer.
  3. Wristband Interaction for low crit tx: The wristband's ARX chip securely generates a signature using its embedded key, it is used to generate the witnesses of the zkProof (ECDSA over k1).
  4. Post-Quantum Signing for admin tx: The signature is then processed with the FALCON post-quantum algorithm (via JavaScript integration).

The sudo account is protected by FALCON signatures, while standard commands are signed by ecdsa. At the entrance of Zkeeper, an analyzer estimates the level (sudo, standard) of the transaction. Then it is forwarded to be signed by the right role. Looking at Bybit and top 2024 hacks, separating user from admin cmd would have prevent them.

How it's Made

Preexisting pieces: The project relies on the gnark proving library by Consensys, the ETHFALCON post quantum library by ZKNOX (us), and the HALO NFC library by ARX (the wristband chip provider).

Accomplished work

mopro-gnark: gnark circuits have been binded in rust, and are used for the zkSafe module EIP7702: the smart Account integrates ZKNOX FALCON verification and the above verifier for the RBAC

Mocked parts

The analysis of transactions is mocked by a simple analysis of the amount of the transaction. In the future, a service like blockAID or similar, instead of being limited to Go/noGO shall provide the role required to execute the transaction. For instance any delegate call could be detected and require admin (sudo) rights. The ZK verifier only takes one signer, in the future any k out of m circuit can be used instead.

background image mobile

Join the mailing list

Get the latest news and updates