You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Request for Comments (RFC) outlining the proposed economic mechanisms for staking requirements, fee structures, and slashing penalties. All feedback and suggestions are welcome.
Stake and Claiming Mechanism
Provers stake $BON to participate proving in the network. The amount of $BON they stake proportionally determines which executuion requests they have access to, as determined by the base fee of the execution request. We call this proportional access the "stake threshold". For example, with a stake threshold of 10x, a prover who stakes 100 $BON tokens can only complete workloads that cost 10 $BON or less.
Since in phase 1, since base fees will be paid in $USDC or $SOL, the stake threshold will be determined by the price of $BON in $USDC or $SOL. For example, with a stake threshold of 10x, a prover who stakes 100 $USDC or $SOL worth of $BON tokens can only complete workloads that cost 10 $USDC or 10 $SOL or less.
Here are some illustrative examples with a stake threshold of 10x:
Base Fee
Stake
Ratio (Stake/Base Fee)
Claimable?
$1
$10
10x
Yes
$1
$100
100x
Yes
$100
$10
0.1x
No
$100
$100
1x
No
$10
$101
10.01x
Yes
Open questions:
How do we determine the stake threshold?
How do we determine the base fee?
Cap on staking? avoid centralization of revenue to 1 prover
Base Fees
Base fee is the minimum payment to a prover for completing a workload. In phase 1 base fees will be paid in $USDC or $SOL and in phase 2 base fees will be paid in $BON.
Base fees are determined by the cost of the workload. The base fee $F_b$ can be calculated by:
$$F_b = f(ZKP_s, C_{zkp})$$
where $ZKP_s$ is the size of the program to be proven and $C_{zkp}$ is the cost of computing 100,000 cycles of any a program. To start, this function will be a simple linear function:
Note: Cost of computing cycles should be benchmarked on the minimum spec hardware of the prover network
Dynamic Base Fees
In the future, we may need to change the way the base fee is calculated. For example, under higher demand, we may want to increase the base fee to attract more demand. In such a case, we can formulate a new equation for the base fee as a polynomial function:
Moving Average Formula
For each coefficient $a_i$: $$a_i^{new} = a_i^{current} \times (1 + \alpha \times (U - U_{target}))$$
where:
$\alpha$ is a dampening factor (e.g., 0.1)
$U_{target}$ is desired network load (e.g., 70%)
Slashing
When a prover is selected to complete a workload, they are required to complete the workload within a certain amount of time. If they do not complete the workload within the required time, they lose a portion of their stake (i.e. they are slashed).
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Request for Comments (RFC) outlining the proposed economic mechanisms for staking requirements, fee structures, and slashing penalties. All feedback and suggestions are welcome.
Stake and Claiming Mechanism
Provers stake $BON to participate proving in the network. The amount of $BON they stake proportionally determines which executuion requests they have access to, as determined by the base fee of the execution request. We call this proportional access the "stake threshold". For example, with a stake threshold of 10x, a prover who stakes 100 $BON tokens can only complete workloads that cost 10 $BON or less.
Since in phase 1, since base fees will be paid in $USDC or $SOL, the stake threshold will be determined by the price of $BON in $USDC or $SOL. For example, with a stake threshold of 10x, a prover who stakes 100 $USDC or $SOL worth of $BON tokens can only complete workloads that cost 10 $USDC or 10 $SOL or less.
Here are some illustrative examples with a stake threshold of 10x:
Open questions:
Base Fees
Base fee is the minimum payment to a prover for completing a workload. In phase 1 base fees will be paid in $USDC or $SOL and in phase 2 base fees will be paid in $BON.
Base fees are determined by the cost of the workload. The base fee$F_b$ can be calculated by:
where$ZKP_s$ is the size of the program to be proven and $C_{zkp}$ is the cost of computing 100,000 cycles of any a program. To start, this function will be a simple linear function:
For example, if we have a program with:
Then:
$$f(500000, 0.1) = \frac{500000}{100000} \times 0.1 = 50 \times 0.1 = 0.5$$
Note: Cost of computing cycles should be benchmarked on the minimum spec hardware of the prover network
Dynamic Base Fees
In the future, we may need to change the way the base fee is calculated. For example, under higher demand, we may want to increase the base fee to attract more demand. In such a case, we can formulate a new equation for the base fee as a polynomial function:
Example Scenarios:
Sample calculation for ZKP_s = 500000, C_{zkp} = 0.1:
Dynamic Base Fees: Coefficient Adjustment
The coefficients$(a_1, a_2, a_3)$ could be automatically adjusted based on network metrics:
Network Utilization Rate$(U)$
Queue Length$(Q)$
Moving Average Formula$a_i$ :
$$a_i^{new} = a_i^{current} \times (1 + \alpha \times (U - U_{target}))$$
For each coefficient
where:
Slashing
When a prover is selected to complete a workload, they are required to complete the workload within a certain amount of time. If they do not complete the workload within the required time, they lose a portion of their stake (i.e. they are slashed).
Beta Was this translation helpful? Give feedback.
All reactions