Wednesday, February 18, 2009

P2P Currency

If there is one over-arching trend in the information age, it is towards p2p architecture. P2P is more efficient since resources are not needed to maintain access hubs (think Skype, Limewire, etc). The evolution towards p2p is a continuation of what happened to scribes when the printing press was invented. Before books could be produced on a large scale, it made sense to have a class of people who devoted themselves to literacy. However, when the printing press came on the scene, universal literacy was enabled. This transition was slow by today’s standards, but it was very real. See Clay Shirky’s book “Here Comes Everybody” for a great description of this evolution.

While I am sure this is not news to most of you, its relation to the issuance of money bears some careful thought. The evolution that happened in reading and writing during the Renaissance is about to happen with how we issue currency. Almost all currency designs to date (dollars included) depend on either a scarce commodity (such as gold or paper notes) or a centralized authority to issue and/or track the currency (barter clubs, time-banks, etc).

The IRS classifies the latter as “Third-Party Record Keepers” and provides users with 1099B forms to make sure they stay above board. Fundamentally, p2p architecture in currency design will mean the obsolescence of third-party record keepers. Information about account balances will not need to be held and tracked in a central location, and participation in such systems (and the creation of new ones) will no longer be dependent on any form of central authority. But how is this even possible? Let’s take a deeper look at what the historic role of banks has been.

Banks have performed two main services since their inception. The first was to be a safe place to store gold, silver, or other commodity money. Since money no longer has any relation to precious metals (thankfully), and is issued entirely as credit, this function is no longer needed. The second service banks provided was and is far more significant. Banks have the authority to determine whose IOUs are meaningful and whose aren’t. Put another way, banks are the arbiters of trust in our society. Given the current state of affairs, one thing is clear: banks have failed miserably at this job. The reason is quite simple. They had a conflict of interest between being the arbiters of trust and making a profit. But who should be the arbiter of trust in a given community?

The answer is that, given how much information technology has evolved recently, the members of a community can be their own arbiters. Since the advent of Ebay it has been clear that online communities are capable of policing themselves. In Ebay’s case, the concern was whether sellers (or buyers) could be trusted to make good on their various promises. Instead of implementing a complicated and costly authoritarian scheme, Ebay let the users police themselves through reputation. Being a trustworthy member of the Ebay community provides users with more value than cheating the system. This simple process has proved the ability of online communities to police themselves according to their own unique criteria. What enables a seller to trust a never-before-met buyer is what will soon make possible the issuance of money on a p2p basis.

At heart, money is a promise (or IOU) to provide goods or services at some point in the future. Determining who will actually make good on their promises has heretofore been the primary function of banks. However, the advent of reputations systems like Ebay’s opens the very real possibility that people can determine for themselves who is trustworthy. So how does P2P currency differ from currency as it has been implemented thus far?

Money thus far has been a promise VOUCHED for by an authoritative body (such as a barter-club or bank). The central shift is that money will become a promise VOUCHED for by the community of users. The specifics of how this process plays out will be different for every community. The users of a given money will determine the basis for a reputable promise themselves. As this architecture becomes more commonly adopted, millions of currencies will take root worldwide. Issuers will be able to use real-life relationships in their communities as the basis for currency issuance. So will this be more reliable and cost effective than the current model?

The unqualified answer is YES! Who is better qualified to vouch for potential currency issuers than those who conduct business with them? Think how different this is from today’s model. People will be able to consensually participate in currencies rather than being held hostage by an authoritative them. P2P architecture will at long last bring democracy to the domain of money.

Tuesday, February 10, 2009

Data Structure for a Currency Platform

What follows is my attempt to describe what might be necessary for an extensible currency platform that takes into account (no pun intended) the subtleties of flow language. Eric Harris-Braun has already looked into this problem deeply and has developed the “mesh + churn” of Open Money. Please see those materials for another angle on these issues.

A currency platform will need several components to be fully
functional. Let’s go through them in order.

1) Account – An account, as I am defining it, is the place where information about ONE currency is aggregated and transformed for output. In a mutual-credit currency, my account would do a summation on my transactions within the currency, and tell me whether my account balance was positive or negative. In a “thumbs up, thumbs down” reputation currency, my account would display the average of the ratings given to me by my trading partners (1 for thumbs up, 0 for thumbs down) as a percent (80% thumbs up). The account is an aggregation of transactions that happened within a particular domain, transformed to be relevant to the user within that domain. I will call this transformed informational output the "account balance.” Accounts could even use account balances in other currencies as input when calculating their own balance (think Dow Jones Industrial Average). To summarize, an account is what interacts with other accounts.

2) Transaction – A transaction is an interaction between two accounts. It is a record of what happened and describes a mathematical relationship between the two accounts. I.E. On February 10th 14:50 “account A” pays 50 to “account B”. This transaction describes the relationship between the two accounts, and records the time it occurred. Transactions could be transferable (debited to the payer, credited to the payee), or non-transferable (not debited to the payer, but still credited to payee) such as a reputation transaction or a thank you. In order to have the maximum extensibility to this platform, receipts for all transactions within a currency could be aggregated on a server(s) (such as Twitter). These receipts would contain all the information about that transaction specified by the currency. Third party applications could be written that would derive other metrics from this aggregated transaction history, and project that information into new accounts (as allowed by the rules of a given currency), and even new currencies.

3) Currency – A currency is set of rules defining the types of accounts, how their balances are calculated, and how these accounts can transact with each other. A currency could have multiple different classes of accounts. For instance, a mutual credit currency might only allow businesses to be issuers of the currency (allow their balances to be negative). This stipulation would necessitate multiple types of accounts within the currency. A currency would define these different types of accounts and their privileges.

4) Currency Complex – A given currency defines just one domain of measure. However, most currency environments depend on several different currencies interacting with one another. For instance, a “thumbs up, thumbs down” reputations currency can be used in concert with a mutual credit currency to give visibility to the reliability of the potential trading partners using the mutual credit currency. Many different currencies could be cross-referenced to produce a rich and resilient tapestry. Because currencies are modular within the currency complex, currencies can quickly evolve in an extensible way. Rules for currency could be contingent on metrics both inside and outside a given currency. For instance, let’s say you wanted to have a credit limit in a mutual credit currency be dependent on the user's volume of transaction in the currency multiplied by the percent of "thumbs up" ratings. The user would need two accounts within the mutual credit currency, and an account in a second reputations currency. The user's buying power in the mutual credit currency would be a sum of all transactions. The user's transaction volume would be the sum of the absolute values of all their transactions (calculated in separate account). The user's history in the "thumbs up, thumbs down" currency would be calculated as an average. The credit limit for the first, could be linked to the second and the third (credit limit increases to 1000 when you have conducted 10,000 worth of business with 90% thumbs up).

5) ID – A person using this platform will need to have some sort of identity boundary on the currency platform. This is distinct from having an account, since an account, as I am defining it, is merely the place where one currency is aggregated. An ID will be able to have multiple different types of accounts within one currency, participate in multiple currencies within one currency complex, and participate in multiple currency complexes. The ID simply allows multiple different currencies to be grouped and displayed according to user.

Sunday, February 8, 2009

Flow Language in a little more depth

Building on the previous blog post, I would like to go into a little more depth about some aspects of the flow language. This is, of course, all subject to debate and interpretation, so in this matter I only write my own opinions. I apologize ahead of time if this gets a little esoteric sounding.

In much the same way that, in natural language, a sentence has the basic structure of [Subject | Predicate], a flow statement also has a core structure. There are four main classifications of elements that make up the flow language: Holon (a.k.a. noun, subject, account, container), transactions (events), patterns (emergent), and rules. Each of these can be defined in the following way:

  1. A holon has a definable boundary within which it processes input, according to rules, for use when transacting with other holons.
  2. A pattern emerges from an aggregation of transactions between holons governed by rules (and possibly further defined as a larger holon).
  3. A transaction is an interaction between holons governed by rules.
  4. Rules govern both the interior processes of holons and the interactions between holons.

Notice that the primary distinction between a holon and a pattern is that the holon has a definable boundary. A pattern simply emerges. A holon is defined as something distinct from something else. A flow statement must define a starting level holon (i.e. an account), and define rules of transaction with other such holons. Patterns may emerge as a result.

A set of rules has two main parts. The first defines what level holon to start with (account, individual, group, etc) and how input to the holon is processed internally (i.e. account balances summed or averaged). The second part defines how that holon interacts with other holons both at same level and at higher levels.

Patterns emerge from aggregations of transactions between holons unfolding according to rules. In biological systems, DNA defines the processes for massive numbers of local interactions that, when aggregated, produce a global living pattern (unfolding according to the rules of chemistry). Because, the living being is an emergent property of local interactions, the whole PLAN for the living being is not needed, but rather simply a defined process of interaction. See cellular automata for more on this subject. In a similar way, rules governing the interaction of holons at the linguistic level can create emergent global patterns of flow.

In the flow language, there is a somewhat fluid relationship between holon and pattern. One can easily translate the emergent patterns into new holons to be further interacted with. I.E. a pattern of poor grades at a school is recorded and used to determine the school’s funding (much to their dismay). Aspects of the emergent "grades pattern" are defined as a new holon, and used to determine future aspects of transactions (funding). It is this rich interplay between holon, pattern and rules that constitute currency. Deciding which patterns to put a boundary around (and turn into holons), could very well be a collaborative process within a community, itself unfolding according to rules.

Holons AS Accounts:

I propose that for the purpose of creating a data structure that can in some way express the flow language, the holon be thought of as an ACCOUNT. I understand that this word has several meanings depending on context, but I think its multiple meanings are appropriate to describe its functions. An account for money is usually thought of as an account in a bank. However, an account can also mean a history of something that happened, as in “The witness gave her account of what happened.” A third, and more modern, meaning is an account on a particular server, as in a Yahoo! account, or a Facebook account. This third meaning seems to have more to do with tracking the activities of an particular identity rather than tracking a particular type of activity that identity engages in. For instance your Ebay account records several different metrics (transactions completed, percent positve feedback, etc). For the purpose of this discussion I am calling each of those
metrics as recorded within a UNIQUE account. The ID (identity) is the collection of accounts that pertain to a given person. So in these terms you have an Ebay ID rather than an Ebay account. These might seem like nitpicky details, but the reason for drawing these distinctions will soon become clear.

Returning to the original meaning of the word “account” as a history of something that happened, I would propose that at heart all human flow systems have something to do with recording transactions, and enabling people to project their own actions into the future based on the history of those transactions. Let’s consider money. Money records (in theory) your history of doing things for other people. If you have money, you have done more for others than you have received from others. If you are in debt, the reverse is true. If you are elected senator, the votes are tallied in your column (or account). These votes reflect the preferences of all the eligible voters. Even a meta-currency (or currency derived from other currencies), such as the Dow Jones Industrial Average, makes visible a history of transactions and gives people something to resonate off of when projecting their behavior into the future. So in all these cases, the account is simply
a way of aggregating a history pertinent to a particular domain of interest.

More soon.

Tuesday, February 3, 2009


It occurred to me a few days ago that this blog might be quite confusing for some folks. So far, we have not posted a clear overview of exactly what it is we are all discussing and exploring. I thought it might be helpful then to try to put into down-to-earth language the basic tenets of our (the contributors to this blog's) thinking.

Over the last six months, my work as a documentary filmmaker has allowed me to be in an ongoing dialog with Eric Harris-Braun and Arthur Brock about currency related issues. These conversations made clear to me that the core money issue goes much deeper than I had ever thought or imagined.

For me, their central revolutionary insight is that many social tools / institutions that we have previously put in different categories may actually share a common deep structure. The best way to understand what we mean by a "common deep structure" is to make a comparison to the concept of universal grammar in natural languages. Universal grammar is the deep structure of grammar that all natural languages share. While natural languages differ in an almost endless variety of surface ways (phonemes, written symbols, grammar, syntax, etc), all of them share the same deep structure.

What Arthur and Eric realized is that there is another type of language that humans use to coordinate group behaviors. We are all very familiar with the manifestations of this other type of language, but we don’t usually think of them as languages. Money is one (and in some ways the most obvious) manifestation of this language. Other manifestations include voting processes, grades, diplomas, reputations systems (like on Ebay), task management systems, movie tickets, and even brand labels.

What all of these social institutions have in common is that they establish flows of human action / information / meaning that, when taken together as a whole, create complex group behaviors. This includes identifying goals and milestones (both personal and at the group level), distributing labor among the members of the group (deciding who does what), creating personal and group accountability, determining the permissions and privileges of individual members if the group, and evolving the terms of these interactions as the need arises.

While we can describe piecemeal the particulars of a given flow, the complex behaviors that arise out of interacting layers of feedback become nearly impossible to describe or even imagine within the structure of conventional language. These complex flows may require an entirely new type of language to succinctly communicate; a FLOW language. For this reason, we have begun exploring the universal grammar of social contracts and the flows of human activity they enable.

As Jean-Francois Noubel of The Transitioner points out, as our society has tried to deal with complex social and environmental problems, it has become increasingly clear that our current form of collective intelligence is sadly inadequate. By understanding the deep structure of group coordinating systems, we hope to design a virtual platform that allows for the creation of a variety of new social tools that coordinate the behavior of groups while still respecting the autonomy of the individual (all open source style of course). These new tools for expressing, understanding, and influencing social flows are what we are referring to when we use the word CURRENCY.

Widening Currency Definition is Speading

Just a fun aside, to take a break from the scheduled program of cool-deep convos on flow language:

LaVar Burton, the actor that played Jordy LaForge on Star Trek TNG, now has a blog and in his very first blog post, he talks about compassion as a currency we have as humans to help us get through these challenging times.
"Curses, Compassion and Gettin’ Kicked to the Curb…"

I love the fact that people are widening their idea of currency. You can bet LaVar's blog will be well-read, and so the concept will spread and have yet one more exposure. Nice.