Technology Overview
Singularity’s Darkswap – Technical FAQ
1. How does the proof algorithm work in Singularity’s Darkswap?
Singularity’s Darkswap uses UltraPLONK, an advanced form of zk-SNARK.
The prover (end trader) generates cryptographic proofs in their browser.
These proofs confirm transactions are valid without revealing transaction details.
2. Can you explain the UTXO model and anonymity in Singularity’s Darkswap?
The UTXO model treats assets and transaction amounts as hidden data within UTXOs.
Verification happens through zero-knowledge proofs, ensuring anonymity without exposing underlying data.
3. What is the role of nullifiers and how do they prevent double spending?
Nullifiers are unique identifiers in UTXOs.
They ensure each transaction is distinct and traceable, preventing double spending.
4. How does Singularity handle the matching of orders in its Darkswap?
The matching engine receives obfuscated orders from the dApp/Maker API and then generates zk-proofs for the resulting fills.
Proofs are verified by the on-chain settlement contract, which executes atomic transfers. To observers, it’s just a single call from the Singularity contract (no asset/size/counterparty leaked).
5. What are the expected proof times and gas costs for transactions?
Currently under development. The goals are:
Proof times: under 1 minute
Gas costs: ~$10 on Ethereum and < $0.10 on Layer 2s
6. Why is it built using the Noir ZK-Language?
Noir is the most flexible zk-language.
Allows easier upgrades and no trusted setup (unlike traditional SNARKs).
Makes the system more adaptable for the platform.
7. How are ZK circuits used in the settlement layer?
ZK circuits guarantee both:
Integrity of transactions
Confidentiality of transaction data
Last updated