Efficient Registration-Based Encryption (RBE) [GKMR23] on Ethereum.
The core smart contract implementing the Key Curator is in contracts/KeyCurator.sol
.
The remainder of the system is run off-chain in Rust, with computations implemented in src/
and tested in tests/
.
- Install:
forge install
- Build:
cargo build
- This also compiles the contracts to JSON
- Test:
- Solidity tests:
forge test
- Rust tests:
cargo test
- Solidity tests:
- EC arithmetic via arkworks-rs, usage here
- The Solidity library for EC precompiles, much of the repo structure, and parts of the Rust code were based on/taken from a16z's powers of tau implementation