A user can game the staking system and receive a large reward for staking a large sum only for 1 second, which will inflate honest stakers reward.
In FjordStaking
user can call stake
function providing only 1 wei of FJOR tokens. The following will set dr.epoch to the currentEpoch
, which is used later in unstake
function to determine if user has waited entire lockCycle
(currently set to 6 epochs, or 6 weeks):
This is the design, which locks user's funds, so he can honestly accrue rewards and points on each epoch
(week). The problem is that an exploiter can game the design and wait for the cycle to pass after he has staked only 1 wei and "stake" a large amount of FJORD tokens a few seconds, before last epoch update for his cycle. After those seconds, when the epoch is updated, he will be to unstake his funds, together with accured reward and points for whole epoch (week).
Infation of rewards for honest stakers
Break core staking functionality
Manual Review
For each new stake of a user, track a different lockCycle
, so he cannot game current design
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.