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

Alternating transactions of oracle committee members #492

Closed
avsetsin opened this issue Jan 16, 2023 · 5 comments · Fixed by #482
Closed

Alternating transactions of oracle committee members #492

avsetsin opened this issue Jan 16, 2023 · 5 comments · Fixed by #482
Labels
next-upgrade Things to pickup for the next protocol upgrade

Comments

@avsetsin
Copy link
Contributor

The oracle daemon contains rotation logic, which sequentially adds a delay for some participants. Alternating transactions from participants allows the dev team to see on-chain if one of the participants has stopped sending reports.

I propose to move this logic on-chain to the CommitteeQuorum.sol contract as a view method that returns an array of the quorum size of members having priority to report in the current frame. The delay itself should be implemented in the daemon. The method will simplify obtaining a list of participants who are supposed to report to a specific frame when investigating incidents and simplify scripting additional alerts that would match prioritized participants against actual participants.

@TheDZhon
Copy link
Contributor

TheDZhon commented Jan 16, 2023

My general consideration here is that this kind of view would have required additional on-chain logic without providing any kind of strong guarantee. This report's priority isn't specified/required currently, and real-world transactions are still subject to being affected by the inclusion order in mempool.

I see three takeaways to push this discussion forward to a more suitable outcome:

  • define ordering requirements or at least policies for oracle committee participants
  • put this piece of spare parts somewhere else (e.g., subgraph or IDK)
  • redefine this one not as a priority thing but as a cached stats item, at least

@TheDZhon
Copy link
Contributor

Initial discussion converged to the decision of implementing this one as a part of the upcoming protocol upgrade 👍

@TheDZhon TheDZhon linked a pull request Jan 31, 2023 that will close this issue
@ujenjt ujenjt added the next-upgrade Things to pickup for the next protocol upgrade label Jan 31, 2023
@TheDZhon
Copy link
Contributor

TheDZhon commented Mar 1, 2023

Fixed in #563

@TheDZhon TheDZhon closed this as completed Mar 1, 2023
@TheDZhon
Copy link
Contributor

TheDZhon commented Apr 6, 2023

Decided to re-open because V2 isn't deployed on mainnet yet.

@TheDZhon TheDZhon reopened this Apr 6, 2023
@TheDZhon
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next-upgrade Things to pickup for the next protocol upgrade
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants
@TheDZhon @ujenjt @avsetsin and others