Archive for the ‘ocaup’ Category

Loose Coupling Between Currency Brands

Saturday, January 9th, 2010

In assessing my project plans for this year, I reviewed the core requirements that the implementation is trying to address. In an effort to simplify the core requirements even farther than the one-page ‘game’ representation, I have arrived at the following three main concepts:

1. An independent currency brand corresponds to, and is issued by, an entity with a self-determined mission to provide certain goods and services to the market or general public.

2. Independent currency issuance is defined as an equivalent increase in the unused revenue and expense budgets of an entity.

3. Published reports are necessary to audit the whole currency lifecyle, including the corresponding inflows and outflows between entities.

Among these main concepts, the definition of currency issuance might seem the most arbitrary to others.  I now realize that this same definition also implies the other currency activity definitions in the ocaup accounting model. So instead of having to explain and defend the whole ocaup model (which really is not that complicated), I really only have to explain why #2 is so important to the design of accounting systems and payment protocols that affect inter-entity transactions.

First, it must be noted that all currency design require an accounting restriction of some sort. Community currencies impose geographic or shared-interest boundaries on where currencies might circulate. Ripple requires payments to be routed through a pathway of neighboring nodes. Traditional currencies impose restrictions on who could issue fiat notes into general circulation. So having a set of accounting restriction to guide the issuance and use of currency is nothing new and all are likely to be viewed as arbitrary. But why insist on #2?

The short answer is that #2 leads to looser coupling between currency brands. Loose coupling facilitates the ability to noncooperate with a particular entity by not accepting its currency brand.

For example, imagine a politician with a campaign budget that is funded by donations. If the politician’s ability to raise her campaign budget is tied to the ongoing donations that she receives, then she is more likely to care about satisfying the special interest of big donors such as lobbyists. In contrast, if she is able to fund her campaign budgets independently of donations that come in within a given period, then there is less pressure to attract or retain large donors. She would worry more about the acceptability of her currency brand to market participants and the general public. Because of #2, her currency activity is tied to the self-determined limits that her organization has set to conduct its campaign.

The other implication of #2 is that inter-entity currency flow is allowed as long as the payments do not lead to an increase in the unused budgets. In fact, considering that each entity fulfills a specialized role, #1 and #2 acknowledge that inter-entity transactions are to be expected and supported. Loose coupling does not have to lead to isolated currency systems.

When each market entity decides to issue its own currency as unused budgets, it would be impossible and counterproductive to predict which currency brand is going to be offered as payment for a transaction at any given time. Even if each person carries only one or two currency brands, a seller is faced with the prospect of receiving payments in many different currency brands from different customers (employees of google.com, seattle.gov, etc.) Clearly, an inter-entity payment protocol must factor such currency brand diversity in implementation use-case scenarios. Real-time advisories on currency brands would be the best approach since revenue sources would not be unnecessarily restricted through pre-emptive brand rejection based on potentially stale information.

To summarize, currency traceability to an entity, loose coupling between currency brands, and auditable reports of currency activity are important design goals that facilitate informed cooperation and nooncooperation with specific entities.

Alignment of Concerns

Tuesday, June 23rd, 2009

The accounting system demo is still being coded and tested, but is near completion. OCAUP support will ensure reconcilablity between periodic currency activity tallies and unused budget balances. PaCT support will include triggering the publication of transaction record and notification of reporters to cross-verify published transactions. The accounting sytem will also support voiding a published record that has not been cross-verified yet, but there are still some transaction sequence details to be worked out.

Based on the results of recent efforts, PaCT is evolving to look more like the ‘HTTP ‘ of Prowl. It used to be that ‘witnessing’ or ‘notarizing’ was just another reporter feature, but PaCT’s importance is really based on its potential to facilitate the everyday use of independent currency brands. Essentially, PaCT is a generic payment protocol for witnessing published transactions, in contrast to the more common approach that uses intermediaries or settlement agents through which payments are routed.

I have been holding off on working on Prowl’s report structures and details, but as mentioned in the previous post, different representations will be supported. One idea is for the accounting system to generate a report, copies of which will be audited and kept by independent audit service providers, and the URI locations of various audited copies will be tracked by a reporter in a document format similar to Git’s parent tree listing. This plan will farther simplify the role of a basic reporter (the one declared in a currency brand/domain’s home page) to letting indexers and evaluators choose the location from which to pull reports. But this is still only a tentative plan.

Many of the development work, planned changes and protocol revision will likely continue to Q3.

Accounting System and Membership Authentication

Wednesday, May 27th, 2009

I have been updating an earlier version of an accounting system from last year. The upcoming version will have built-in support for Prowl and the ocaup model. The user interface will be SMS, email and HTTP-based. 

Also planned for this quarter, the Prowl report structure will be revised to an HTML rather than plain-text representation, in order to use head-metadata tags for information such as encoding, language and record delimiters. The move to HTML representation is just one of the many changes planned for Prowl version 0.2. 

An aspect of Prowl record publication that was not explained in an earlier post concerns the authentication of transactors. When transactors do not belong to the same currency community, such as in ocaup inter-entity trade, the ability of a transactor to ‘publish’ a record in a certain domain implies membership in that domain, with the domain name being equivalent to the currency brand in Prowl. Thus, the authentication of brand membership is simplified, without requiring a centralized brand-membership registry or intensive authentication schemes. This publish-to-authenticate scheme is incorporated in the various PaCT sequences, which also includes reporter notarization to help deter fraudulent repudiation of published records.  

Currency Brands, OCAUP and Prowl

Monday, May 11th, 2009

I have revised the hastily drafted game-design representation of tyaga’s goals. In reviewing the simplified “game rules”, I was reminded of the standards that underlie the success of the World Wide Web. The web standards, listed in order of importance by Tim Berners-Lee, include the URI, HTTP and HTML. In other words, the Web is primarily defined by the use of URIs, a standard that is easily taken for granted while HTTP and HTML receive more attention.

It was also no accident that URIs use the Domain Naming System, which was designed to be globally scalable and was already widely supported. For the same reasons, Prowl also specifies the use of domain names to simplify the implementation of the similarly crucial concept of Independent Currency Brands (ICBs). The use of separate registries would have added unnecessary complexity and led to collisions as more market entities establish independent currency brands.  

After the concept of ICB, the second-most important design aspect in Prowl relates to accounting models. Just as web and gopher clients offered interoperability in each other’s early protocol versions, Prowl is also designed to understand different market transaction requirements and effects on account balances. For example, would transactors have to be members of the same community to transact (mutual-credit, cc model)? Would the ‘buyer’ accrue debt which would have to be settled later (lender-borrower model)? By default, Prowl reporters are expected to support the cross-verification of OCAUP-based transactions, where the buyer entity’s unused expense and seller entity’s unused revenue budgets decrease by the same amount. The default notary support for OCAUP is similar to the default support for HTTP in web browsers.

The third-most important design aspect in Prowl relates to the representation of transaction information. Prowl specifies default published record syntax, report structure and query-response conventions. However, Prowl should support other representations as they emerge. As inter-regional trade in ledger-based currency grows, Prowl would need to support currency activity representations in different dialects. 

The game-design representation also shows tyaga’s infrastructure building blocks as a list of ‘game equipment’. Through Prowl standards and PaCT payment sequence, establishing and using independent currency brands should become simpler and more fun. 

Budget Currency

Friday, May 8th, 2009

I have just uploaded a heavily revised OCAUP document. The latest revision includes simple tables and attached illustrations. The main difficulty has been, and continues to be, finding appropriate terminology that adheres to common accounting language while purposely avoiding terms that might cause confusion with conventional interpretations.

At the moment, the most suitable terminology relates to ”budgets”. Ledger-based currency may be viewed as unused entity budgets that are periodically planned and dynamically reported as inter-entity transactions occur. OCAUP may be used to model and track how well an entity regulates against its self-determined limits. Entities that demonstrate effective self-regulation develop reputable currency brands, which should translate to better market access.  

The illustrated OCAUP currency activity and journal entry examples should help explain the “scoring rules/system” that tyaga is trying to establish. Speaking of scoring rules, I also drafted a game-design representation of tyaga’s information systems goals. The OCAUP document also has an attached table that compares mutual-credit accounting systems with OCAUP-based designs.