Skip to content
rev22 edited this page Aug 6, 2012 · 6 revisions

Minimal DU

There are two important objects in the system, signed, exchanged, stored and verified: coins and transactions.

A coin is a point in a 4 dimensions system:

  • currency
  • member
  • month
  • column (corresponding to a 2^n value)

A transaction contains:

  • a recipient
  • coins
  • a signature

In each case, minimalist data is:

Coin

Currency is generally implicit, as a coin is always considered in an environment. A coin can thus be represented as (PGP_Key_Fingerprint-month-binary column).

In these examples, for brevity, a PGP Key ID is used, instead of a full fingerprint. In the real currency a full fingerprint is necessary to ensure protection against forging attacks (a 64-bit key id could be broken via a birthday attacks in about 2^32 operations).

A sample coin of value "4" (= 2^2) would be (FB29CDDA17A7E2AE-1110-2)

Of value "32" (= 2^6) would be (FB29CDDA17A7E2AE-1110-6)

Of value "64" (= 2^7) would be (FB29CDDA17A7E2AE-1110-7)

In YAML format, it could be formatted as {{{{ member: FB29CDDA17A7E2AE month: 1110 value: 7 }}}}

Transaction

It can be formatted as follow:

  recipient
  currency name
  coin 1
  coin 2
  coin 3
  signature

Sending 100 units of "imaginary" money to user FB29CDDA17A7E2AE, in YAML format:

  to: FB29CDDA17A7E2AE
  currency: imaginary
  coins:
    - FB29CDDA17A7E2AE-1110-2
    - FB29CDDA17A7E2AE-1110-6
    - FB29CDDA17A7E2AE-1110-7
  signature: PGP signature
Clone this wiki locally