opentensor / subtensor

Bittensor Blockchain Layer
The Unlicense
159 stars 159 forks source link

Commit-Reveal Improvements #837

Open sam0x17 opened 1 month ago

sam0x17 commented 1 month ago

1. Alignment of Commit Interval with Tempo

User Story

As a subnet owner, I want the commit-reveal intervals to align precisely with the epoch tempo of my subnet, so that the commit and reveal phases begin and end at the expected times without any offsets.

Acceptance Criteria


2. Concealment Period Expressed in Tempos

User Story

As a subnet owner, I want to configure the concealment period using tempos instead of block numbers, allowing for dynamic tempo lengths and ensuring consistent concealment durations across different subnet configurations.

Acceptance Criteria


3. Return Extrinsic ID upon Commit

User Story

As a validator, I want the commit operation to return an extrinsic ID (block serial number and transaction index within the block) through the Python layer to the caller, so I can accurately track and reference my commits in subsequent operations.

Acceptance Criteria


4. Enhanced Error Reporting

User Story

As a validator, when I attempt to commit or reveal weights but violate protocol terms, I want to receive clear and informative error messages detailing the violation and guidance on how to resolve it, instead of generic or vague error messages.

Acceptance Criteria


5. Support Multiple Weights per Tempo

User Story

As a validator, I want the commit-reveal mechanism to support submitting multiple weight updates per tempo, so I can adjust my weights granularly within the same tempo without being limited to a single submission.

Acceptance Criteria


6. Support Multiple Unrevealed Commits

User Story

As a validator, I want the ability to have multiple unrevealed commits across tempos, enabling me to commit weights multiple times and reveal them after several tempos, while the system correctly tracks and validates each commit-reveal sequence.

Acceptance Criteria


7. Enforce Order of Reveals

User Story

As a subnet owner, I want the system to enforce the order of weight reveals based on the commit sequence, preventing validators from selectively revealing commits out of order or skipping reveals to manipulate outcomes, thus ensuring fairness and integrity.

Acceptance Criteria


8. Handle Incomplete Reveal Sequences

User Story

As a subnet owner, I want the system to exclude a validator's votes from epoch calculations if they have not revealed all commits within a given interval, preventing validators from only revealing favorable commits and promoting honest participation.

Acceptance Criteria

9. Practical Integration Guide for Subnet Owners

User Story

As a subnet owner, I want a concise and practical guide on how to integrate the commit-reveal mechanism into my subnet, including examples and necessary configurations, so I can implement it efficiently without relying solely on theoretical documentation.

Acceptance Criteria

Related Link

gztensor commented 1 month ago

Working on batch reveals