The FjordAuction::bid
allows users to place bids using FjordPoints
tokens, with bids immediately recorded and visible on the blockchain. Adversaries can monitor the transaction pool (mempool) and influence the auction's outcome by strategically placing and withdrawing bids, affecting perceived value and demand.
Let's consider this scenario.
_totalTokens
= 1000
_biddingTime = 300 sec (= 5 days)
Carol: initially bids 100 FjordPoints
on day 1
Alice: bids 200 FjordPoints
on day 1
Bob: bids 200 FjordPoints
on day 3
Carol: bids more 500 FjordPoints
on day 4 after seeing the bids from Alice and Bob, to increment her shares. Now she has 600 FjordPoints
on bids.
We suppose no other bids will be placed before the end of the auction.
Case 1: Carol places only the first bid.
multiplier
= 1000 / (200+200+100) = 2
Carol: claims 100 * 2 = 200 (=20%)
Alice: claims 200 * 2= 400 (=40%)
Bob: claims 200 * 2= 400 (=40%)
Case 2: Carol monitors the mempool and places also the second bid.
multiplier
= 1000 / (200+200+600) = 1
Carol: claims 600 * 1 = 600 (=60%)
Alice: claims 200 * 1 = 200 (=20%)
Bob: claims 200 * 1 = 200 (=20%)
Carol front-run the system, monitoring the mempool, she exploits the transparency of bids to make a strategic decision, adding new a bid based on the visible bids of Alice and Bob.
Manual review
Implementing a commit-reveal scheme would mitigate these issues by ensuring bids remain confidential until the auction concludes.
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.