---
# System prepended metadata

title: Infrastructural Components

---

# Infrastructural Components

A list of the main components and the corresponding actions needed to put the voting infrastructure in place:

* **Smart contracts**
    * Deployment of the Master Voting SC
    * Open source SC
* **Public Delay-Relayer**
    * Set up one or more relayers (e.g. Nouns + Aztec + Aragon)
    * Open source relayer implementation
* **Public Time-Lapse Cryptography Service**
    * Bootstrap the consortium of trusted parties (e.g. Nouns + Aztec + Aragon + others)
    * Start publishing keys
    * Open source TLC service implementation
* **Front end**
    * Deploy on one or more servers
    * Open source frontend (including the source code of the embedded Noir program)

# Technologies Used

* For generating ZKPs, we will use Aztec’s Noir language paired with an UltraPlonk-based proving backend. Noir is a domain-specific language for writing zero-knowledge proofs.
* The tally prover will be written in Rust and Noir.
* The web interfaces will use JavaScript and Wasm.
* For the “Time-lapse cryptography service” we will, amomg others, use ideas from [tlock: practical timelock encryption from threshold BLS](https://eprint.iacr.org/2023/189)