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.

Last updated