Overview

Essential is the first declarative blockchain protocol. The protocol implements the declarative principles described in the above sections in a decentralized, permissionless system, architected around the idea of blocks as pure state mutations.

State mutations originate as solutions, provided by solvers. A solver may be a third-party entity which competes to find optimal solutions. It may also be simply a centralized program (e.g. a server, or a front-end app or wallet) which serves solutions for a specific application. Note than unlike solutions in an imperative system (which take the form of a series of ordered transactions), solutions in a declarative system are simply a list of state mutations.

Solutions become state through the process of validation. A solution is considered valid when it satisfies all the contracts whose state it mutates.

Valid solutions then become candidates for inclusion in the next block. This occurs through an out-of-protocol mechanism, whereby solvers bid for inclusion to a solution aggregator (analagous to a block builder). Bids for inclusion are themselves expressed as constraints on state. Note that the protocol itself is concerned only with the validity of solutions. Optimality is achieved through auction dynamics, both at the application and solution aggregation level.

In the next section we shall see how contracts are structured to express conditions over how their state can be mutated.

Last updated