Add Oracle Mining Support (Optional Grading)
Summary
Implement optional two-stage selection for oracle/data mining applications with quality grading.
Background
Following PegNet's model, some applications need to grade data quality in addition to proof-of-work, particularly for oracle price feeds.
Requirements
- Two-stage selection (PoW + grading)
- Delta^4 scoring algorithm
- Consensus value calculation
- Iterative refinement process
- Optional activation per mining account
Implementation Details
type OracleMiningData struct {
LxrMiningSignature
OracleData map[string]uint64
DataHash [32]byte
}
func GradeOracleSubmissions(submissions []*OracleMiningData) []Winner {
// 1. Filter top 50 by PoW
// 2. Calculate consensus values (median)
// 3. Grade using delta^4 scoring
// 4. Iteratively remove worst grades
// 5. Return final 10-25 winners
}
Acceptance Criteria
-
Oracle data structure support -
Two-phase validation logic -
Delta^4 scoring implementation -
Median consensus calculation -
Iterative refinement algorithm -
Optional per mining account -
Unit tests for grading algorithm -
Integration tests with oracle data
Dependencies
- Depends on: #3670 (Validation and Priority Queue)
Related
- Epic: &37
- Specification: 32-lxr-mining.md (Section 9)
- Reference: PegNet oracle mining