top | item 32778995

(no title)

clx75 | 3 years ago

Or if laws were executable descriptions of how to make certain changes to world state.

There could be some sort of VM (state machine?) which executes these laws (programs). A queue accepts change requests from the edges, e.g. citizen1 wants to sell her car to citizen2 would generate a change request. The queue processor validates the change request, finds the appropriate reducer (= law) for it, applies the reducer to current world state + change request and derive the new world state.

The programs (laws) themselves could also be objects of the world state. Changing the law is then another change request (self-modifying code).

One big issue with this is that the reducers should probably also work at the edges. Paying with a credit card in a shop should work even if the Internet is down. Diverging state histories should be the norm not an exception. We should figure out how to ensure we can always resolve the merge conflicts.

discuss

order