Open this lesson in your favourite AI. It'll walk you through the why, explain the demo, and quiz you on the try-it list.
An app uses a protocol; a protocol is the rules everyone else's apps will run against. The first iteration of any protocol you ship is not optimised, polished, or even safe — it exists to falsify your mental model. Treating protocol work like app work (ship, get users, iterate from feedback) reliably produces protocols that look fine until an attacker shows you the hole you couldn't see.
Same problem, two framings. An app dev thinks 'how do I add staking to my dapp?'. A protocol dev thinks 'what's the smallest set of rules under which staking is well-defined for any participant, and what does an adversary maximise by deviating from them?'
Use these three in order. Each builds on the one before.
In one paragraph, contrast a protocol engineer's mindset with an app engineer's. What changes about who you optimise for?
Walk me through the design loop for a new protocol from blank page to a first iteration you'd put on a testnet — what comes first, what comes last, and what you deliberately omit.
Pick a protocol you admire and identify three design choices its authors *didn't* make. What constraints ruled them out, and how would the protocol differ if those constraints relaxed?