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: “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 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).

Last updated