Amint Overview

Purpose

The purpose of the system is to allow for the easy anonymous or pseudonymous creation and exchange of digital tokens or "coins". Of course, it is intended that someday someone will create coins that are actually "worth" something, that is, which can be exchanged for some sort of goods or services. However, questions as to the value of coins or how specifically to go about exchanging them for goods and services are outside the scope of the system.

An entity which creates coins is referred to as a "mint". Anyone who chooses to do so should be able to operate a mint. It should be possible (at least in principle) to operate a mint or exchange coins without revealing one's meatspace identity.

Coins are "signed" (for example using RSA) in order to verify that they were indeed issued by the issuing mint, and "blinded" in order to avoid the mint being able to identigy to whom the coins were issued.

Terminology

A coin is a digitally signed token.

A mint is an entiry that creates coins.

A merchant is an entiry that accepts coins (preumably in exchange for some sort of goods or services).

A customer is an entiry that pays out coins.

Trader is a term that encompasses merchants and customers.

A broker is a trader that exchanges coins from one mint with coins from another.

An unsigned protocoin is a blinded token provided by a merchant.

A signed protocoin is returned by the mint to the merchant.

A denomination or denom tells how many currency units a coin represents.

Design Considerations

Decentralization

There is to be no central authority to the system except in defining the communication protocols. In particular, there is nobody with the authority to assign (or deny) names.

Ease of use

It should be as easy as possible to be a user of the system (either as a mint or trader). Little if any knowledge of the underlying technologies should be required.

Security

There must be no security "holes" in the system itself. It can't be helped that users will have to be responsible for their own security for everything outside the system.

Openness

Protocols must be open. It must be possible for the user to only use open source code and run on open source platforms.

Platform Indpendence

In contrats to the above, people who like proprietary software must be able to use the system also. In particular, it must work for Windows and Mac users, since there are so many of them.

Flexibility

The system should not unnecessarily depend on any particular technology, and should be open to future expansion.

Applications

Although the system is utterly agnostic as to the particular uses to which coins can be put, it is necessary that the system can be used both by a (human) user directly controlling spending and by autonomous processes. This requires the abiility to create separate "wallets" which the human user can transfer coins between and restricting autonomous process's access to coins in a particular wallet.

Coin Ripping

The idea is that a coin can "ripped" into two pieces, each of which is worthless without the other. This idea can be used to make it impossible to profitably "cheat". A "customer" gives a "merchant" half a coin, the merchant provides some sort of good or service, and the customer delivers the other half the coin.