-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Parent Issue
Closes part of #47
Description
Build a time-windowed witness encryption contract where different secrets are revealed at different time periods, or the same secret becomes easier/harder to claim over time.
Use Case
Traditional time-locks are binary (before/after). TLOS enables:
- Multiple secrets with different unlock windows
- Graduated access (early bird vs late)
- Secrets that expire (can't be claimed after deadline)
- Different witnesses valid at different times
Example Flow
Time Contract Claimers
| | |
| T0: deploy(secrets[], windows[]) | |
|--------------------------------->| 3 secrets, 3 time windows |
| | |
| T1 (window 1): | |
| |<-- claim(code1, puzzle) ---------|
| | → releases SECRET_1 |
| | |
| T2 (window 2): | |
| |<-- claim(code2, puzzle) ---------|
| | → releases SECRET_2 |
| | |
| T3 (window 3): | |
| |<-- claim(code3, puzzle) ---------|
| | → releases SECRET_3 |
| | |
| T4 (expired): | |
| | owner can reclaim unclaimed |
Key Features
- Multiple secrets with independent time windows
- Window types:
AFTER- claimable after timestampBEFORE- expires at timestampBETWEEN- only valid in range
- Different codes for different windows
- Optional: same code, different secrets per window
- Unclaimed secret recovery after final expiry
Security Model
- What's hidden: Secrets, which code unlocks which window
- What's public: Time windows, number of secrets
- Guarantee: 2^76 per secret/code pair
Use Cases
- Staged treasure hunts: Clues released over days/weeks
- Vesting with milestones: Different amounts at different times
- Game mechanics: Power-ups available at specific times
- Expiring offers: Discount code only valid this week
- Progressive disclosure: Research results released in phases
Variants to Consider
- Early bird bonus: Same secret, but early claimers get bonus
- Decaying reward: Reward decreases over time
- Rotating codes: Same secret, but valid code changes each period
- Cascade: Secret N only claimable after N-1 claimed
Acceptance Criteria
- Contract compiles and passes tests
- All window types (AFTER, BEFORE, BETWEEN) tested
- Edge cases: claim at boundary, expired claims
- Multiple independent secrets tested
- Gas benchmark documented
Metadata
Metadata
Assignees
Labels
No labels