Deeper Network Validator Program
Validators are essential to the function of any blockchain. They are the ones who verify all transactions on a blockchain. Once a transaction is verified, the data is then added to a block. Deeper Chain validator nodes receive $DPR as a reward for their verification.The validator program will be launched on Dec 1st, 2022.
What’s the current state of the Deeper Chain validators?
With seven (7) existing team validator nodes, and nine (9) community validator nodes opening up, a total of sixteen (16) validators on the Deeper Chain. This article will provide you with information on how to participate in becoming a validator. The existing balance of the seven (7) team validator wallets is around 2.9 million DPR of which all will be burned once a new burning mechanism will be added to the Deeper Chain. Validators will be able to reduce their balance to a specified amount. Both the “miscFrozen” and “feeFrozen” will be set to “0” for the current seven (7) team validators as shown below.
Note: the usable balance of the account is the amount that is free minus any funds that are considered frozen (either misc_frozen or fee_frozen). If the funds are to be used for transfers, then the usable amount is the free amount minus any misc_frozen funds. However, if the funds are to be used to pay transaction fees, the usable amount would be the free funds minus fee_frozen.
How does one become a validator?
In order to become a validator node, the applicant will need to stake a minimum of 1 million DPR. The total rewards pool is 13,150 DPR per day. Each validator reward will be 13,150 DPR divided by the number of validators. Validators will have an equal amount of daily rewards therefore, the more validators the less reward each node will receive. The 7 team validators managed by the Deeper Network will have 100% of the validator rewards burned once the validator application starts. The validator must stake for a minimum of one (1) year. When a validator unstakes, the staked DPR will be linearly released over 30 days.
As a validator, your node cannot be offline. If the node is ever offline at any time, the validator will be severely penalized as the disconnection will affect the security and functions of the blockchain. If a validator node is offline for more than a week, the blockchain will never be recovered, and the data will be irretrievable. The node will be removed from the whitelist and made so it cannot generate blocks and release its Virtual Private Server (VPS) after two weeks, ending the hosting of that node. Please see the formula below showing the calculation of the penalty for being offline:
- x = offences, n = total number of validators in the active set min((3 * (x - (n / 10 + 1))) / n, 1) * 0.07
Community Validator Application
Choosing a Validator Operating Plan
There are two operating plans for validator applicants; The self-managed plan and hosted plan. The hosted plan is the recommended plan for applicants as it requires less maintenance from the applicant.
Once finished applying, the applicant must post their validator application on the Deeper Network forum (deepernetwork.cc). Deeper Network will review the application and make a decision on the application in about a week based on the requirements above in addition to other factors. The Deeper Network team will announce the decision on the community bulletin board located on the forum.
(A) Self-managed Plan
Under the self-managed plan, users are responsible for the operation and maintenance of the nodes. Below are the applicant requirements for the self-managed plan:
Validator O&M members must have basic knowledge of Linux and its system administration. Aspects such as command-line operations, Linux text editing (without user interface), log viewing, networking, firewall configuration, system settings and troubleshooting.
6. Hardware requirements:
- 8 CPU
- 16 GB RAM
- 500GB SSD (Amazon International or Digital Ocean are recommended)
- Ubuntu 20.04 x86_64
(B) Hosted plan
The validator pays a monthly hosting fee of 300 USDC to the Deeper-Chain Operation and Maintenance team for the management of their node and authentication key. 300 USDC can be sent via BSC (0x93e3FE676eEdb9d3D87e00dB669D60F9ac0C5a91).
If a user fails to pay 300 USDC, their validator node will be frozen and unable to generate blocks. The validator address will be removed from the whitelist after one (1) week, and VPS released after two (2) weeks, ending their hosting.
To subscribe to one of the above, please submit the validator application via the following google form link (https://forms.gle/JWGe1G8XFgqta6W9A)
Creating a Deeper Chain Account
In order to become a validator one has to create a Controller account and a Stash account. Open the https://apps.deeper.network page, click the “Accounts” tab then select “Accounts”. Next click the “+Add Account” button and a 12-word mnemonic phrase will appear. Please make sure to write down your mnemonic phrase and keep it in a safe place!
After saving your mnemonic phrase, click the “Next” button then input a “name” and “password”. Users who forget their name and password or lose their saved name and password due to browser reinstallation can always use the 12-word mnemonic phrase to restore their accounts.
Note #1: Two accounts are needed to be a validator: a Controller account and a Stash account. Both accounts will be used later on.
Note #2: After creating the two accounts, please transfer 10 DPR to each account. This will be needed later on.
Binding the Stash Account with the Controller Account
Go to: apps.deeper.network and click “Developer” from the top tab then select “Extrinsics” from the drop-down. Next, set the group function as “Staking”. Set the function name as “Bond” and the “Stash” account as the operation account. The parameters are as follows:
- Id: AccountId - select the controller account
- Value - input “1,000,000.000000000000000000” (1 million DPR)
- Payee - Staked (default)
After confirming there are no errors, click the “Submit Transaction” button on the right corner and wait until the transaction is finished processing. Once finished, you’ll be able to see the new transaction in the Stash account.
The Validator Statement
On the same page as above set the function group as “staking'”, the function name as “validate (prefs)”, and the controller account to be the operation account. The parameters are as follows:
- Commission: 0 (default)
- Blocked: No (default)
After confirming there are no errors, click “Submit Transaction” and wait until the transaction finishes processing. Once finished, you’ll be able to see a new transaction generated in the controller account.
Note: It is recommended to keep this page open after the submission is successful as it will be used later on.
Deploying a Deeper Chain Program
Server pre-operation
You will first need to get the “customSpecRaw.json” file from our admin, and download the latest version of the Deeper-Chain program. The firewall opens port 30333 for p2p communication.
Booting the Script
Please edit the file content by typing “/usr/bin/restraine-chate.sh”, and allowing the file “chmod +x /usr/bin/restraine-chate.sh” to execute.
Systemd Configuration File
Please save the file to the directory “/etc/systemd/system/deeper-chain.service”
Syslog Configuration File
Please write the file to “/etc/rsyslog.d/deeper-chain.conf”.
Please restart the “syslog” service after the modification, and then run the “systemctl restart syslog” command.
The Auto-Compress Log
Please write the file to “/etc/logrotate.d/deeper-chain”.
Update the executable file of Deeper Chain
Go to: https://downloads.deeper.network/deeper-chain/release/master/deeper-chain-latest to download the latest file then update the latest executable file to Deeper Chain.
Configure the controller account session key
Get the session key by following the code below:
Configuring the Session Key
Go to https://apps.deeper.network/#/extrinsics to configure the session key. Set the function group as “session”, the function name as “setKeys”, and select the “controller account” as the operation account. The parameters are as follows:
- Keys - copy & paste the string starting with “0x”
- proof: “0xaa”
After confirming there are no errors, click “Submit Transaction” and wait until the transaction finishes processing. Once finished, you’ll be able to see a new transaction generated in the controller account.
Note: Once completed, reboot the Deeper-Chain service and wait for the block data to synchronize. Please provide the administrator with your Stash account address so you can be added as a validator.
Other Operating Instructions
How to Stop Being a Validator
In order to stop being a validator, the user will need to apply for withdrawal one month in advance in order to be removed as a validator. Once removed, the validator node will be frozen and not be able to generate any further blocks. The application will be processed on the 1st of each month. Please contact our support for the request for cancellation. (https://support.deeper.network/hc/en-us)