Skip to content
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

dex: implement an execution circuit-breaker #3303

Closed
Tracked by #1724
erwanor opened this issue Nov 9, 2023 · 1 comment · Fixed by #3669
Closed
Tracked by #1724

dex: implement an execution circuit-breaker #3303

erwanor opened this issue Nov 9, 2023 · 1 comment · Fixed by #3669
Assignees
Labels
_P-V1 Priority: slated for V1 release

Comments

@erwanor
Copy link
Member

erwanor commented Nov 9, 2023

Is your feature request related to a problem? Please describe.
In the DEX design, we put a good amount of effort into ensuring we always make forward progress. But forward progress could be very slow. We don’t think that it will have pathological behavior – but it’s possible we could have missed something that then turns into a DoS vector. Similarly to the #2986, it could be useful to have some kind of “execution breaker” that will bail out with incomplete fill after some execution limit. This means that if the DEX engine does have a DoS vector, it does not affect users of the shielded pool.

Describe the solution you'd like
We need to implement a DEX-engine specific metering system that tracks the number of operations performed during routing execution e.g. filling against a position, or assembling a FrontierTx and concludes execution if a threshold is exceeded. The threshold could be a DEX chain parameter.

@erwanor erwanor added this to Testnets and Penumbra Nov 9, 2023
@github-project-automation github-project-automation bot moved this to 🗄️ Backlog in Penumbra Nov 9, 2023
@erwanor erwanor moved this from 🗄️ Backlog to 📝 Todo in Penumbra Nov 9, 2023
@erwanor erwanor moved this to Next in Testnets Nov 9, 2023
@aubrika aubrika moved this from 📝 Todo to 🗄️ Backlog in Penumbra Nov 16, 2023
@zbuc zbuc added the _P-V1 Priority: slated for V1 release label Jan 19, 2024
@aubrika aubrika moved this from 🗄️ Backlog to Todo in Penumbra Jan 19, 2024
@erwanor
Copy link
Member Author

erwanor commented Jan 19, 2024

Here we should have two levels of tracking:

  • one that limits the number of positions
  • one that controls the amount of work that can be expanded on path search

@erwanor erwanor moved this from Todo to In progress in Penumbra Jan 24, 2024
@github-project-automation github-project-automation bot moved this from In progress to Done in Penumbra Jan 26, 2024
@erwanor erwanor moved this from Next to Testnet 65: Deimos in Testnets Jan 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
_P-V1 Priority: slated for V1 release
Projects
Archived in project
Status: Testnet 65: Deimos
Development

Successfully merging a pull request may close this issue.

2 participants