Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

299 lines

  1. .. _root:
  2. .. image:: rtd_pages/images/DERO-logo.png
  3. :scale: 15
  4. :align: right
  5. Welcome to DERO Documentation!
  6. ==============================================
  8. ^^^^^^^^^^^^^^^^^^
  9. `DERO <https://github.com/deroproject/derosuite>`_ is decentralized DAG(Directed Acyclic Graph) based blockchain with enhanced reliability, privacy, security, and usability. Consensus algorithm is PoW based on original cryptonight. DERO is industry leading and the first blockchain to have bulletproofs, TLS encrypted Network.
  10. DERO is the first crypto project to combine a Proof of Work blockchain with a DAG block structure and wholly anonymous transactions based on `CryptoNote Protocol <https://github.com/deroproject/documentation/blob/master/CryptoNote-WP.pdf>`_. The fully distributed ledger processes transactions with a twenty seven second average block time and is secure against majority hashrate attacks. DERO will be the first CryptoNote blockchain to have smart contracts on its native chain without any extra layers or secondary blockchains. At present DERO have Smart Contracts on `testnet <https://github.com/deroproject/documentation/blob/master/testnet/stargate.md>`_.
  11. DERO Crypto
  12. -----------
  13. 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 such as ring signatures have been studied by various researchers and are in production by number of projects. As far as the Bulletproofs are considered, since DERO is the first one to implement/deploy, they have been given a more detailed look. First, a bare bones bulletproofs was implemented, then implementations in development were studied (Benedict Bunz,XMR, Dalek Bulletproofs) and thus improving our own implementation.
  14. 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 github.com/deroproject/derosuite/crypto/ringct/bulletproof.go , optimized version is in github.com/deroproject/derosuite/crypto/ringct/bulletproof_ultrafast.go
  15. 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.
  17. ----------
  18. **Mainnet:**
  19. P2P Default Port: 20202
  20. RPC Default Port: 20206
  21. Wallet RPC Default Port: 20209
  22. **Testnet:**
  23. P2P Default Port: 30303
  24. RPC Default Port: 30306
  25. Wallet RPC Default Port: 30309
  26. Technical
  27. ---------
  28. For specific details of current DERO core (daemon) implementation and capabilities, see below:
  29. 1. **DAG:** No orphan blocks, No soft-forks.
  30. 2. **BulletProofs:** Zero Knowledge range-proofs(NIZK)
  31. 3. **Cryptonight Hash:** This is memory-bound algorithm. This provides assurance that all miners are equal. ( No miner has any advantage over common miners).
  32. 4. **P2P Protocol:** This layers controls exchange of blocks, transactions and blockchain itself.
  33. 5. **Pederson Commitment:** (Part of ring confidential transactions): Pederson commitment algorithm is a cryptographic primitive that allows user to commit to a chosen value while keeping it hidden to others. Pederson commitment is used to hide all amounts without revealing the actual amount. It is a homomorphic commitment scheme.
  34. 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.
  35. 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.
  36. 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.
  37. 9. **Ring Confidential Transactions:** Gives untraceability , privacy and fungibility while making sure that the system is stable and secure.
  38. 10. **Core-Consensus Protocol implemented:** Consensus protocol serves 2 major purpose
  39. 11. Protects the system from adversaries and protects it from forking and tampering.
  40. 12. Next block in the chain is the one and only correct version of truth ( balances).
  41. 13. **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.
  42. 14. **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.
  43. 15. **Serialization/De-serialization of blocks:** Capability to encode/decode/process blocks .
  44. 16. **Serialization/De-serialization of transactions:** Capability to encode/decode/process transactions.
  45. 17. **Transaction validity and verification:** Any transactions flowing within the DERO network are validated,verified.
  46. 18. **Socks proxy:** Socks proxy has been implemented and integrated within the daemon to decrease user identifiability and improve user anonymity.
  47. 19. **Interactive daemon** can print blocks, txs, even entire blockchain from within the daemon
  48. 20. **status, diff, print_bc, print_block, print_tx** and several other commands implemented
  49. 21. GO DERO Daemon has both mainnet, testnet support.
  50. 22. **Enhanced Reliability, Privacy, Security, Useability, Portabilty assured.**
  51. **DERO blockchain salient features**
  52. * `DAG Based: No orphan blocks, No soft-forks. <https://github.com/deroproject/wiki/wiki#dero-dag>`_
  53. * `51% Attack resistant. <https://github.com/deroproject/wiki/wiki#51-attack-resistant>`_
  54. * 27 Second Block time.
  55. * Extremely fast transactions with 2 minutes confirmation time.
  56. * SSL/TLS P2P Network.
  57. * CryptoNote: Fully Encrypted Blockchain
  58. * `DERO Fastest Rocket BulletProofs: <https://github.com/deroproject/wiki/wiki#dero-rocket-bulletproofs>`_ Zero Knowledge range-proofs(NIZK).
  59. * Ring signatures.
  60. * Fully Auditable Supply.
  61. * DERO blockchain is written from scratch in Golang. `See all unique blockchains from scratch. <https://twitter.com/cryptic_monk/status/999227961059528704>`_
  62. * Developed and maintained by original developers.
  63. DERO Innovations
  64. ----------------
  65. Following are DERO first and leading innovations.
  66. **DERO DAG**
  67. DERO DAG implementation builds outs a main chain from the DAG network of blocks which refers to main blocks (100% reward) and side blocks (8% rewards).
  68. .. image:: rtd_pages/images/Dag1.jpeg
  69. *DERO DAG Screenshot* `Live <https://network.dero.io/>`_
  70. .. image:: rtd_pages/images/dagx4.png
  71. *DERO DAG Screenshot* `Live <https://network.dero.io/>`_
  72. **Client Protocol**
  73. 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 DAG processes transactions atomically one transaction at a time.
  74. **DERO Rocket BulletProofs**
  75. * 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. See: https://github.com/deroproject/derosuite/blob/master/crypto/ringct/bulletproof_ultrafast.go
  76. * DERO rocket bulletproof implementations are hardened, which protects DERO from certain class of attacks.
  77. * DERO rocket bulletproof transactions structures are not compatible with other implementations.
  78. Also there are several optimizations planned in near future in Dero rocket bulletproofs which will lead to several times performance boost. Presently they are under study for bugs, verifications, compatibilty etc.
  79. **51% Attack Resistant**
  80. DERO DAG implementation builds outs a main chain from the DAG network of blocks which refers to main blocks (100% reward) and side blocks (8% rewards). Side blocks contribute to chain PoW security and thus traditional 51% attacks are not possible on DERO network. If DERO network finds another block at the same height, instead of choosing one, DERO include both blocks. Thus, rendering the 51% attack futile.
  81. **DERO Mining**
  82. `CPU Mining <https://github.com/deroproject/wiki/wiki/Mining>`_
  83. **DERO Installation**
  84. DERO is written in golang and very easy to install both from source and binary.
  85. **Installation from Source**
  86. 1. Golang version 1.12.12 required.
  87. 2. In go workspace:
  88. .. code-block:: go
  89. go get -u github.com/deroproject/derosuite/...
  90. 3. Check go workspace bin folder for binaries.
  91. 4. For example on Linux machine following binaries will be created:
  92. derod-linux-amd64 -> DERO daemon.
  93. dero-wallet-cli-linux-amd64 -> DERO cmdline wallet.
  94. explorer-linux-amd64 -> DERO Explorer. Yes, DERO has prebuilt personal explorer also for advance privacy users.
  95. **Installation from binary**
  96. Download `DERO binaries <https://github.com/deroproject/derosuite/releases>`_ for ARM, INTEL, MAC platform and Windows, Mac, FreeBSD, OpenBSD, Linux etc. operating systems.
  97. Most users required following binaries:
  98. `Windows 7-10, Server 64bit/amd64 <https://github.com/deroproject/derosuite/releases/download/v2.1.6-1/dero_windows_amd64_2.1.6-1.alpha.atlantis.07032019.zip>`_
  99. `Windows 32bit/x86/386 <https://github.com/deroproject/derosuite/releases/download/v2.1.6-1/dero_windows_x86_2.1.6-1.alpha.atlantis.07032019.zip>`_
  100. `Linux 64bit/amd64 <https://github.com/deroproject/derosuite/releases/download/v2.1.6-1/dero_linux_amd64_2.1.6-1.alpha.atlantis.07032019.tar.gz>`_
  101. `Linux 32bit/x86 <https://github.com/deroproject/derosuite/releases/download/v2.1.6-1/dero_linux_386_2.1.6-1.alpha.atlantis.07032019.tar.gz>`_
  102. `FreeBSD 64bit/amd64 <https://github.com/deroproject/derosuite/releases/download/v2.1.6-1/dero_freebsd_amd64_2.1.6-1.alpha.atlantis.07032019.tar.gz>`_
  103. `OpenBSD 64bit/amd64 <https://github.com/deroproject/derosuite/releases/download/v2.1.6-1/dero_openbsd_amd64_2.1.6-1.alpha.atlantis.07032019.tar.gz>`_
  104. `Mac OS <https://github.com/deroproject/derosuite/releases/download/v2.1.6-1/dero_apple_mac_darwin_amd64_2.1.6-1.alpha.atlantis.07032019.tar.gz>`_
  105. Contact for support of other hardware and OS.
  106. **Next Step After DERO Installation**
  107. Running DERO daemon supports DERO network and shows your support to privacy.
  108. **Running DERO Daemon**
  109. Run derod.exe or derod-linux-amd64 depending on your operating system. It will start syncing.
  110. 1. DERO daemon core cryptography is highly optimized and fast.
  111. 2. Use dedicated machine and SSD for best results.
  112. 3. VPS with 2-4 Cores, 4GB RAM, 60GB disk is recommended.
  113. .. image:: rtd_pages/images/derod1.png
  114. *DERO Daemon Screenshot*
  115. **Running DERO Wallet**
  116. DERO cmdline wallet is most reliable and has support of all functions. Cmdline wallet is most secure and reliable.
  117. **DERO Cmdline Wallet**
  118. DERO cmdline wallet is menu based and very easy to operate. Use various options to create, recover, transfer balance etc.
  119. **NOTE:** DERO cmdline wallet by default connects DERO daemon running on local machine on port 20206.
  120. If DERO daemon is not running start DERO wallet with --remote option like following:
  121. **./dero-wallet-cli-linux-amd64 --remote**
  122. .. image:: rtd_pages/images/wallet-recover2.png
  123. *DERO Cmdline Wallet Screenshot*
  124. **DERO Web Wallet**
  125. `Web Wallet <https://wallet.dero.io/>`_ runs in your browser, your seeds, keys etc. never leave your browser.
  126. **DERO GUI Wallet**
  127. `Download DERO GUI Wallet <https://github.com/deroproject/dero_gui_wallet/releases>`_
  128. **DERO Explorer**
  129. `DERO Explorer <https://explorer.dero.io/>`_ is used to check and confirm transaction on DERO Network.
  130. DERO users can run their own explorer on local machine and can browse on local machine port 8080.
  131. .. image:: rtd_pages/images/dero_explorer.png
  132. *DERO EXPLORER Screenshot*
  133. **Proving DERO Transactions**
  134. DERO blockchain is completely private, so anyone cannot view, confirm, verify any other's wallet balance or any transactions. So to prove any transaction you require Tx private key and receiver address.
  135. Tx private key can be obtained using get_tx_key command in dero-wallet-cli.
  136. Enter the Tx private key and receiver address in `DERO EXPLORER <https://explorer.dero.io/>`_
  137. .. image:: rtd_pages/images/explorer-prove-tx.png
  138. *DERO Explorer Proving Transaction*
  139. **DERO Netrwork Dashboard**
  140. DERO has two dashboard for stats monitor
  141. `Modern Web Based <https://network.dero.io/>`_
  142. To add your DERO daemon node in web based dahsboard `check. <https://github.com/deroproject/dero-network-stats>`_
  143. `Retro Cmdline Dashboard <http://ntework.dero.io/>`_
  144. To add your DERO daemon node in Retro dahsboard `check. <https://git.dero.io/DeroProject/stats_client>`_
  145. Use browser or gotty-client in terminal to access dashboard.
  146. .. code-block:: go
  147. gotty-client -v2 network.dero.io:8084;
  148. .. toctree::
  149. :caption: Basic's
  150. :hidden:
  151. rtd_pages/basic_desktopwallet.rst
  152. rtd_pages/basic_webwallet.rst
  153. rtd_pages/basic_cmd.rst
  154. rtd_pages/basic_coldwallet.rst
  155. rtd_pages/basic_downloads.rst
  156. rtd_pages/basic_whitepaper.rst
  157. rtd_pages/basic_quickstart.rst
  158. rtd_pages/basic_createrestorewallet.rst
  159. rtd_pages/basic_mining.rst
  160. rtd_pages/basic_runderofullnode.rst
  161. rtd_pages/basic_trading.rst
  162. .. toctree::
  163. :caption: DERO Stargate RC2 Testnet
  164. :hidden:
  165. rtd_pages/stargate_wallet.rst
  166. rtd_pages/stargate_dvm.rst
  167. .. toctree::
  168. :caption: Developer's Guide
  169. :hidden:
  170. rtd_pages/dev_astrobwt.rst
  171. rtd_pages/dev_DHEBP.rst
  172. rtd_pages/dev_graviton.rst
  173. rtd_pages/dev_rpcapi.rst
  174. .. toctree::
  175. :caption: Useful Links
  176. :hidden:
  177. rtd_pages/usefull_importantlinks.rst