What is a state object?
A state object is a digital document that represents and completely captures all relevant information about an agreement shared between parties, including its existence, content and current state.
More broadly, states can be thought of as referring to a fact at a point in time (for example, a cash state or an identity state). In Corda, states usually represent an obligation between parties. For example, a state object could represent a $100 obligation issued by a bank, an interest rate swap, or a zero coupon bond. The Corda Vault maintains the current position of state objects upon which two firms have agreed upon. In Corda, a state object is intended to be shared only with those who have a legitimate reason to see it.
A state object references (in the form of hashes) both the contract code and legal prose contained by an agreement). States are established and can only be changed by accepted transactions, which are governed by the rules of the contract code. Digitally signed transactions consume zero or more states and create zero or more new states (see UTXO model)*. Some transactions dictate that a new state be created while other transactions cause current states to evolve into new states. Potential new states may be proposed by parties to an agreement, but a “consensus state” is only reached once all parties to the agreement achieve consensus.
*A state object is either current (considered a live obligation) or historic (considered no longer valid). Note that these terms are also sometimes referred to as unspent/unconsumed or spent/consumed.