Proof of Effort

Proof of Effort is Boulder Roller's mechanism for converting physical cycling work into verifiable on-chain records.


The Core Idea

Blockchains are good at one thing: maintaining consensus about what happened. Bitcoin's proof-of-work creates consensus through computational effort. Boulder Roller creates consensus through physical effort.

When you climb a hill, you produce data that can only exist if you actually climbed that hill. GPS coordinates change in sequence. Timestamps progress. Elevation increases. This data forms a signature that proves you did the work.

We take that signature, process it into a standardized format, and commit it to Solana. The result is an immutable record: you climbed this hill at this time.


What Gets Verified

A proof of effort contains:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     PROOF OF EFFORT                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                            β”‚
β”‚  Pattern ID:        #4521                                  β”‚
β”‚  Roller Wallet:     7xKy...9mZp                            β”‚
β”‚  Timestamp:         2024-03-15T14:32:00Z                   β”‚
β”‚  Duration:          00:42:17                               β”‚
β”‚                                                            β”‚
β”‚  ─────────────────────────────────────────────────────     β”‚
β”‚                                                            β”‚
β”‚  Effort Hash:       0x8f2a...7c91                          β”‚
β”‚  Signature:         [cryptographic proof]                  β”‚
β”‚                                                            β”‚
β”‚  ─────────────────────────────────────────────────────     β”‚
β”‚                                                            β”‚
β”‚  Verified:          βœ“                                      β”‚
β”‚  Block:             #187,234,891                           β”‚
β”‚  Transaction:       5yPq...3kLm                            β”‚
β”‚                                                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The Verification Process

1. Data Extraction

From your uploaded ride, we extract:

  • GPS track (latitude, longitude, timestamp tuples)

  • Elevation profile

  • Optional: power data, heart rate

2. Pattern Matching

Your track is compared against the pattern's geographic definition:

  • Did you traverse the pattern's bounding box?

  • Did you gain the required elevation?

  • Did you complete the pattern in a continuous effort?

3. Signature Generation

If matched, we generate an effort hash:

  • Deterministic hash of your track data within the pattern bounds

  • Includes timestamps to prevent replay attacks

  • Includes your wallet address to bind the proof to you

4. On-Chain Commitment

The effort hash is submitted to our Solana program:

  • Program verifies the hash format

  • Creates a new proof-of-effort account

  • Links your wallet to the pattern

  • Emits an event for indexing

5. Reward Distribution

After commitment, rewards are calculated and distributed:

  • Base DUNG from pattern difficulty

  • Multiplier from staked CAL

  • Bonus for first rolls or achievements


What We Don't Store

Your privacy matters. Proof of effort is designed to prove you did something without revealing everything about you.

We store:

  • Pattern ID (which climb)

  • Your wallet (who)

  • Timestamp (when)

  • Duration (how long)

  • Effort hash (cryptographic proof)

We don't store:

  • Your full GPS track

  • Your exact route to/from the pattern

  • Your personal information

  • Your raw ride files

Your raw data is processed and discarded. Only the proof remains.


Trust Assumptions

Proof of effort requires trusting certain things:

You must trust:

  • Our pattern detection is accurate

  • Our effort hash generation is deterministic

  • The Solana blockchain is secure

You don't need to trust:

  • That Boulder Roller will exist forever (proofs are on-chain)

  • That we won't modify your data (hashes are immutable)

  • That we control your patterns (they're in your wallet)


Fraud Resistance

How do we prevent fake proofs?

GPS spoofing: Difficult to fake realistic GPS data with correct timestamps, elevation changes, and movement patterns. Our detection includes sanity checks for impossible speeds and teleportation.

Data replay: Each proof includes timestamps. You can't submit the same ride twice.

Bot riding: Possible in theory, but requires actual physical movement through real space. The economics don't favor botting when effort is the input.

Borrowed data: The proof is tied to your wallet. Using someone else's data would give them the rewards, not you.


Composability

Proofs of effort are on-chain primitives. This means:

  • Other protocols can read your verified efforts

  • Applications can gate access based on patterns rolled

  • Achievements can be built on top of proof data

  • Leaderboards can be trustlessly verified

Your effort becomes a building block for the broader ecosystem.


Next Steps

Last updated