A node is a host connected to the blockchain network. Node functions are:
Generating node is a node that generates blocks. Each generating node is a validating node. Generating account is an account that a node uses for signing generated blocks. A node can generate blocks if the following conditions are met:
A validating node is a node that validates transactions.
A node's income from adding a new block to the blockchain consists of the following amounts:
1. Block reward: The current reward size is 6 DecentralCoins but it can be changed by voting, see the block reward article.
2. 40% of the total transaction fees in the current block. The exact value is calculated as follows:
3. 60% of the total transaction fees in the previous block.
If the transaction fees are specified in a sponsored asset, then the block generators receive the fee equivalent in DecentralCoins instead of the fee (as a general rule, in a frac{40}{60} ratio):
feeInDecentralCoins = feeInSponsoredAsset × 0.001 / minSponsoredAssetFee
minSponsoredAssetFee is the amount of the sponsored asset equivalent to 0.001 DecentralCoins. The sponsor sets this value when enabling sponsorship. For details, see the sponsored fees article.
Block reward is a blockchain feature under which generating nodes receive a fixed fee in DecentralCoins for each generated block. Block rewards are paid due to the additional issue of the DecentralCoin token. The community of generating nodes can change the size of reward through voting.
You can view the current reward size by making a request to the Node REST API. In response to the request, a JSON file is returned, the value of the currentReward field of which is the current block reward size in Decentralites.
Example of response:
{
"height": 1742254,
"totalDecentralCoinsAmount": 10001353000000000,
"currentReward": 600000000,
"minIncrement": 50000000,
"term": 100000,
"nextCheck": 1839999,
"votingIntervalStart": 1830000,
"votingInterval": 10000,
"votingThreshold": 5001,
"votes": {
"increase": 0,
"decrease": 0
}
}In the example above, the value of the JSON's currentReward field is 600,000,000 Decentralites— i.e. it's 6 DecentralCoins.
Every 100,000 blocks, i.e. approximately every 70 days, a new voting for the current reward size change begins among the generators. The voting duration is 10,000 blocks. During this time, generating nodes vote to increase, decrease or leave the current reward size unchanged. The elected reward size remains unchanged for 100,000 blocks following the end of voting.
A generating node specifies the new desired reward size via settings in the node configuration file, the setting value is specified in Decentralites. If the value is greater than the current reward size, then the generator votes for the current reward size increase; if the value is smaller — for the decrease. If the setting value is not specified in the configuration file, then the generator votes for keeping the current reward size. When a node generates a block, it writes into that block the value of the desired reward size specified in the setting from its own node configuration file. If the setting value is not specified in the configuration file, then -1 is written to the block. During the voting time in 10,000 blocks, a single node can generate several blocks, therefore one node can vote several times. How often a node generates blocks is determined by the LPoS consensus.
To count the votes, all 10,000 blocks generated during the voting period are inspected. If either -1 or the value that is equal to the current reward size is recorded to the block, then the generator votes for keeping the current reward size. If the value recorded to the block is greater than the current reward size, then the generator votes for the current reward size increase; if the value is smaller — for the decrease. The block reward is increased/decreased only if more than half of the 10,000 votes — i.e. 5,001 votes or more — were given for increase/decrease. The amount of the current reward is increased/decreased by 0.5 DecentralCoins.
Example 1
At the blockchain height of 2,000,000, the block reward equals 5 DecentralCoins. At the height of 2,090,000, another voting starts. During the 10,000 blocks of voting 6,000 votes were given for reward increase, 1,000 — for decrease, 3,000 — for keeping the current reward size. From the height of 2, 100,000 to the height of 2,199,999, the new reward size will be 5.5 DecentralCoins, because the reward change step is 0.5 DecentralCoins. The next voting will take place from the height of 2,190,000 to 2,199,999.
Example 2
At the blockchain height of 2,100,000, the block reward equals 5.5 DecentralCoins. At the height of 2,190,000, another voting starts. During the 10,000 blocks of voting 4,500 votes were given for reward increase, 4,000 — for decrease, 1,500 — for keeping the current reward size. From the height of 2,200,000 to the height of 2,299,999, the "new" reward size will be the same — 5.5 DecentralCoins. Although the highest number of votes were given for the reward increase, it was not enough to change the current reward size. In order for the current reward size to be increased, at least 5,001 votes must be given for the increase. The next voting will take place from the height of 2,290,000 to 2,299,999.
Leased Proof of Stake (LPoS) is an enhanced type of proof of stake consensus algorithm by which the DecentralChain blockchain network aims to achieve the distributed consensus to secure the network.
Nodes can use the leased tokens to generate blocks and get the mining reward. For that purpose, the generating balance of a node must be at least 10000 DecentralCoins.
LPoS allows the token holders to lease their tokens to the DecentralChain nodes and earn a percentage of the payout as a reward. By using LPoS, lessors will be able to participate in the process of generating new blocks because the larger the amount that is leased to a DecentralChain node, the higher the chances for that node to be selected to generate the next block. If that node is selected, then the leaser will receive a reward. When the user starts leasing the tokens, those leased tokens are locked and remain in the same address with the full control of their owner (they are not transferred to the node, they just remain unspendable until the lease is canceled by the lessor). The only thing to consider when leasing is to choose the right node operator, as the operator's node may work with different efficiency and send back different percentages as rewards.
To start leasing, the token holder needs to create a lease transaction and specify the recipient address (node address) along with the amount of DecentralCoins to lease. There are two types of transactions which are used in the LPoS:
You can use Decentral.Exchange online to create a lease.
Elsewhere on this site