Skip to content

inconsistent challenge status #4026

@botnumberseven

Description

@botnumberseven

I'm running rc9 node on Neuro and I can see an example of node / random sampling storage contract / chain misbehavior which resulted in challenge resolution being submitted, but not registered properly.
Relevant part of the log - log.txt

The way I see it:

  1. Active proof block 10372200 worked just fine.
  2. Active proof block changes to 10372500.
  3. Node create challenge, submit solution and confirm the score getNodeEpochProofPeriodScore(identityId=77, epoch=7, proofPeriodStartBlock=10372500) call has been successfully executed; Result: 2963914463718716738 everything is ok.
  4. But when it checks the score next time, it get a different result - 0 Retrieved node score for blockchain: otp:2043, identityId: 77, score: 0. So while previously challenge was considered being solved, now it's not solved anymore.
  5. Node correctly detects an issue [PROOFING] Zero score detected, resetting challenge status for blockchain: otp:2043, challengeId: 1893
  6. But then it tries to create a challenge Calling createChallenge with priority: 5 instead of resubmitting solution.
  7. Step 6 got repeated till the next active proof block. Then everything gets back to normal, but the solution for 10372500 is considered not accepted.

I guess it could be because of chain reorg, and looks like node has a process to properly deal with it, but instead of resubmitted a challenge it tries to create it.

This is how random sampling table in operationaldb look like
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions