Home | Theory | Practice | Technology | Play

A technical overview of the open money platform

Abstract

The open money platform consists of three components: 1) a distributed mesh of linked entities, 2) an event "churn" that generates the mesh, and 3) a currency specification language. The mesh, with its small number of entity types (accounts, namespaces, currencies, & flows) and various link types specific to each entity type, along with the currency specification language, allows us to represent a vast array of wealth acknowledgment processes, in a scalable, distributed, and appropriately secure fashion. Together these three components (mesh, churn and language) form an alphabet that allow us to write down and bring into shared existence a myriad of new wealth acknowledgment patterns, and thus, opens a new form of literacy, the literacy of wealth.

The Mesh

The mesh provides the ontological underpinnings for the open money platform. Everything in open money is built out of the entities and links of the mesh. There are four basic types of entities:

Links are the ontological component that establishes relationships between entities. Each link is a uni-directional statement of relationship. There are five link types:

The entity-link ontology is easily extensible. For example one could add an "auditor" entity which is linked to a flow with a "confirms" link.

On the web, the mesh is implemented as REST accessible resources. Thus each entity maps to a URL. The open money platform includes a name resolution infrastructure that resolves open money names to URLs. This is akin to how DNS resolves domain names to IP addresses. For example, an open money name like zippy.cc.us.ny might resolve to https://myccserviceprovider.com/accounts/735. Thus, the mesh can be distributed around the Internet on a large number of servers. This diagram summarizes all of the entities and link types and depicts a small portion of the mesh across two servers.

Security Considerations

Access control to entities in the mesh is handled by the assumption that each entity will store a list of credentials that must be provided before access is granted. The access control specification is very open-ended in that it assumes many different credentials and credential types to handle tiered access to aspects of entities (i.e. read vs. write access), as well as the assumption that credential schemes will change over time.

It is assumed that other aspects of security are handled out-of-band. I.e. privacy concerns are ensured by using https for transport when necessary.

The Churn

Whereas the mesh is the accessible state of the players, their identity and functional relationships as the history of the wealth-acknowledgments between them, the "churn" is the process by which new entities are added to the mesh and by which existing entities become further enmeshed. This "enmeshment" is the result of discrete events. Thus the mesh is the "nouns" of the open money world, whereas the churn is its verbs. There are just a handful of events, and they can be seen as procedure calls with parameters.

The Currency Specification Language

Key to the open money platform is a language that allows us to model the variety of wealth acknowledgment patterns that communities want to create. The basic building blocks of the currency specification language are: