Formally Specify and Model-Check a Payment Rate-Limit Service in TLA+
Overview
What this challenge is about.
Formally Specify and Model-Check a Payment Rate-Limit Service in TLA+. Expert-level challenge in code. Writing production code that solves real engineering p...
The Brief
What you'll do, and what you'll demonstrate.
Produce a TLA+ formal specification of the rate-limit service's lease protocol that model-checks three critical correctness properties and surfaces hidden race conditions before the rewrite ships.
This is not a coding exercise. It is the work a software engineer does between a Jira ticket and a merged PR. That distinction matters to every hiring manager who has seen candidates solve LeetCode problems and none who have shipped production code under real constraints.
When you finish, you will have something most graduates do not: a real-world deliverable, verified by Ewance, that you can show to a hiring manager and say "I did this. Here is the proof."
Earning criteria — what you'll demonstrate
- Translate an informal distributed-protocol design note into a precise, modular TLA+ specification
- Express and distinguish safety and liveness properties as temporal-logic invariants and properties
- Use the TLC model checker to find counterexample traces and interpret them as real concurrency defects
- Connect a formal specification back to implementation code so engineers can act on the findings
Program Fit
Where this fits in your program.
Sharpens the same skills your degree expects you to demonstrate.
Aligned coursework coming soon.
Skills
Skills you'll demonstrate.
Each one shows up on your verified credential.
- Tla Plus
Apply tla plus to solve real industry problems and demonstrate production-level capability.
- Formal Specification
Apply formal specification to solve real industry problems and demonstrate production-level capability.
- Model Checking
Apply model checking to solve real industry problems and demonstrate production-level capability.
- Distributed Systems
Apply distributed systems to solve real industry problems and demonstrate production-level capability.
- Safety Properties
Apply safety properties to solve real industry problems and demonstrate production-level capability.
- Liveness Properties
Apply liveness properties to solve real industry problems and demonstrate production-level capability.
Careers
Career paths this challenge builds toward
Completing this challenge demonstrates skills that transfer directly to these roles:
Systems Architect
Architects designing payment and infrastructure platforms increasingly use formal methods to prove protocol correctness before code ships. This challenge mirrors that workflow: turning a design note into a checked specification and translating model-checker findings into actionable engineering guidance.
This challenge sharpens
- formal-specification
- distributed-systems
- model-checking
Distributed Systems Engineer
Engineers building leasing, consensus, and failover mechanisms must reason rigorously about concurrency. Specifying the lease protocol and surfacing race conditions through model checking directly practices the safety-and-liveness reasoning these roles demand on real services.
This challenge sharpens
- tla-plus
- distributed-systems
- safety-properties
Formal Verification Engineer
Verification specialists encode systems as formal models and prove properties hold under all interleavings. Writing the TLA+ specification, expressing liveness with fairness, and interpreting counterexamples builds the core toolkit these roles use daily on critical software.
This challenge sharpens
- tla-plus
- model-checking
- liveness-properties