> For the complete documentation index, see [llms.txt](https://docs.essential.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.essential.builders/learn/declarative-blockchains/what-is-a-declarative-blockchain/criterion-2-state-updates-without-execution.md).

# Criterion 2: State Updates Without Execution

The second core property of declarative blockchains is that they **achieve state updates without execution.**

This is an emergent property of using [constraints](https://en.wikipedia.org/wiki/Constraint_programming): “Constraints differ from the common primitives of imperative programming languages in that they do not specify a step or sequence of steps to execute, but rather the properties of a solution to be found.”

Declarative blockchains specify state updates directly in a block, which then must pass relevant predefined constraint checks in order to be valid. This is unlike an imperative blockchain which specifies transactions directly in a block, which then are executed to compute a new state.

## Executionless State Updates

Achieving state updates without execution is perhaps the holy grail of blockchain protocol design. [Previously, we established](/learn/declarative-vs.-imperative-concepts/imperative-pitfalls-pt.-1-sub-optimal-outcomes.md) that in-protocol execution (i.e. the processing of step-by-step instructions) is a highly limiting property of imperative blockchains.

The “executionless” property of declarative blockchains enables the most costly part of general-purpose blockchains (execution, and consensus thereover) to be removed without sacrificing functionality or verifiability. In fact, it makes verification of state transitions trivial, due to the nature of constraint-based problems (hard to compute, easy to verify).
