With Livepeer’s upcoming Snowmelt Alpha, it’ll be great for everyone to see a weekly update on the economics within the protocol. This first report will share the parameters at genesis, and discuss some of the things that we should all be trying to observe and test during the early days of the network. Future updates will discuss proposed changes to the params and provide room for discussion and analysis.
Initial parameters at genesis.
Note: Full descriptions of each parameter can be found in the protocol SPEC. Params that are given in percents are expressed in parts/per/million so, for example, a value of 200,000 equals 20%.
Parameter | Description | Initial Value | Comment |
---|---|---|---|
roundLength |
Number of blocks in a round. | 5760 | One day |
roundLockAmount |
Percentage of blocks in a round that are a part of the lock period during which transcoders cannot change their rates upwards, or enter/leave the transcoder pool. | 100000 | 10%, or last 2.4 hours in round |
unbondingPeriod |
Number of rounds that a delegator must wait after calling unbond before it can withdraw its unbonded LPT. |
7 | 7 days |
numTranscoders |
Maximum number of registered transcoders. | 20 | |
numActiveTranscoders |
Maximum number of active transcoders during a round. | 10 | Half the visible pool is active |
verificationRate |
Percentage of segments in a transcode claim that will be challenged for verification. | 1000 | 1 out 1000 segments challenged |
verificationPeriod |
Number of blocks after submitting a transcode claim during which a transcoder can submit transcode proofs for challenged segments. | 100 | blocks |
slashingPeriod |
Number of blocks after verificationPeriod during which a watcher can submit a slash proof to penalize a transcoder for a fault. |
100 | blocks |
failedVerificationSlashAmount |
Percentage of a transcoder’s bonded stake that is slashed for a failed verification fault. | 1 | 0.000001 * stake will be slashed |
missedVerificationSlashAmount |
Percentage of a transcoder’s bonded stake that is slashed for a missed verification fault. | 5000 | .005 * stake will be slashed |
doubleClaimSegmentSlashAmount |
Percentage of a transcoder’s bonded stake that is slashed for a double claim segment fault. | 30000 | .03 (3%) will be slashed |
finderFee |
Percentage of the slashed amount that is awarded to a watcher for submitting a valid slash proof. | 50000 | 5% |
inflation |
Percentage of total LPT supply that is issued as new LPT during a round. | 137 | .000137 inflation per round |
inflationChange |
Percentage change in inflation that occurs when the current bonding rate does not equal targetBondingRate . |
3 | .000003 added to inflation if participate rate is not exceeded. Subtracted if exceeded. |
targetBondingRate |
Percentage of total LPT supply that should be bonded to provid economic security for the system. | 500000 | 50% target participation rate |
Observations
-
Rounds last a day. Each day, then 10 transcoders with the greatest stake will be active for that round.
-
Inflation starts off at 0.000137/round (~5%/year), but increases .000003/round if less than 50% of the total outstanding LPT is staked. If greater than 50% is staked, it will decrease by that same amount each round.
-
Slashing rate for failing verification of work is very very low (1 out of 1,000,000) during the early days of the alpha, since verification is not yet fully trustless. The larger penalty rather than getting slashed, is getting kicked out of the active set and losing work. Slashing rates are still moderate however for doing something explicitly incorrect like claiming work for the same segment twice.
-
Unbonding period starts at 7 days, so if someone who has staked would like to withdraw their token, it kicks off a one week waiting period.
Anticipated near to medium term changes
-
It would be great to dramatically increase the # of transcoders active. The bottleneck is in the cost of doing all the state accounting on the Ethereum network and Ethereum’s gas limit. There is still room to increase this to ~50-100, though with additional cost. But in the very early days of the alpha, let’s observe quality of service, competition, and incentives before adding significant additional cost to the network. In the meantime, each transcoder has the option of coordinating many nodes doing work behind the scenes, in a pool concept, so the network can scale out to meet demand without protocol changes, with the addition of some trust.
-
Unbonding period should significantly increase as the network stabilizes. Nodes who are committing to do valuable work for the network long term should be aligned for weeks or months.
-
Slashing rates will change as the backing technology becomes more decentralized and trustless.
Please add any questions about the network economics here. If you’re interested in participating in the network as a transcoder or a delegator, check out the transcoder megathread and post a transcoder campaign in the transcoders category or read about delegation on the wiki and discuss here in the forum.