Table of Contents Back to the index

Introduction to Ricardo

What is Ricardo?

Ricardo is the core payments architecture that provides the framework for Systemics' digital money, financial trading, and messaging applications. It consists of the following major building blocks:

What is it Composed of?

Figure 1. Components - 3 party Payment Model

It consists of the following major building blocks:

WebFunds User Client: is an open source Java client program that allows users to hold value, transfer to accounts, and to trade financial assets. By downloading WebFunds, you can access the financial system based on Ricardo.

SOX : (Systemics Open Transactions) is a capabilities protocol that is tuned for passing value across the Internet. It is delivered as part of WebFunds.

Ricardo Issuance Server: The Issuance Server is an Internet server that accepts SOX requests for transfers of value. Requests are settled in real time (less than a second) and accompanied by a full audit trail.

What Applications are there?

On top of Ricardo, there are a number of applications that provide retail and financial trading.

Financial Trading: The Trader plugin to WebFunds is capable of submitting trades to the Exchange. Systemics' Exchange software is capable of accepting requests for trades that are matched and settled within real time.

Messaging: WebFunds, is now demonstrating a secure, reliable messaging system (email/chat) using the same SOX protocol as the core payments of Ricardo.

Corporate Issuance: Systemics has issued its own corporate currency for close trading partners, and internal accounting uses. This has resulted in the elimination of the accounts payables side, and some customers prefer to pay in our own unit of currency. The biggest result is a financing of working capital at 0% rates.

Retail: Intertrader, a payments system middleware builder, added Ricardo as one of their supported payment protocols to their CashBox retail payments product, thus making Ricardo available as a payment method for merchants.

Intellectual Derivatives: Innovative expressions such as tasks or ideas fit naturally into Ricardo's contract model. Task markets and ideas markets can permit wide groups of people to collaborate efficiently on projects without the administrative expenses normally associated with these projects.

Other applications are envisaged, and are being worked upon by independant parties.

What does Ricardo use?

In terms of the 7 layers of financial cryptography, Ricardo building blocks above build upon the following lower layer components:

Ricardo is a full suite of tools to allow electronic payments over the Internet. By means of the Ricardian Contract, it can be used to manage any financially fungible item. As well as cash, Ricardo can manage bonds and shares, loyalty systems, casino chips, etc.

What applications is it suitable for?

Ricardo shines wherever assets are required to be moved from place to place or user to user with a high degree of security, reliability and speed. As a real time payment system, it was designed to support financial assets trading, but can perform well in a broad range of areas:

What Types of Assets?

Many assets can in general be handled by the system. Whilst we are primarily interested in financial assets, anything that can be represented well in a contract signed by a Legal Issuer is possible.

The following have seen some service:

Who can Benefit from Ricardo?

Ricardo is a complete payment system that supports strong applications. Likely users would include:

and others.

Who uses Ricardo?

Ricardo has been used by:

Example contracts are set up under the auspices of the WebFunds project, and are listed on their Contracts Page.

What License Applies to Ricardo?

Licence can be licensed for a wide range of uses. Contact us for details.

What about WebFunds, SOX, Cryptix, FreeBSD?

WebFunds, SOX, Cryptix and FreeBSD are all published under open source conditions. See the site (click on the link) for conditions.

What Broader Documentation is available?

This is a multi-disciplinary field. Perhaps the best starting point is Financial Cryptography in 7 Layers. There is also now a FC Blog that covers by snippets many of the emerging trends.

What Support is Available?

A formal support contract can be obtained from Systemics. This is tuned to your requirements, as all sites have differing ranges of expertise and needs.

Who was David Ricardo?

Ricardo is named after the economist, David Ricardo, who developed the theory of comparative advantage. This theory says, in brief, that trade is mutually advantageous even when one party has an absolute advantage.

How Does It Work?

How do the Payments Work?

Figure 2. Payments in Ricardo

Ricardo uses SOX to provide secure payments between two clients. Each client can reach the server using SOX instructions.

A payment from one client to another is signed by the first. It can then be delivered directly to the server by the payer, or via some other indirect means such as email, to the payee user.

When the server receives the payment, it issues a receipt, which provides for the definitive transaction record.

How does a User access Ricardo?

There are currently these methods:

Figure 3. XML-X builds a Interface to Web

The Ricardian Contract

A Ricardian Contract is a textual file that is written by a Legal Issuer as a promise to holders of this contract.

As a contract, it expresses value, and is signed by the Legal Issuer. It might for example claim that each unit of this contract is worth a dollar or a gram of gold or a pint of beer. It would also be expected to describe why it is expected to carry that value. This is done by describing redemption details and handling of any assets backing (reserving) the contract.

There are some current contracts kept in a WebFunds Contract Store (mostly for convenience, the WebFunds project doesn't itself sign or support contracts). More information can be found on writing contracts in the Issuance FAQ and the Ricardian Contract Specification.

How is it formatted?

The contract format is somewhat special - it includes embedded symbols and variables that allow the WebFunds application to dive in and find specific information of a programmatic nature: the Ricardian contract is parsable by both humans and programs.

For example, a dollar contract has to specify the existence of cents. A Ricardian Contract simply indicates this such:


    ;  This currency is denominated in dollars,
    ;  with an underlying unit of contract of cents.

Which causes WebFunds to recognise that each unit is in fact a cent, and 100 of these units (or, 102) equals the displayed unit of account, being the USD or $.

More on formats can be seen at the Issuance FAQ.

How is the Ricardian Contract Digitally Signed?

Once we have the text of the contract written out, it is digitally signed by the Legal Issuer, the person who is standing behind the claim.

The Ricardian Contract is clear-text signed using OpenPGP signatures, which means that the signature is embedded in and around the contract, thus, it travels wherever the contract travels. Once signed, it can be verified as a document signed by the signatory anywhere across the web.

Then, once signed, we can identify the contract with a canonical message digest, a special hash formula that produces a number that is one to one with the contract.

What is SOX?

SOX is a protocol that presents cryptographically secure capabilities from client to server. Each capability has to be designed into SOX, for maximum security. SOX is distributed normally with a payments capability. Trading and messaging extensions have also been perfected.

Where is the doco on SOX?

More information on SOX is found in the SOX Page. Read SOX's Exec Summary, and (longer, more formal) Development of an Open and Flexible Payment System.

More information on SOX is found in the WebFunds SOX page.

Where is the doco on Cryptix?

SOX in turn is built upon Cryptix, a suite of libraries for strong crypto.

How Secure is it?

Ricardo is very secure. Read about security in the Security FAQ,

Copyright © 1996-2003 Systemics Inc. All rights reserved