-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flaws with Withdrawal and possible solutions #41
Comments
right now flash withdrawals are allowed on the contract level, in order to avoid people from engaging with these shenanigans. It just requires accepting the big burn (dispute burn) |
Flash Withdrawal was removed. It cleared bytecode, and there's a design reason for it's removal.
|
(this issue assumes a few other features and fixes have already been added)
The Withdrawal mechanic works, simplistically, in the following way:
startWithdrawAccount
withdrawalPeriod
withdrawAccount
, closing the period and allowing her to have Included items as well. She can withdraw as long as the amount doesn't exceed herfreeStake
The issue is that, the way incentives are currently set, and assuming Alice could possibly frontrun anyone, there is no reason whatsoever to follow this path. She could withdraw her entire
freeStake
"instantly" (assuming account abstraction existed), or in a very short time frame.The core way to do it is, she submits an Item to a List she controls. This is a proof of concept:
requiredStake
= herfreeStake
, that uses an Arbitrator she controlsStake Curate main purpose is, wrong Items shouldn't be in the Lists. This instant withdrawal doesn't necessarily defeat the purpose, but it introduces a frontrun rabbit hole that is not friendly to participants.
Frontrunners can also be frontrun, and it would get challengers and item owners into this arm race.
Solution A: Accept this
Remove the withdrawal period feature. Now you can withdraw any stake instantly.
Solution B: Burn stakes on challenge
Note: Whenever I use burn, it could also refer to sending the portion to a Stake Curate treasury.
Reduce the reward that a challenger gets on a successful challenge, burn a given %.
Reduce the reward that an item owner gets on a failed challenge, burn a given %.
challengerStake
must take place per list. Otherwise, challenging and failing the challenge (to lock thefreeStake
temporarily and revert a challenge) comes at no cost.For both solutions, the
minAmount
mechanic to protect challenger from a frontrunner should be removed, and just revert when the Item is Uncollateralized.These issues would also take place without allowing multiple Arbitrators, you would just have to create a List with
extraData
that costs the lowest amount possible. Just, the fee would go to the Arbitrator operator instead.The text was updated successfully, but these errors were encountered: