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

Notary request tracking is incorrect #2315

Closed
roman-khimov opened this issue Apr 21, 2023 · 3 comments · Fixed by #2459
Closed

Notary request tracking is incorrect #2315

roman-khimov opened this issue Apr 21, 2023 · 3 comments · Fixed by #2459
Assignees
Labels
bug Something isn't working neofs-ir Inner Ring node application issues neofs-storage Storage node application issues
Milestone

Comments

@roman-khimov
Copy link
Member

Expected Behavior

Notary requests should be tracked by their actions and main transaction hash.

Current Behavior

Looking at signatures to determine if it's a new notary request to handle is just plain wrong (see notary preparator code in #2310).

Possible Solution

Rework this mechanism to improve reliability.

@roman-khimov roman-khimov added bug Something isn't working neofs-ir Inner Ring node application issues neofs-storage Storage node application issues labels Apr 21, 2023
@roman-khimov roman-khimov added this to the v0.38.0 milestone Apr 21, 2023
@roman-khimov
Copy link
Member Author

Related to #678, btw.

@carpawell
Copy link
Member

@roman-khimov, @AnnaShaleva, I have done some scientific research and now I think the issue is about that thread, right?

So I would like to sync some questions:

  1. Basically that is not "request tracking is incorrect" but it is just missing at all, right? We do not track notary requests and just consider every signed request as an already handled one. What is the problem here? How can it be exploited?

Rework this mechanism to improve reliability.

  1. I think that is about sending notary requests and storing their hashes (btw, in-mem? persistently?)? If a notary request is sent by a node, it can store TX's hash and... can be able to do what? Send the same one if a fallback is on the chain? Or that is about Monitor fallback transactions in WSClient #678? What that issue is about? Just about skipping self-created notary requests?

Notary requests should be tracked by their actions and main transaction hash.

  1. What does "by their actions" mean here?

@roman-khimov
Copy link
Member Author

  1. We're signing whatever request comes in. Suppose I'm a mad IR node sending epoch updates every block, everyone will sign them happily. It's not good.
  2. Fallback tracking is a different thing. Related, but different. It's about tracking failures and trying again when there is a need to (again, think about epoch updates).
  3. Epoch update from X to Y -> tx A.

carpawell added a commit to carpawell/neofs-node that referenced this issue Jul 25, 2023
Notary requests can be sent by anybody who has GAS and knows how an Alphabet
node parses them. Add predefined allowed events on notary request parsing
level.

Closes nspcc-dev#2315.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
carpawell added a commit to carpawell/neofs-node that referenced this issue Jul 28, 2023
Notary requests can be sent by anybody who has GAS and knows how an Alphabet
node parses them. Add predefined allowed events on notary request parsing
level.

Closes nspcc-dev#2315.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
roman-khimov added a commit that referenced this issue Jul 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working neofs-ir Inner Ring node application issues neofs-storage Storage node application issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants