Reader beware: this is currently a braindump, and may not be clear at all. Here be dragons!
Prior context:
The reader who has not already read the scope section of the specs linked above should do so first. The following should be understood as an addendum to the content therein.
Concepts which need to be developed & defined
- âWhat is a protocol?â - a protocol is a box (algorithm to be run on a non-deterministic Turing machine) inside an agent, âthrough whichâ the agent can send and receive messages, and which can automatically respond to messages âon behalfâ of the agent (including complex responses, not just request-response).
- âWhat is an equilibrium protocol?â - an equilibrium protocol is a protocol such that, for a specific set of requirements, either:
- there exists no protocol which better satisfies those requirements, up to implementation details (e.g. choice of cryptographic primitives), or
- agents who start using this protocol for purposes within those requirements will never have a reason to switch to any other protocol / uses of this protocol will be incentive-compatible
- (I am not sure which definition is correct here, we might need multiple ones for different purposes)
- Agent identity. In particular, agent identity is - from the physical perspective - fluid, as the âzone of controlâ definition is neither fixed nor verifiable. Zone of control is preserved through time through control of private information, which is what we use to reason about agent identity at higher levels (cryptographic identity), and we should spell this out in detail. I wonder if this report can get to a point where we can detail what âcomposition of agencyâ means in this context, which is related to this question (see also this SFI paper)
- Semantics of promises w.r.t. messages in/out on other protocols (e.g. one can understand âarm lifting up boulderâ as a protocol, the semantics of which are opaque to Anoma the protocol but meaningful to the agents themselves vis-a-vis their access to this other protocol, I think). This is related to what is sometimes called âthe oracle problemâ.
- The difference between âdirectâ coordination of object-manipulation actions (representing objects as resources and using intents to agree on what to do with them) vs. âsymbolic / delegated agencyâ coordination of object-manipulation actions (scale-free money, i.e. coordination on values-alignment and decision-making power).
Protocol requirements
The key set of requirements to lay out is: what is it that we think that the Anoma protocol must do? Several things come to mind:
- sharing observations (already mentioned in the specs) (here we need to define in more detail what sharing observations means and requires, e.g. perhaps partial-order linkage using one-way functions to collate âintersubjective timeâ information)
- sharing compute, storage, and network resources (already mentioned in the specs) (this is related to service commitments) (we need to clarify what ânetwork resourcesâ are)
- providing a virtual plane of agent-to-agent communication which adapts to a dynamic underlying physical network where the agents are moving about in the physical plane and their physical communication links/speeds/capacities etc. are always changing (this is the sort of âheterogeneous Perigeeâ area of requirements)
- providing a distributed intent machine, such that Anoma provides a distributed state with configurable rules as to how parts of that state can change (applications), and abstractions so that agents can agree on those changes using the interface of an intent machine (see: intent machine ART report)
- I think this is a mechanism-by-which the direct & symbolic coordination may be implemented
I think it will also be helpful to investigate whether it makes sense to âlayerâ these requirements - e.g. if service commitments are understood as a sort of metaprotocol, subsequent protocols (distributed intent machine) depend on service commitments, but not vice-versa.