Dero Project

From DERO Wiki
Jump to navigation Jump to search

About DERO

DERO is a general purpose, private, and scalable decentralized application platform that allows developers to deploy powerful and unstoppable applications, while users retain total control over their assets with complete privacy.

DERO has been developed from scratch in Golang and is being actively developed by the original developers. It is not a fork of any other coin.

The DERO Project has created a platform for developers to deploy secure, open, scalable, and privacy-preserving decentralized applications. DERO is unique because we value security and privacy above all else; as a result, users are able to transact privately over our network without fear of common protocol-level and network attacks. Additionally, our technology preserves transparency where required and scales with network load, which provides an ideal environment for business-class applications

DERO-HE Features

  1. Homomorphic account based model, the first privacy chain to utilize this. (Check blockchain/transaction_execute.go line 82-95)
  2. Instant account balances, only need to get 66 bytes of data from the blockchain
  3. Mining decentralization. There are no more mining pools required due to the ~48000 daily block rewards (1 per miniblock), and as such there are no pool attacks.
  4. Erasure coded blocks, lower bandwidth requirements, very low propagation time which allows 100x block size without increasing propagation delays
  5. No more chain scanning or wallet scanning to detect funds, no key images, etc.
  6. Truly light weight and efficient wallets
  7. Fixed per account cost of 66 bytes in blockchain (immense scalability)
  8. Perfectly anonymous transactions with many-out-of-many proofs (bulletproofs, ring signatures, and sigma protocol)
  9. Plausible deniability via ring signatures
  10. Fixed transaction sized based on chosen ring size/anonymity group (logarithmic growth)
  11. Allows homomorphic assets (programmable SCs with fixed overhead per asset), with open Smart Contract but encrypted data
  12. Allows open assets
  13. Allows chain pruning on daemons to control growth of data on daemons
  14. Transaction generation takes less than 25ms
  15. Transaction verification takes even less than 25ms
  16. No trusted setup, no hidden parameters
  17. Pruning chain/history for great scalability while staying secure via merkle proofs
  18. Example disk requirement of 1 billion accounts is only 200GB, meaning with pruned transactions, the entire chain could reasonably fit on a standard hard drive in all cases
  19. Senders can prove to the receiver what amount they sent without revealing themselves
  20. Entire chain is rsyncable while in operation
  21. Testnet released with source code

DERO Crypto

Secure and fast crypto is the basic necessity of this project and adequate amount of time has been devoted to develop/study/implement/audit it. Most of the crypto features such as ring signatures have been studied by various researchers and are in production by number of projects. As far as the Bulletproofs are concerned, since DERO is the first one to implement/deploy, they have been given a more detailed look. First, a bare bones model of bulletproofs was implemented, then implementations in development were studied (Benedict Bunz, XMR, Dalek Bulletproofs) and thus improving our own implementation.

Some new improvements were discovered and implemented (There are number of other improvements which are not explained here). Major improvements are in the Double-Base Double-Scalar Multiplication while validating bulletproofs. A typical bulletproof takes ~15-17 ms to verify. Optimised bulletproofs takes ~1 to ~2 ms(simple bulletproof, no aggregate/batching). Since, in the case of bulletproofs the bases are fixed, we can use precompute table to convert 64*2 Base Scalar multiplication into doublings and additions (NOTE: We do not use Bos-Coster/Pippienger methods). This time can be again easily decreased to .5 ms with some more optimizations. With batching and aggregation, 5000 range-proofs (~2500 TX) can be easily verified on even a laptop. The implementation for bulletproofs is in, optimized version is in

There are other optimizations such as base-scalar multiplication could be done in less than a microsecond. Some of these optimizations are not yet deployed and may be deployed at a later stage.


For specific details of the current DERO core implementation and capabilities, see below:

  1. Enhanced reliability, privacy, security, usability, portability, and anonymity assured.
  2. Bulletproofs: Zero Knowledge range-proofs (NIZK)
  3. Cryptonight Hash: This is a memory-bound algorithm, it provides assurance that all miners are equal.
  4. P2P Protocol: This Peer-To-Peer layer controls exchange of blocks, transactions, and the blockchain itself.
  5. Pederson Commitment (Part of ring confidential transactions): The Pederson commitment algorithm is a cryptographic primitive that allows a user to commit to a chosen value while keeping it hidden to others. Pederson commitment is used to verifiably validate all amounts while keeping the amounts hidden. It is a homomorphic commitment scheme.
  6. Borromean Signature (Part of ring confidential transactions): Borromean Signatures are used to prove that the commitment has a specific value, without revealing the value itself.
  7. Additive Homomorphic Encryption: Additive Homomorphic Encryption is used to prove that sum of encrypted Input transaction amounts is EQUAL to sum of encrypted output amounts. This is based on Homomorphic Pederson commitment scheme.
  8. Multilayered Linkable Spontaneous Anonymous Group (MLSAG): (Part of ring confidential transactions): MLSAG gives DERO untraceability and increases privacy and fungibility. MLSAG is a user controlled parameter ( Mixin) which the user can change to improve his privacy. Mixin of minimal amount is enforced and user cannot disable it.
  9. Ring Confidential Transactions: Gives untraceability, privacy and fungibility while making sure that the system is stable and secure.
  10. Core-Consensus Protocol implemented: Consensus protocol that serves 2 major purposes- it protects the system from adversaries and protects it from forking and tampering. The next block in the chain is the one and only correct version of truth (balances).
  11. Proof-of-Work(PoW) algorithm: PoW part of core consensus protocol which is used to cryptographically prove that X amount of work has been done to successfully find a block.
  12. Difficulty algorithm: Difficulty algorithm controls the system so as blocks are found roughly at the same speed, irrespective of the number and amount of mining power deployed.
  13. Serialization/De-serialization of blocks: Capability to encode/decode/process blocks.
  14. Serialization/De-serialization of transactions: Capability to encode/decode/process transactions.
  15. Transaction validity and verification: Any transactions flowing within the DERO network are validated and verified.
  16. Socks proxy: Socks proxy has been implemented and integrated within the daemon to decrease user identifiability and improve user anonymity.
  17. Interactive daemon can print blocks, txs, even entire blockchain from within the daemon.

DERO Innovations

Client Protocol

Traditional Blockchains process blocks as single unit of computation (if a double-spend tx occurs within the block, entire block is rejected). However DERO network accepts such blocks since DERO blockchain considers transaction as a single unit of computation. DERO blocks may contain duplicate or double-spend transactions which are filtered by client protocol and ignored by the network.

DERO Rocket BulletProofs

Dero ultrafast bulletproofs optimization techniques in the form used did not exist anywhere in publicly available cryptography literature at the time of implementation. Please contact for any source/reference to include here if it exists. Ultrafast optimizations verifies Dero bulletproofs 10 times faster than other/original bulletproof implementations.