Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.



  •  Medha Parlikar (Unlicensed): region is full - will we have maximums on validator counts?  - No, we will let economics handle that piece.  Validators will go where the money is.


Unbonding is triggered when the PoS contract is invoked (again in the normal way) with the signature of an existing validator along with a return channel. On the return channel, an unforgeable name is sent, which the now ex-validator can listen on. After the post-unbonding stake holding time has elapsed, a purse containing the ex-validaor's stake is sent on that name, thus allowing the validator to recover their bond. The unbonding is successful so long as it does not exceed the unbonding rate specified for the region.

  • The the post-unbonding wait time can be set by the region, but the protocol should define a minimum, to prevent a shard from reducing security by allowing validators to unbond too quickly. 
  • The maximum unbonding rate (N validators per 100 blocks) can be set within the region. 
  • The validator remains on the list of validators until the post-unbonding period has elapsed.
  • When an unbonding request comes into the contract, rewards are paid out to the bonded validators.  The validator that is unbonding has their rewards added to their bond purse only.  This is to prevent cheating in the event transaction fees exceed the bond amount forfeited.
  •  Medha Parlikar (Unlicensed): If validator limits for a given shard do not exist, then the queue becomes a moot point.  The decision on validator limits has not been made yet.

Unbonding Wait Period

During this time the validator is not active.  The validator cannot propose blocks, nor receive rewards.  The stake is held by the PoS contract, and the validator can be slashed by other validators.  The other validators are not aware that the validator has requested to unbond.  The unbonding request is held by the PoS contract in the shard.   Note that no rewards are distributed at this time, only the exact original stake (minus any slashed amount) is returned. Unpaid rewards can be withdrawn from the shard's local PoS contract after unbonding has occurred (see below). 

The purpose of this wait time is to prevent a variant of the "long range attack" (reference Details of Proof-of-Stake in RChain )


Rewards Distribution

Rewards distribution is handled by a local PoS contract. Fees will accrue within the PoS contract or a purse controlled by the PoS contract.  At a random interval, the PoS contract will divide the fees by the number of validators in the shard and distributes the fees to the validator set. 

Rewards will accrue until the validator withdraws their rewards.