Comments (2)
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 withdrawals could be removed, but i need to reconsider
from stake-curate.
Flash Withdrawal was removed. It cleared bytecode, and there's a design reason for it's removal.
With Flash Withdrawal, snipers could guarantee a maximum loss of burnRate
if they manage to frontrun the challenge reveal.
Without it, and in the current design, snipers need to fight:
- Regular frontrunning war. All the following info and expenses are futile if sniper cannot get their challenge reveal to process first when it matters.
- Prepare challenge commits. Commits can be revealed within a period, so, if there's no revealed challenge to snipe within this period, the commit can solve in three different ways:
- If they get revoked (like, timed out) they endure a
burnRate
. - If they get revealed and are successful, regular
burnRate
applies. - If they get revealed and fail, all repeatable conditions for making challenge reveals fail, will trigger a
smallBurnRate
. - If they get revealed and fail due to a non-repeatable condition, a full refund is issued, but those should only happen accidentally.
- If they get revoked (like, timed out) they endure a
- Many commits would be needed to guarantee being able to frontrun a reveal, which will turn this strategy unfeasible long term. This means there are also continuous gas expenses to prepare commits, replicate conditions to make the reveals fail before they timeout.
- Finally, MEV bribing expenses may need to be taken into account, in order to get the frontrun to succeed when it needs to.
from stake-curate.
Related Issues (20)
- timestamps are unsafe for a few things HOT 1
- Refactor Account events HOT 1
- List extra flags ideas HOT 1
- Send file uri as bytes32 instead of string? HOT 1
- Notify if the MetaEvidence options have been tampered with HOT 1
- General Policy Review HOT 6
- Make items compatible with EIP-721 HOT 1
- Set arbitratorAndDisputeIdToDisputeSlot to zero after rule
- Slot view simplifications HOT 1
- Make stakes compatible with EIP-20 HOT 1
- Document and deal with Badges at subgraph level HOT 1
- Add fullText queries to Subgraph
- Figure out how to deal with Property Types HOT 1
- Figuring out Item age on-chain HOT 1
- Turning on Commit Reveal HOT 2
- Add "prefill" query parameter
- Use UpgradableProxy? Some thoughts on settings, overengineering and its consequences HOT 1
- Remove forListVersion from item updates?
- Update liveSince when item is Disputed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stake-curate.