Skip to content

[PR #2310] CRT Light Attestation 鈥?140 RTC#1

Closed
kuanglaodi2-sudo wants to merge 11 commits into
mainfrom
feature/crt-light-attestation
Closed

[PR #2310] CRT Light Attestation 鈥?140 RTC#1
kuanglaodi2-sudo wants to merge 11 commits into
mainfrom
feature/crt-light-attestation

Conversation

@kuanglaodi2-sudo
Copy link
Copy Markdown
Owner

CRT Light Attestation 鈥?Bounty Scottcjn#2310

Award: 140 RTC (+30 RTC Bonus)

Overview

This PR implements a complete CRT Light Attestation system that generates an unforgeable optical fingerprint from a CRT monitor. The attestation proves the physical presence of an authentic CRT display through analysis of:

  • Phosphor decay characteristics 鈥?Unique exponential decay curves per phosphor type (P22, P43, etc.)
  • Refresh rate drift 鈥?CRTs drift with age; each drifts uniquely
  • Scanline timing jitter 鈥?Flyback transformer wear creates measurable timing variations
  • Brightness nonlinearity 鈥?Aging electron guns show increased gamma

Why Unforgeable

  • LCD/OLED monitors have zero phosphor decay 鈥?Instantly detected
  • Each CRT ages uniquely 鈥?Electron gun wear, phosphor burn, flyback drift
  • Virtual machines have no CRT 鈥?No phosphor, no refresh, no fingerprint
  • A 20-year-old Trinitron sounds and looks different from a 20-year-old shadow mask

Implementation

Directory: ools/crt_attestation/

Files:

  • crt_patterns.py 鈥?Deterministic visual pattern generators (checkered, gradient sweep, timing bars, phosphor burst)
  • crt_capture.py 鈥?Webcam capture via OpenCV or photodiode capture via GPIO
  • crt_analyzer.py 鈥?Signal analysis (FFT, phosphor decay curves, scanline jitter, brightness nonlinearity)
  • crt_fingerprint.py 鈥?SHA-256 optical fingerprint hash generation
  • crt_attestation.py 鈥?Main attestation workflow + CRT Gallery (bonus feature)
  • README.md 鈥?Complete documentation

Usage

`python
from crt_attestation import create_attestation

result = create_attestation(
capture_method="webcam", # or "photodiode" or "simulated"
stated_refresh_rate=60.0,
)

print(f"CRT Fingerprint: {result.crt_fingerprint}")
print(f"Is Authentic CRT: {result.is_crt}")
print(f"Confidence: {result.confidence:.1%}")
`

Bonus Feature 鈥?CRT Gallery

Compare phosphor decay curves from different monitors:

`python
from crt_attestation import CRTGallery

gallery = CRTGallery()
gallery.add_sample("Sony_Trinitron", analysis_result)
gallery.add_sample("LG_Studio", analysis_result)
comparison = gallery.compare("Sony_Trinitron", "LG_Studio")
`

Technical Details

  • Capture Methods: USB webcam (OpenCV) or photodiode + ADC (Raspberry Pi GPIO)
  • Analysis: FFT frequency detection, exponential curve fitting, statistical jitter analysis
  • Fingerprint: SHA-256 of quantized CRT characteristics (refresh rate, phosphor decay, timing jitter, gamma)
  • Output: JSON with crt_fingerprint field for attestation submission

Wallet Address

C4c7r9WPsnEe6CUfegMU9M7ReHD1pWg8qeSfTBoRcLbg


Built for Rustchain Bounty Scottcjn#2310 鈥?CRT Light Attestation

@github-actions
Copy link
Copy Markdown

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 documentation Improvements or additions to documentation BCOS-L1 size/XL labels Mar 21, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 21, 2026

⚠️ BCOS v2 Scan Results

Metric Value
Trust Score 58/100
Certificate ID BCOS-ab5c7bb0
Tier L1 (not met)

BCOS Badge

What does this mean?

The BCOS (Beacon Certified Open Source) engine scans for:

  • SPDX license header compliance
  • Known CVE vulnerabilities (OSV database)
  • Static analysis findings (Semgrep)
  • SBOM completeness
  • Dependency freshness
  • Test infrastructure evidence
  • Review attestation tier

Full report | What is BCOS?


BCOS v2 Engine - Free & Open Source (MIT) - Elyan Labs

@github-actions
Copy link
Copy Markdown

This PR has been inactive for 14 days. It will be closed in 7 days unless updated.
Need help finishing? Ask in the PR comments — we're happy to assist!

@github-actions github-actions Bot added the stale label Apr 13, 2026
@github-actions
Copy link
Copy Markdown

Closed due to inactivity. Feel free to reopen with updates.

@github-actions github-actions Bot closed this Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BCOS-L1 documentation Improvements or additions to documentation size/XL stale

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant