
In distributed systems, mutable digital objects typically require some state machine to decide on their definitive current state. This state machine can be replicated to enhance availability and fault tolerance. We call the authoritative state machine of a digital object its controller. Typical examples of controllers defining objects include a database storing a record or a blockchain storing the current state of a smart contract. Without some kind of controller, different parties may have contradictory notions of what the state is and no way to reconcile them. In a distributed system, some controllers may be Byzantine, and make duplicitous or incoherent statements about the state. Here we design rules and procedures for a multi-state-machine ecosystem featuring digital objects or resources, with application-defined state-dependent rules for how they can be updated. Each controller can express an authoritative state, including authoritative resource states. Each resource is also labeled with a controller identifier, whose state is definitive for this resource. Resources can transfer between controllers, and updates can depend on multiple resources, so resource labels also express a dependency graph detailing which controllers, if they were Byzantine, may have corrupted this resource. In a sense, these labels represent a distributed taint tracking or dynamic information flow control solution. One challenge is avoiding size explosion in this dependency graph: we enable removing unnecessary parts of history when, say, a resource transfers from $A$ to $B$ and back to $A$ again. In information flow control terms, these operations require endorsement. Our resource controller operations generalize a number of techniques used in blockchain settings. We define rules and procedures for creating, updating, transferring, and tracking the state of labelled resources, and prove that our rules maintain safety properties, including causal resource history and consistent controller labels.
distributed systems, controllers, system architecture, network management
distributed systems, controllers, system architecture, network management
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
