Links

An example for Node Operators

  • Node Operator A and B are added to the NodeOperatorRegistry contract by Tranchess
    • Node Operator A calls this contract to adds 100 validator pub keys
    • Node Operator B calls this contract to adds 20 validator pub keys
  • Alice creates 200 qETH by depositing 200 ETH into the Fund contract
  • Bob creates 300 qETH by depositing 300 ETH into the Fund contract
  • The EthStakingStrategy contract fetches 480 ETH from the Fund contract and deposits to the ETH2 Deposit Contract.
    • The contract’s operator selection algorithm decides to use 5 pub keys from Node Operator A and 10 pub keys from Node Operator B.
  • Some days later, the validators are active and have gained some rewards.
    • Node Operator A’s 5 validators gain 0.2 ETH on the consensus layer.
    • Node Operator B’s 10 validators gain 0.3 ETH on the consensus layer.
  • A reporter reports all Node Operators’ total balance on the consensus layer to the EthStakingStrategy contract: A=160.2 ETH, B=320.3 ETH
  • 90% of the total rewards are added to the Fund and therefore increases the value of qETH
    • qETH’s total supply is still 500 and corresponds to 500 + 90% * (0.2 + 0.3) = 500.45 ETH
    • Each qETH worths 1.0009 ETH now.
  • The rest of the total rewards are used to create new qETH tokens and distributed to Node Operators, veCHESS holders and Tranchess treasury.
    • Creation follows the current value of qETH. Each created qETH consumes 1.0009 ETH.
    • Each Node Operator gets a to-be-decided fraction x% of rewards from its validators.
      • Node Operator A gets (0.2 * x% / 1.0009) qETH
      • Node Operator B gets (0.3 * x% / 1.0009) qETH
    • The rest of created qETH tokens are transferred to the FeeDistributor contract, which then distributes them to veCHESS holders and Tranchess treasury.