🕒 Reveal & Submission Timing
Overview
RedTeam miner uses a delayed reveal mechanism to ensure fairness and prevent real-time strategy leaks. Understanding the submission lifecycle is essential for maximizing your daily slots and ensuring your work is properly scored.
Version Requirement
The 3-hour reveal interval is a recent update. To ensure your submissions are processed correctly under this window, you must be running miner version v3.0.5 or higher.
Submission Limits
To maintain network quality and prevent "trial-and-error" testing on production systems, the following limits apply:
- 2 Commits per Day: Each miner can submit a maximum of two commits per challenge within a 24-hour window.
- One-at-a-Time Rule: You should only have one active submission per challenge at any given time.
- Overwriting: If you submit a new commit while a previous one is still in the "Received" status, the new commit will overwrite the old one. The previous commit will never be scored, and you will have consumed one of your two daily slots.
Spamming Prevention
The 2-commit limit is designed to allow you to fix critical issues discovered after your first submission is scored. It is not intended for simultaneous testing or spamming variations of a solution. Miners who attempt to bypass these limits or push multiple updates before scoring are treated as "testing in production," which can lead to status rejections or rate limiting.
The Reveal Lifecycle
The path from git push to a dashboard score typically takes up to 6 hours.
1. Decryption (Reveal) 3 Hours
Once submitted, your code remains encrypted for approximately 3 hours. During this time, it is visible on the dashboard as encrypted_commit:....
2. Scoring & Evaluation 3 Additional Hours
After decryption, the Comparison, Validation, and Scoring engines process your code. This phase can take an additional 3 hours depending on network load.
| Phase | Duration | Dashboard Status |
|---|---|---|
| Submission | Instant | Pending |
| Reveal (Decryption) | ~3 Hours | Reveal / Processing |
| Scoring | ~3 Hours | Scored / Accepted / Rejected |
| Total Time | ~6 Hours | Final Result Visible |
🛠️ Troubleshooting Decryption Errors
Key-Ciphertext Mismatch
The RedTeam subnet uses a Commit-and-Reveal scheme:
- Commit Phase: The miner sends an
encrypted_commit(ciphertext) to the validator. The decryption key remains secret on the miner's side. - Reveal Phase: After the reveal interval, the miner automatically moves the key to
public_keys, allowing the validator to decrypt the commit.
The Issue: If you update your active_commit.yaml with a new Docker hash for an existing challenge before the previous one has finished its reveal cycle, the miner generates a new ciphertext but the validator might still see an old key. This mismatch causes InvalidToken or decryption errors.
How to Avoid Corruption
- Never Change a "Pending" Commit: Do not update a challenge's Docker hash in
active_commit.yamluntil the validator has successfully decrypted the previous one.- Check Logs: Wait for:
Revealed commit: <hash>, <challenge_name>. - Check Dashboard: Ensure status shows Decrypted or Scored before pushing an update to the same challenge.
- Check Logs: Wait for:
- Versioning Your Submissions: Challenge names in
active_commit.yaml(e.g.,ab_sniffer_v5,humanize_behaviour_v5) are fixed and cannot be changed. To avoid corruption, do not overwrite the Docker hash in your configuration while a reveal is pending. Instead, version your Docker images/tags and only update the configuration after the previous submission is scored.- ❌ Avoid: Updating
active_commit.yamlwith a new hash for the same challenge before the 3-hour reveal is complete.
- ❌ Avoid: Updating
-
Clean State (Emergency Only): If you accidentally corrupted your local state, you can clear the miner's persistence file to force a full re-submission.
Reset Warning
This resets the reveal interval for all challenges. You will have to wait another 3+ hours before scoring begins.
Incentive Distribution
Rewards follow a daily synchronization window:
- Cutoff Time: 2:00 PM UTC
- Process: At this time, all validators pull the latest scored submissions.
- Eligibility: Your submission must be Scored and Accepted before 2:00 PM UTC to be included in that day's incentive calculation.
Best Practices for Miners
- Submit Your Best Version: Treat your first daily slot as your primary submission.
- Monitor the Dashboard: Always wait until your first submission shows a final status (Accepted, Rejected, or Invalid) before pushing a second one.
- Local Testing First: Use the Testing Manuals to verify your script before pushing.
- Timing Your Pushes: Ensure your final commit is pushed at least 6-8 hours before 2:00 PM UTC to hit the daily cutoff.
Dashboard Visibility
If you do not see your submission transition to "Scored" within 6-12 hours, check the Note column on the dashboard for potential processing errors or validation failures.