Skip to content

feat: RIP-309 Phase 1 - Rotating Measurement Freshness#3209

Closed
slendereater-sketch wants to merge 1 commit intoScottcjn:mainfrom
slendereater-sketch:rip-309-phase-1-fix
Closed

feat: RIP-309 Phase 1 - Rotating Measurement Freshness#3209
slendereater-sketch wants to merge 1 commit intoScottcjn:mainfrom
slendereater-sketch:rip-309-phase-1-fix

Conversation

@slendereater-sketch
Copy link
Copy Markdown

Implementing the 4-of-6 rotating hardware attestation logic as specified in RIP-309. This module ensures deterministic but unpredictable rotation of fingerprint checks using the previous block hash as a seed. It also implements weighted pass-rate reward calculation to avoid strict gating. Closes bounty #3008.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

Welcome to RustChain! Thanks for your first pull request.

Before we review, please make sure:

  • Your PR has a BCOS-L1 or BCOS-L2 label
  • New code files include an SPDX license header
  • You've tested your changes against the live node

Bounty tiers: Micro (1-10 RTC) | Standard (20-50) | Major (75-100) | Critical (100-150)

A maintainer will review your PR soon. Thanks for contributing!

@github-actions github-actions Bot added BCOS-L1 Beacon Certified Open Source tier BCOS-L1 (required for non-doc PRs) node Node server related size/L PR: 201-500 lines labels May 3, 2026
Copy link
Copy Markdown
Contributor

@jaxint jaxint left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review: RIP-309 Phase 1 - Rotating Measurement Freshness

Summary

This PR significantly simplifies the RIP-309 implementation by reducing a 352-line module to 44 lines.

Key Changes

  1. Massive code reduction: 352 → 44 lines (87% reduction)
  2. Fingerprint check names changed:
    • Removed: cache_timing, simd_identity, thermal_drift, instruction_jitter, anti_emulation
    • Added: instruction_latency, memory_throughput, cpu_identity, pci_fingerprint, disk_io_pattern
  3. Removed features: EMA scoring, spike detection, bimodal observation windows, SQLite persistence, logging, self-test

⚠️ Concerns

  1. Breaking change: Fingerprint check names changed completely - will break existing miners
  2. Feature regression: Core anti-Goodhart features removed
  3. No documentation: Design principles removed
  4. Missing validation: No edge case handling

Questions

  1. Are new check names implemented in fingerprint_checks.py?
  2. Is this a breaking change requiring migration guide?
  3. Phase 2 timeline?

Assessment

⚠️ Request Changes - Breaking change with feature regression. Need migration docs.


Reviewed by: jaxint
Wallet: AhqbFaPBPLMMiaLDzA9WhQcyvv4hMxiteLhPk3NhG1iG

@Scottcjn
Copy link
Copy Markdown
Owner

Scottcjn commented May 3, 2026

Closing — wrong bounty reference.

You cite Closes bounty #3008 but issue #3008 is "Enhancement: WebSocket Heartbeat Foundation" (closed 2026-05-02), not the RIP-309 bounty.

The actual RIP-309 work has been ongoing in the codebase for weeks. RIP-309 Phase 1 (4-of-6 rotating measurement freshness) was already implemented and paid earlier in April. Your PR's net -345 line deletion suggests you're rewriting an existing implementation — that's risky without prior coordination.

If you want to contribute substantively:

  1. Read the actual RIP-309 implementation in node/rip_309_measurement_rotation.py and node/rip_200_round_robin_1cpu1vote.py
  2. Open an issue describing what specific gap you'd address (don't claim already-completed bounties)
  3. Submit a small focused PR that extends or improves the existing code

Closing without payment.

— Scott

@Scottcjn Scottcjn closed this May 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BCOS-L1 Beacon Certified Open Source tier BCOS-L1 (required for non-doc PRs) node Node server related size/L PR: 201-500 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants