Exploring the Dominion of Anoma: A Distributed Operating System

Exploring the Dominion of Anoma: A Distributed Operating System

Anoma is an operating system, a distributed one at that. However, what does this mean in practice for Anoma and her Dominion? Further, What implications does this entail for the entities who wish to shape and describer her evolution? This post seeks to answer these questions by providing a realistic overview on how one might operate under the dominion of Anoma.

A view from under the dominion

Let us first view Anoma from a member operating under her. Let us call this member Eric. Eric chooses to belong under the dominion of Anoma for multiple reasons, let us view various actions he engages from within the dominion.

Eric, being a true patron, sets up pickup games with other members within the dominion; due to the busy schedule of the various members, games are not held on a set regular schedule. Rather, each member submits a signed transaction that denotes on what days they’d be available to a specified path that Eric is subscribed to. Specifically, Eric utilizes the dominion to have a piece of Anockma be triggered upon getting any of these transactions. Eric has little patience for the slowness of the computational power he controls under the dominion and as such has developed a CPP program that more efficiently solves the other members request. This is brought under the dominion via it’s foreign communication channels (often referred to as an FFI outside of Anoma’s borders), thus allowing him on trigger invoke the faster CPP program to find workable solution for all members. Eric, now satisfied with a solution, has anockma submit the solution directly into the public court (the court is the location in which all serious data is gossiped within the dominion) in which all other members subscribe to and get notified by.

Eric however has to be careful before confirming these results, as a newer member under the dominion, William, also tries to help setup these pickup games and thus has his own machine try to solve the pickup games. Since William is a new member of the dominion his solution to these problems are different, he prefers not to call out of Anoma’s dominion via the communication channels but rather prefers to shuffle the various transactions via port to his machinery that exists within the alliance for Unix.

This competition is for naught, as one day Eric notices that William has left the dominion. Eric sighs not because he particularly cared for William and knew that he would leave, but rather he must update the membership list to keep the games continuing. Eric walks to his chambers and queries for his private list of potential participants. After sifting through the data for a good minute, Eric chooses Johanna for inclusion. Eric then leaves his private chambers into his more public court and begins to broadcast that as of the current time that William has been swapped out for Johanna. In doing so Eric has published and gossiped the new timestamp and list for which the decision is binding. Eric grins as he remembers that last week he finally got around to automating the machinery that was responsible for responding to these subscriptions to filter out any transactions* with older timestamps. Eric also reasoned that since this particular court was small (Courts in the dominion can be of many sizes), that it would be best to send a message directly to those who created these transactions to query the records for Eric’s latest changes as this should already be automated for those with the latest version.

Eric was always an industrious sort, when annoyances came his way he always found ways to make them stop. Thus in a typical fashion Eric heads to his chambers to contemplate his next move. For he has far more important matters to attend to and letting a silly game dwell on his mind for long is unacceptable. In a moment the idea hits him, he has decided to publicize his private logs of potential members to the court record. This for Eric was not the end to the question as he saw a few ways in which this could work out. His first thoughts were to modify the rules of the court in which the members could participate as he set himself the ruler of the particular. Under the dominion on Anoma, Eric cannot modify any court freely as most of the courts he belonged to had collective ownership, however this particular court recognized the sovereignty of Eric. However after musing on the idea Eric thought of a simpler strategy. Rather than relying on the rules of the court he’ll change the membership list from one that just accepts his signature to that of which accepts his signature or a super majority of signatures in the members list. The dominion prides itself on having easily hackable shared data, they look kinda like objects you would see in the failed news speak initiative that was moped up some years ago in the alliance, however these objects are quite foreign as they are built ontop of the naturally occurring resources that flow naturally within the dominion. These resources are built out of new smarter material, rather than allowing anyone to sabotage them they have special rules that must be obeyed before they can taken control of. Eric in this case simply just mixed in the new check into the path and constructed the new list that can be updated without any personal intervention.

Done wasting his time, Eric retires once again to his chambers to conduct important business of statecraft. One of the private courts Eric is appointed to is having a vote on how to handle the annexing of new land. This court is special in that it will not accept any private voting all voting must be done publicly, however the court itself is a fully private one, only those with special keys are let into the proceedings. The situation is quite complex as depending on how others vote Eric may wish to back different commanders to gain more favor in the area. Eric is quite thankful that privacy isn’t allowed in this court as it’s made Eric’s choice simple, with his mind made Eric begins to set foot in the private court. The court is silent, not much activity has occurred here as only important matters are considered here. After a few minutes everyone was requested to step forward and cast their votes at the same time. Eric hoped that his vote will be put in the ordering book later as his vote would read the inflight data of those before and opportunistically vote for the favor.

A view of the dominion

The dominion of Anoma is propped up by the interweaving relationship of the court (node) and chambers (client). Intuitively the chambers (client) is the place where people under the dominion go to think and act in private and the court (node) is where their decisions are known and gossiped around. It is often said that citizens belong to many different courts. It is currently unclear that if the in the dominion that citizens have multiple courts (nodes) for various channels or if the court of the citizens somehow have channels to effectively channel information.

However given the structure of the dominion we can see that the chambers (client) offers the following functions to it’s citizens:

  1. Local processing power
  2. Live event processing to long lived processes
  3. Local private storage that others can not peer into

And the court (node) offers the following functions to it’s citizens:

  1. Ordering transaction processing
  2. Distributed gossiped storage
  3. Distributed processing

What is important to note is that both these structures allow extra hackable rulesets to apply. For the chambers (client) this is most obvious as a single citizen has full control. However it appears that even for structures in the dominion that have collective control, that voting can be had to instantiate new rule of law.

These central structures to the life of citizens under the dominion seem to be propped up by a few key ideas:

  1. The natural resources that fuel the technology of the dominion.
  2. Custom keyspace pathing that lets the resources be properly routed.
    1. One form is on content addressed data that lets any citizen cite tap
      into the shared wealth of the dominion.
    2. Another that is abused by the various legislative parties is the special owned pathing unique to certain courts (nodes) and brought into many citizen’s chambers (client).
  3. Custom roads to the outside world. The dominion allows both controlled foreign communication channels and ports to be operated by various citizens

Further time is required within the dominion to fully comes to terms with what we are truly dealing with.

William,
January 1st 2025

Other Notes

We have seen the dominion of Anoma both from the inside (with Eric) and from an outside observer (William). What is important to note about the dominion is that it’s a complex distributed system however it rests itself on a few key points to ground itself in a practical loop, every unique feature should be considered with how it works with the core pillars of the system works and we must be willing to push the primitives in a way that synergies, such a well designed system can not come by piling on random features as that would detract from the ability to realize our dreams of the dominion.

4 Likes

I enjoyed this thoroughly. One question it inspires is whether we should conceive of the domain of a particular client as local to a particular machine or local to a particular user’s domain of control (which would mean e.g. that it might need to be synchronized across a few devices).

I think distributed chambers (client) makes sense in a few scenarios. Namely in a scenario where one would be doing RAID in hardrives or having a clusters of servers that are being used potentially. However where I don’t necessarily see it working without considerable design is on different kinds of devices. Namely my laptop does not have the same amount of storage as my desktop or my phone. These devices serve different purposes (the laptop’s role changes if I’m away from home for long periods of time), and thus I’d argue these are most likely different chambers I can retire to. I think it may be closer to custom courts (nodes) that one may run. Namely I’d imagine what you are thinking of can be achieved by having your cluster of nodes all participate in a computational court, where when data is published to the court record that it’s load balanced via some kind of leader selection and they post solutions to it. Meaning we can try to push for PoS but for computational power in fulfilling computational requests that we wish to parallize to many machine. Adding new servers means that the court gets more power and who fulfills what requests gets split among who has the greatest resources right now (load balancing ahoy!!).

I’d be interested in seeing what kinds of designs you’d have in mind for the various courts and chambers as I think we should solidify our designs on a proper split and get the roles better defined than what I’ve posted

1 Like

Diagram from discussion: