Skip to content
Satnam SatoshiIn service of humanityFind your place ↗
Menu
Lesson 04 / 21 · Advanced

Scripts describe spending conditions

Understand programmability without assuming an account-based model.

14 MIN WITH PRACTICEREAD → TRY → REFLECTNO WALLET NEEDED

By the end, you’ll be able to…

  • Explain locking conditions and satisfying data.
  • Recognize why arbitrary contract assumptions do not transfer.
Your learning map

Three questions to carry into this lesson.

01Explain locking conditions and satisfying data.
02Recognize why arbitrary contract assumptions do not transfer.
Use these goals to guide your reading. Try the paper exercise, then explain the result in your own words.

An output carries a condition

Bitcoin transactions create outputs whose scripts constrain how they may be spent. A later spending transaction supplies the required data. In a simple key-based example, the conditions involve a valid signature for the relevant key. More complex constructions can express combinations such as multiple keys and time constraints.

Execution answers a bounded question

Script evaluation determines whether a proposed spend satisfies the applicable rules. It does not consult an external website to determine whether a meal happened. Bitcoin’s model is different from an application with a mutable account database or a general-purpose EVM contract. Familiar words such as contract can hide important differences in state, execution and available primitives.

Review the whole condition

A diagram saying two signatures required is incomplete if there is also an alternative recovery branch after a delay. Conversely, a script that is elegant mathematically may be difficult to back up or operate with available wallets. Separate what the script permits from what a user interface claims and what the organization intends. This lesson explains conditions; it does not ask you to construct or fund a custom script with real assets.

Your turn / A paper experiment

Practice on paper

A fictional spending policy has one path requiring two keys and another available after a delay. What must a reviewer inspect beyond the phrase “two-key wallet”?

I’ve tried it — show the worked answer

They must inspect the alternative path, timing conditions, who controls its keys, wallet support and recovery behavior. A summary that omits a valid branch can misrepresent who can ultimately spend.

Want to explore with buttons and instant feedback? Try the practice lab ↗

Think it through

Make a choice. Discover why.

Choose an answer and check the explanation. You can retry as often as you like. These are practice questions, not a test of mastery; answers are not saved or sent.

1. Can a Bitcoin script directly verify that a dinner was served?
  • Yes
  • No
Read the explanation

No. That real-world fact is outside the transaction’s own validation data.

2. Does an EVM contract explanation automatically apply to Bitcoin outputs?
  • Yes
  • No
Read the explanation

No. Their execution and state models differ.

One idea to take with you

A spending policy is the complete set of allowed paths.

Your learning, at your pace

Read every lesson freely. Optional progress tracking needs JavaScript and browser storage; it does not require an account or wallet.