Ricardian Contract
   HOME

TheInfoList



OR:

The Ricardian contract, as invented by Ian Grigg in 1996, is a method of recording a document as a
contract A contract is a legally enforceable agreement between two or more parties that creates, defines, and governs mutual rights and obligations between them. A contract typically involves the transfer of goods, services, money, or a promise to tran ...
at law, and linking it securely to other systems, such as accounting, for the contract as an issuance of value. It is robust through use of identification by
cryptographic hash function A cryptographic hash function (CHF) is a hash algorithm (a map of an arbitrary binary string to a binary string with fixed size of n bits) that has special properties desirable for cryptography: * the probability of a particular n-bit output re ...
, transparent through use of readable text for legal prose and efficient through
markup language Markup language refers to a text-encoding system consisting of a set of symbols inserted in a text document to control its structure, formatting, or the relationship between its parts. Markup is often used to control the display of the document ...
to extract essential information. A Ricardian contract places the defining elements of a legal agreement in a format that can be expressed and executed in software. The key is to make the format both machine-readable, such that they can easily be extracted for computational purposes, and readable as an ordinary text document such that lawyers and contracting parties may read the essentials of the contract conveniently. From a legal perspective, it has been claimed the use of
markup language Markup language refers to a text-encoding system consisting of a set of symbols inserted in a text document to control its structure, formatting, or the relationship between its parts. Markup is often used to control the display of the document ...
embedded within a mostly legal prose document can lead to reduced transaction costs, faster dispute resolution, better enforceability and enhanced transparency. From a computing perspective, the Ricardian contract is a
software design pattern In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code ...
to digitize documents and have them participate within financial transactions, such as payments, without losing any of the richness of the contracting tradition. Publication of the content and reference to that content by the unique cryptographic message digest is claimed to prevent frauds based on multiple presentations. The method arises out of the work of Ian Grigg completed in the mid-1990s in contributions to Ricardo, a system of assets transfers that was built in 1995-1996 by Systemics and included the pattern. The system and the design pattern was named after
David Ricardo David Ricardo (18 April 1772 – 11 September 1823) was a British Political economy, political economist. He was one of the most influential of the Classical economics, classical economists along with Thomas Robert Malthus, Thomas Malthus, Ad ...
in honour of his seminal contribution to
international trade theory International trade theory is a sub-field of economics which analyzes the patterns of international trade, its origins, and its welfare implications. International trade policy has been highly controversial since the 18th century. International ...
.


Definition


Diagram

The Ricardian contract separates the agreement of parties across time and domain. On the left of the "Bowtie" representation, the negotiation and formation of a legally binding contract leads to a single parent document that defines all of the intent of that agreement. On the right, the performance of that agreement might involve many transactions to be accounted for, logically separated from the meaning of the issue. The join between the legal world and the accounting world is formed by the hash — each transaction locks in the terms and conditions of the precise deal of the parties by including the hash of the contract in every relevant transaction record, yet the operation of the transactions and the issuance of the contract are cleanly separated and thus perverse incentives are eliminated.


Legal relationship

The role of the Ricardian contract is to capture the contractual relationship between contracting parties to assist later performance of that contract by programs. In its contractual form, it is the recording of an offer from an issuer to a holder. The offer is signed digitally within the format by the offerer, typically using a plaintext digital signature such as provided by
OpenPGP Pretty Good Privacy (PGP) is an encryption program that provides cryptographic privacy and authentication for data communication. PGP is used for signing, encrypting, and decrypting texts, e-mails, files, directories, and whole disk partitio ...
. The acceptance of the
contract A contract is a legally enforceable agreement between two or more parties that creates, defines, and governs mutual rights and obligations between them. A contract typically involves the transfer of goods, services, money, or a promise to tran ...
is typically formed by signing/agreeing to a transaction that refers to the hash of that contract. Within the context of a high-performance payment system, a secure payment will cite the hash of the contract of the instrument being paid, as well as paying and payee parties and a quantity of units. In a
smart contract A smart contract is a computer program or a transaction protocol that is intended to automatically execute, control or document events and actions according to the terms of a contract or an agreement. The objectives of smart contracts are the re ...
s system, the acceptance would be performed by operating the contract's code to move the state of the agreement forward.


Signing and intent

Typically, the signing of the contract by any party is overtly performed by use of a private key. The original offerer's signature is typically over the original document, and is then appended to form a fully binding, readable offer for the assets described in the document. Later participation by parties in the contract such as payments or smart contract performance will typically sign over a hash identifier (as generated by a
cryptographic hash function A cryptographic hash function (CHF) is a hash algorithm (a map of an arbitrary binary string to a binary string with fixed size of n bits) that has special properties desirable for cryptography: * the probability of a particular n-bit output re ...
) over the signed original document. In contrast to the initial signature, the use of the hash of the contract within following transactions also signals intent, and forms a covert signature over the contract. Although private key signatures are well studied and are subject of legal frameworks such as the European digital signature directive, Grigg suggests that the trail of hashes – entanglement – forms a more effective evidence of intent than a private key signature.


Variations

If the agreement is more complicated than a single document can describe, the documents can be chained: An acceptance of an offer can be a Ricardian contract that includes the hash of the offer, or the acceptance can include the entire contents of the earlier phase, a design pattern known as Russian dolls used by both OpenTransactions and
OpenBazaar OpenBazaar is an open source project developing a protocol for e-commerce transactions in a fully decentralized marketplace. It uses cryptocurrencies as medium of exchange and was inspired by a hackathon project called DarkMarket. History Ami ...
. These referral patterns can be conducted multiple times to create a chain or hierarchy of elements.


Formats

A relevant decision is choosing a representation of the text such that markup can be included to assist the software agent while maintaining readability. To be a Ricardian contract, it has to be parsable both by the program and by a human reader. "Readability" is necessarily defined relative to some viewing interface. Embedded markup systems such as XML are commonly viewed not as "raw source", but with much richer formatting applied. Jurists need not view "raw" JSON, LaTeX, or XML any more than Web users must view raw HTML or hexadecimal PNG images. Some visually impaired readers necessarily use very different interfaces. Even "plain text" editors differ in the treatment of haracter setsand haracter encodings OS-specific line-ends, fonts, tabs, wrapping of long lines, etc. Even a simple text editor can be hacked to mis-display text in a desired way, just like any other software can. But with standard, non-binary data representations underneath users can compare multiple viewing solutions, and with text-based representations as opposed to
binary file A binary file is a computer file that is not a text file. The term "binary file" is often used as a term meaning "non-text file". Many binary file formats contain parts that can be interpreted as text; for example, some computer document fil ...
s it is practical to check the source document directly when desired (or, as commonly done, to view fully-formatted and raw views simultaneously). An ideal document format should also support a
canonical form In mathematics and computer science, a canonical, normal, or standard form of a mathematical object is a standard way of presenting that object as a mathematical expression. Often, it is one which provides the simplest representation of an obje ...
hash (
cryptographic hash function A cryptographic hash function (CHF) is a hash algorithm (a map of an arbitrary binary string to a binary string with fixed size of n bits) that has special properties desirable for cryptography: * the probability of a particular n-bit output re ...
), that is, have a way of delivering a hash over contents that does not change due to common
serialisation In computing, serialization (or serialisation) is the process of translating a data structure or object state into a format that can be stored (e.g. files in secondary storage devices, data buffers in primary storage devices) or transmitted (e ...
and transmission artifacts.
LaTeX Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latexes are found in nature, but synthetic latexes are common as well. In nature, latex is found as a milky fluid found in 10% of all flowering plants (angiosperms ...
and
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
are suitable because their source is generally readable by humans, and they have widely-available renderers. XML also has a standardized
Canonical XML Canonical XML is a normal form of XML, intended to allow relatively simple comparison of pairs of XML documents for equivalence; for this purpose, the Canonical XML transformation removes non-meaningful differences between the documents. Any XML do ...
form which is specifically designed to facilitate cryptographic hashing, and neutralizes minor syntactic variations such as insignificant whitespace, platform-specific line-ends, order of attributes, etc. Popular formats such as
JSON JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other ser ...
and Semantic Web formats are often, though not always, much less readable in raw form to non-programmers such as jurists, and much more subject to unbounded syntactic but not semantic variation.


Relationship to smart contracts

Smart contract A smart contract is a computer program or a transaction protocol that is intended to automatically execute, control or document events and actions according to the terms of a contract or an agreement. The objectives of smart contracts are the re ...
s, as defined in the work of
Nick Szabo Nicholas Szabo is a computer scientist, legal scholar, and cryptographer known for his research in digital contracts and digital currency. He graduated from the University of Washington in 1989 with a degree in computer science and received a Ju ...
are an abstract concept relating to the automated performance of an already agreed contract, whereas the Ricardian contract is a design pattern to capture the intent of the agreement of the parties, before its performance. By means of hashes within as references or links to external documents, above, the Ricardian contract form easily extends to refer to code. The explicit referral to the code can pass legitimacy from overarching legal prose to the code, thus implementing the concept of the smart contract. Refactoring to describe blockchains and to integrate references to smart contract logic created a hybrid version of the Ricardian contract. This form proposes a tuple of where the parameters can particularise or specialise the legal prose and the computer code in order to create a single deal out of a template or library of components. Also known as a Ricardian triple, it can describe blockchains, smart contracts, IoT devices and persons.


Intellectual property

The Ricardian contract is free of any intellectual property restrictions, other than the request that any implementations cite the author and link to the paper. It was fully published as design and implementation in 1996, and was described in an academic paper presented in 2004. No patent or other intellectual property mechanism was ever asserted by its inventor, Ian Grigg nor by Systemics.


References

{{Reflist Financial cryptography Cryptocurrencies Financial technology Decentralization