Technology Overview
How does the proof algorithm work in Singularity’s Darkpool?
Singularity's Darkpool uses UltraPLONK, an advanced form of zk-SNARK, which allows the prover (end trader) to generate cryptographic proofs in their browser that their transactions are valid, without revealing any transaction details.
Can you explain the UTXO model and anonymity in Singularity’s Darkpool?
The UTXO model supports anonymity by treating assets and transaction amounts as hidden information embedded within UTXOs. These are verified through zero-knowledge proofs, without revealing any underlying data.
What is the role of nullifiers and how do they prevent double spending?
Nullifiers are unique identifiers used in UTXOs to prevent double spending by ensuring each transaction is distinct and traceable.
How does Singularity handle the matching of orders in its Darkpool?
Order matching in Singularity’s darkpool uses a combination of Fully Homomorphic Encryption (FHE) and Multi-Party Computation (MPC).
What are the expected proof times and gas costs for transactions within Singularity’s Darkpool?
Currently under development, the goals are to:
Reduce proof times to under one minute.
Limit gas costs to approximately $10 on Ethereum and less than 10 cents on Layer 2s.
Why is it built using the Noir ZK-Language?
Noir is the most flexible zk-language, enabling easier upgrades. It doesn’t require a trusted setup, unlike traditional SNARKs, which makes it more adaptable for the platform.
How are ZK circuits used in the settlement layer of Singularity’s Darkpool?
ZK circuits are utilized in the settlement layer to ensure both the integrity and confidentiality of transactions.
How do FHE and MPC work in tandem for orderbook matching?
FHE: Orders are encrypted using a public key, and computations necessary for matching are performed on these encrypted orders.
MPC: No single book node has the entire decryption key. Instead, keys are split across multiple orderbook nodes. Only through consensus can the results of encrypted matches be decrypted, revealing whether a match has occurred without exposing any order details.
Last updated