LogoLogo
  • WELCOME TO ALEPH ZERO
  • EXPLORE
    • About Aleph Zero
    • AlephBFT Consensus
    • The Economy of Aleph Zero
    • Where to Buy AZERO
    • Decentralized Governance on Aleph Zero
    • Ecosystem
    • Aleph Zero Foundation Treasury Management
    • Community
    • Glossary
    • Audit & Research Papers
  • USE
    • Wallets
    • Explorer
    • Ledger
    • Telegram Notifications
    • Aleph Zero Signer
      • General introduction
      • What does Signer do?
      • What are Sub-accounts and Sub-account paths?
      • Why is it critical to store your Secret Phrase in a safe place?
      • How to forget and restore accounts?
      • What are Networks?
      • What are Trusted apps?
    • Dashboard
      • Dashboard basics
      • Overview
    • Stake
      • Staking Basics
      • Staking Menu Overview
      • How to Start Staking with the Aleph Zero Dashboard
      • How to Start Staking With the Developer Wallet
      • How to start staking using Ledger hardware wallet
      • How to Change Nominations
      • How to Stop Staking
      • Staking Rewards
      • Validators
      • Commission and Foundation Nodes
      • Proxy Accounts
    • Validate
      • Validating Overview
      • Hardware requirements
      • Running an Aleph Node on Testnet
        • Downloading and running the node
        • Verifying your setup
        • Customizing your setup
        • Building and running from source [advanced]
          • Building from source
          • Set environment variables
          • Download DB snapshot
          • Running the binary
        • Appendix: Ports, addresses, validators, and archivists
      • Running an Aleph Node on Mainnet
        • Running the node
        • Building and running from source [advanced]
      • Setting your identity
      • Making the node validate
      • Securing your validator
      • Troubleshooting
      • Elections and Rewards Math
      • Testnet Validator Airdrop
      • Foundation Nomination Program
    • Using the EVM-layer
    • Governance
      • Token
      • Multisig Accounts
  • BUILD
    • Aleph Zero smart contracts basics
      • Setting up a Testnet account
      • Installing required tools
      • Creating your first contract
      • Deploying your contract to Aleph Zero Testnet
      • Extending your contract
    • Cross contract calls
      • Using references
      • Using dynamic calls
    • Migrating from Solidity
    • Writing e2e tests with ink-wrapper
    • Aleph Zero Signer integration
    • Front-end app: smart contract interaction
    • Security Course by Kudelski Security
      • ink! Developers Security Guideline
      • Lesson 1 - Getting started with ink!
      • Lesson 2 - Threat Assessment
      • Lesson 3 - Integer Overflow
      • Lesson 4 - Signed-integer
      • Lesson 5 - Role-Based Access Control
      • Lesson 6 - Address Validation
      • Lesson 7 - Smart Contract Control
    • Development on EVM-layer
  • PROTOCOL DETAILS
    • Shielder
      • Overview
      • Design against Bad Actors
      • Preliminaries - ZK-relations
      • Notes and Accounts
      • ZK-ID and Registrars
      • Anonymity Revokers
      • PoW Anonymity Revoking
      • Relayers
      • Deterministic Secret Management
      • SNARK-friendly Symmetric Encryption
      • SNARK-friendly Asymmetric Encryption
      • Cryptography
      • Token shortlist
      • User Wallet
      • Versioning
      • PoC
      • Version 0.1.0
      • Version 0.2.0
    • Common DEX
      • Common Whitepaper - Differences
      • Dutch Auctions
  • FAQ
  • Tutorials
    • Withdrawing coins from exchanges
      • How to withdraw your AZERO coins from KuCoin
      • How to withdraw your AZERO coins from MEXC Global
      • How to withdraw your AZERO coins from HTX
  • Setting up or restoring a wallet
    • How to set up or recover your AZERO account using Aleph Zero Signer
    • How to set up or recover your AZERO account using the official mainnet web wallet
    • How to set up or recover your AZERO account using Nova Wallet
    • How to set up or recover your AZERO account using SubWallet
    • How to set up or recover your AZERO account using Talisman
  • Staking
    • How to stake via a direct nomination using the Aleph Zero Dashboard
    • How to stake via a nomination pool using the Aleph Zero Dashboard
    • How to destroy a nomination pool via the Aleph Zero Dashboard
Powered by GitBook
On this page
  • Common Whitepaper
  • Similarities with Common DEX
  • Differences with Common DEX

Was this helpful?

  1. PROTOCOL DETAILS
  2. Common DEX

Common Whitepaper - Differences

PreviousCommon DEXNextDutch Auctions

Last updated 8 months ago

Was this helpful?

Common Whitepaper

The Common Whitepaper: is a paper describing an Order Book DEX with privacy features, a joint work between Cardinal Cryptography and Nethermind researchers.

The Common DEX that we implement as part of Common -- the Privacy Suite on Aleph Zero -- is heavily inspired by the Common Whitepaper, however there are also several differences between the two. These differences aim at:

  • making the DEX also usable and efficient (in terms of prices offered to users) in the non-private mode,

  • making the design more modular, thus allowing shipment of the product in stages,

  • simplifying the order flow and interactions with the Decryption Oracle.

Similarities with Common DEX

The foundation of the Common protocol in the whitepaper is a shielded pool. This is also true for Common DEX -- by default, each user action in Common DEX is anonymous -- it originates and concludes in the shielded pool. The concrete implementation of the underlying shielded pool (referred to as "anonymity pool" in the whitepaper) is the Shielder from this documentation.

As in the Common Whitepaper, Common DEX separates the interactions with the anonymity pool and the execution engine of the DEX (referred to as "Swap Engine" in the whitepaper). In fact, in the DEX the execution engine is even further separated and the users are able to interact with it directly.

Differences with Common DEX

In the Common Whitepaper the only mode to use the Order book is via submitting private orders (or by filling orders), in Common DEX this changes -- privacy is opt-in, and it will be possible to submit orders publicly.

In the whitepaper the Dutch auctions are run as part of the swap phase. In the Common DEX implementation, the Dutch auction mechanism is generalized and used to match regular, plaintext orders using a mechanism akin to Uniswap-X or CowSwap.

The Decryption Oracle in the whitepaper is used to decrypt the batched orders from subsequent rounds. Common DEX on the other hand will allow more sophisticated use patterns of the Decryption Oracle -- for instance Iceberg Orders.

https://eprint.iacr.org/2023/1868