Archive for the ‘Development Update’ Category

Q4 2009 Goals

Wednesday, October 7th, 2009

For the rest of the year, I will investigate a substantially different approach to PaCT. I have learned important lessons while working on Prowl and PaCT this year, which has prompted a series of changes since early this summer.

The main lesson has to do with the importance of non-repudiation in a payment protocol such as PaCT. I have been trying to avoid designing PaCT around asymmetric encryption, with the idea that anything involving public key distribution, verification and revocation would lead to too much system complexity. Unfortunately, the ‘independent-witness-on-demand’ idea produces its own set of complexities while not giving as strong a sense of non-repudiation as a digital signature from each entity. In addition, it is more appropriate to move the concern of transparency to the separate stage of periodic report publication and audits.

I plan to revise code and documentation to reflect a refined strategy to be built around a core manifest or declaration document. Each entity with its own currency brand publishes a url to its manifest. The manifest will contain three main elements: certificate, accountant and report.

  • Certificate element: describes an entity’s public key and a list of certificate urls (x.509, pgp or some other format) for verification purposes. As with any pki or web of trust schemes, a seller must trust the issuer or endorser of the certificate and support the representation format used.
  • Accountant element: describes an entity assigned url for submitting transaction records. A designated accountant will be able to produce or verify digital signatures on an entity’s behalf. There may be a list of urls when different accountants are used for different currency units and transaction processing protocols.
  • Report element: describes the corresponding urls to a list of audited and pending reports. Child elements will include transaction period, currency unit, auditor, content-type, etc.

More details to follow in upcoming posts.

Q3 2009 Update

Thursday, September 24th, 2009

I have to admit that, instead of coding and doc’ing (documenting) indoors, I have been mostly enjoying the long string of sunny days in Seattle. The slowdown was prompted mostly by having a settled mind on the general course of action for this project. In particular, I am planning the information system around exploratory studies, and the earliest study is not likely to occur before the middle of next year. So while the expectations and excitement remains, the timeline for implementing currency ideas is not nearly as pressing as other project priorities this year.

In the meantime, besides sporadically working on the development of currency system tools, I will spend more time exploring the nuances and likely concerns in a trusteeship-based economy. For starters, I have written about addressing potential issues involving durable goods transactions. These analyses will likely come in handy when confronted with valid concerns and skeptical participants.

Q2-Q3 2009 Update

Thursday, July 9th, 2009

For Q2, I finished working on several documents as planned. The OCAUP document has been revised, and there are now more detailed presentations of the IS Plan and PaCT. The recent study plan outline rounds out the suite of documents that outline tyaga’s approach from core principles to initial packaging strategy.

For Q3, I will continue updating an accounting system to support the updated OCAUP model and PaCT payments. The Prowl protocol document will be overhauled to more fully explain the domain-as-currency-brand approach, the need for a simple payment witnessing protocol such as PaCT and reporting requirements regardless of the representation or content-type used (html, xml, json, etc.).

Hopefully, there will be packaged information systems ready for use in exploratory studies starting next year. To find out more, please read the study plan and a related post about currency indexes.

Study Plan for Currency Brand Indices

Thursday, July 2nd, 2009

I have taken a short break from coding accounting system and reporter features in order to present a rough vision for implementing the concepts and components that have been described in this site.  In this vision, the information system under development will be packaged for exploratory studies of dynamic currency brand indices.

All of tyaga’s work relates to the development of reliable and compelling currency brand indices. The impact of dynamic indices on the spread of ledger-based currencies will be comparable to the impact of search engines on the usability and growth of the Web. This is an optimistic statement that begs to be tested on empirical grounds. 

Of course, there are different ways to establish currency brand indices. Stephen DeMeulenaere / Strohalm publishes something similar once-a-year for complementary or alternative currencies, but the information is not sufficiently dynamic, and is neither easily auditable nor traceable to economic activities of market entities. When the “tower” analogy was posted in 2007, there were no apparent published efforts that appreciated the importance of this challenge. As a result, tyaga.org was established to actively research and develop strategic approaches for establishing dynamic brand indices. So far, the strategy involves the following concepts and components:

  • Prowl’s publisher-reporter emphasis encourages the simultaneous development of multiple index applications.
  • PaCT results in instantenously cross-verified and updated transaction information that indices could pull and evaluate
  • OCAUP facilitates audits and reconciliation of information in internal ledgers, published reports and indexed evaluation metrics. 
  • The concept of independent currency brands (ICB) promotes traceability to and indexing by specialized market entities, instead of communities-members or lenders-borrowers. 
  • The IS infrastracture plan and diagram present the conceptual separation of concerns
  • The Prism classification convention encourages new perspectives and critiques on currency design

The proposed study plan is one way to test the validity and effectiveness of various design elements, including tyaga’s assumptions made with regards to the design of information system.

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.

XML/JSON Representation of Prowl Reports

Tuesday, June 9th, 2009

In the current effort to prototype an accounting system with OCAUP and Prowl support, I have had to re-evaluate the  expected capabilites of reporter service providers. It seems appropriate to drop the expectation for reporters to parse published feeds or email for unmarked transaction records. Instead, an accounting system should be responsible for parsing record submissions through feeds, emails or http. The accounting system should then submit properly marked-up records to a reporter application.

This change implies that the earlier Blogger demo, which triggers a reporter ‘observer’ service through notification email, would not be supported by future Prowl versions. On the plus-side, Prowl reporters would become simpler and more flexible, especially in being able to accomodate different conventions, such as XML or JSON, when posting verified records into a report structure. Standard parsers for those report representations would make it easier to code auditor and evaluator features into reporter applications.

It is important to note that changes to query and report structures does not impact Prowl’s record publication syntax. A publishing platform such as Blogger would still be expected to publish records in a ‘canonical format’, which would simplify the cross-verification of matching copies from transactor domains.

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.  

IS Plan, PaCT and Kit

Thursday, April 23rd, 2009

The following documents are now available to help explain the Tyaga IS Plan:

In addition, there is now a packaged version of software code, tentatively named Kit, available for download. Kit is a revised version of an earlier Prowl reporter implementation for the Apache/MySQL/PHP platform. The packaged files are also browser-viewable - please browse the filenames for methods and code snippets that might interest you (such as parser.php and the svg-graphing functions.)  The Kit 0.2 package is not refined by any means, but it offers basic reporter functionalities.

I will begin writing use cases to illustrate independent currency brand support through the OCAUP accounting model. I’m also hoping to package an acounting system that I developed from last year in order to demonstrate not only OCAUP, but also built-in support for a protocol such as Prowl. 

Q1 Results: Updated Reference Documents and Slide Presentation

Monday, March 23rd, 2009

As was planned for this quarter, I have finished updates of key reference documents. The most satisfying updates were the ones for the Trusteeship-Oriented Currency Design slide presentation — adding links to the project’s Demo pipeline items just shows that persistence pays off, even if the some of the demo are still clunky. Luckily, more experienced coders are starting to arrive at the general design strategies that were employed in the demo and explained in posts and documents (see Prowl-Users forum).

I was not as productive towards other goals, but I really needed some time off from the project. I am also starting to reexamine my role in this endeavor. I taught myself to program so that I could prototype and demonstrate my currency design ideas, but recent events may require me to develop and focus on other skills elsewhere.

Q1 Goals and Plans

Tuesday, February 3rd, 2009

Before proceeding with publishing revised code, I’m hoping to clean up and reorganize the site this quarter. This will involve not only archiving older documents, code and posts, but also developing a strategy for building a repository of loosely-coupled, service-oriented components.

While I have looked into and could have tried various packaged web-application frameworks, I have not really been keen on features that mostly hide HTML and SQL coding to reduce programming at the expense of future flexibility and interoperability. For example, if I wanted to borrow or share components with others, I would prefer not being forced to install a whole framework package in order to do so. In other words, I would like to be able to cherry pick those tools that do not embed customized nomenclature and method calls in a project’s source code.

I will try to implement orthogonal design principles this year. I found good articles that reflect my preferred approach in articles from infoQ, dsonline, and artima.