Progressive Decentralization: Decentralizing the Beacon Chain by R-DPOS Protocol.

network code update (2)

Gm fam,

In order to make the beacon chain more decentralized, we have developed a new protocol known as R-DPOS. This protocol allows shard validators to vote for the beacon they trust, making our chain more secure and stable. Please check the topic below for more information on the protocol.
https://we.incognito.org/t/introduction-to-incognito-s-dpos-incentive-model/18930

The first phase of R-DPOS was activated last week. During this phase, users can stake their shard node to become a beacon validator. The complete life cycle can be found here:
https://we.incognito.org/t/announcement-release-phase-1-of-beacon-r-dpos/19890

In this post, we will summarize the actions that you can take in the current state.

Requirements:

  • You need to have one shard validator node that you want to promote to be a beacon validator.
  • Make sure you have 87,500 PRV in the shard validator balance.

To stake beacon, call staking beacon rpc:

curl --location --request POST 'https://mainnet.incognito.org/fullnode' \
        --header 'Content-Type: application/json' \
        --data-raw '{
           "id": 1,
           "jsonrpc": "1.0",
           "method": "createandsendstakingtransaction",
           "params": [
               "private_key",
               {
                   "burning_address": 87500000000000
               },
               -1,
               0,
               {
                   "StakingType": 64,
                   "CandidatePaymentAddress": "candidate_payment_address",
                   "PrivateSeed": "mining_key",
                   "RewardReceiverPaymentAddress": "reward_receiver_payment_address",
                   "AutoReStaking": true,
                   "Delegate": ""
               }
           ]
        }'

* private_key: private key of the account will pay for this request
* burning_address: burning address of the network
* candidate_payment_addrees: payment address of validator
* mining_key: mining key of validator
* reward_receiver_payment_address: reward receiver payment address
* AutoRestaking field type boolean

If the beacon committee pool is full, your node will be queued in the Waiting pool. You need to stake more PRV to get higher priority.
To add stake:

curl --location --request POST 'https://mainnet.incognito.org/fullnode' \
        --header 'Content-Type: application/json' \
        --data-raw '{
           "id": 1,
           "jsonrpc": "1.0",
           "method": "createandsendaddstakingtransaction",
           "params": [
               "private_key",
               {
                   "burning_address": 1750000000000
               },
               -1,
               0,
               {
                   "CandidatePaymentAddress": "candidate_payment_address",
                   "PrivateSeed": "mining_key",
                   "AddStakingAmount": 1750000000000
               }
           ]
        }'

* private_key: private key of the account will pay for this request
* burning_address: burning address of the network
* candidate_payment_addrees: payment address of validator
* mining_key: mining key of validator

If you no longer want to be a beacon validator, you need to send an unstake tx.

curl --location --request POST 'https://mainnet.incognito.org/fullnode' \
        --header 'Content-Type: application/json' \
        --data-raw '{
          "jsonrpc": "1.0",
          "id": 1,
          "method": "createunstaketransaction",
          "params": [
             "private_key",
             {
                "burning_address": 0
             },
             -1,
             0,
             {
                "UnStakingType": 210,
                "CandidatePaymentAddress": "candidate_payment_address",
                "PrivateSeed": "mining_key"
             }
          ]
        }'

* private_key: private key of the account will pay for this request
* burning_address: burning address of the network
* candidate_payment_addrees: payment address of validator
* mining_key: mining key of validator

That is all you can do with the first phase of beacon decentralization right now.

The second phase of R-DPOS will be launched in the next two weeks, allowing shard validators to delegate their votes to a specific beacon node.

As a result, the beacon committee will be chosen based on a combination of staking and delegation amount, which will improve the security of the Incognito network.

5 Likes