Statefulness and value capture

One of the themes that has really stuck with me from the past couple of weeks on the road, is the idea that "tokens that govern state will accrue value, while tokens that govern schema won't". Here, I am looking to unpack this argument, touching on topics of statefulness vs statelessness, governance and value sinks. We'll start by understanding what statefulness is in a software context.

Stateless vs Stateful

State is the bulk of information referring to preceding events or user interactions, stored in a protocol (or programme) from t=0 up to t=n. A computer program stores data in variables, which represent storage locations in the computer's memory. The content of these memory locations, at any given point in the program's execution, is called the program's state.

By extension then, a stateless protocol does not require the server to retain session information or status about each communicating partner for the duration of multiple requests. Examples include the Internet Protocol (IP), which is the foundation for the Internet, and the Hypertext Transfer Protocol (HTTP). Conversely, a program is described as stateful if it is designed to remember preceding events or user interactions. In stateful protocols, information about previous data characters or packets received is stored in variables and used to affect the processing of the current character or packet.

Statelessness imbues software with fast performance, reliability, and the ability to grow, by re-using components that can be managed and updated without affecting the system as a whole, even while it is running. In contrast stateful protocols, provide continuity and are more intuitive (since state related data are embedded).

Statefulness and value over time

Blockchains and smart contracts platforms, are in their majority, stateful. By definition, a blockchain is a database of past states - such that the further away we move from t=0, the more stateful it becomes. This is equally true for Web 2.0 systems, but especially true for blockchains.

Consider the following example: a user may interact with the service to address a personal need, for example, to find a certain website with the aid of a keyword query. The service satisfies that need by returning a list of results, but a byproduct of the user’s action is the service improving its global state - e.g. with every new search queried, Google's algorithm is more informed than before, and therefore better able to deliver optimal results for all future users.

So it appears that while code is of paramount importance to kickstart a software system, as time goes by, the value migrates from the code to the state captured by the programme/protocol. A service’s reliance on state makes it fundamentally different than a tool. A service’s software, when instantiated, creates a vessel for persistent state. It starts off empty and becomes useful only when filled with data, users or both. State compounds and becomes more valuable exponentially. Code, while crucial for the stable operation and evolution of a service, becomes less important and necessary to defend.

As Denis Nazarov of a16z has noted in the recent past, "blockchains are too slow to do any computing that is really interesting aside from their one redeeming feature: they maintain “state” incredibly well", while concluding that they are probably the best “state machine” invented to date — properly aligning the incentives to coordinate a network of machines distributed globally that maintain this state of truth without an intermediary.


Statefulness and value capture

So, from the above, it follows that (i) stateful protocols have memory; the more memory they accumulate, the more valuable they become and (ii) value migrates from code to state over time. At the same time, (iii) the more memory stateful protocols and apps accumulate, the slower they become and (iv) blockchains are the best state machines invented to date.

Granted all of the above then, is there truth to the statement - "tokens that govern state will be valuable, tokens that govern schema won't"?

Since blockchains are in effect databases, we can define schema as the overall design of the database -  the skeleton structure that represents the logical view of the entire database. It tells how the data is organized and how the relations among them are associated. Conversely, as mentioned previously, state refers to the content of a database at a moment in time.

It then follows that as governance of an open source system comes into place, the value accrues increasingly more to the ability to influence future state. In other words, having influence over the terms that influence state (e.g. Maker DAO liquidation margins) is more valuable relatively to having influence over how those terms come into effect.