Model for separation of duties in issuance of digital bearer certificates
also known as, the Systemics collaborative mint arrangement
This paper assumes the reader is familiar with digital bearer certificates (DBC), the history of such ventures as Digicash, Cybercash and Millicent, and more recently, metals-backed currencies such as GoldMoney and e-Gold. Basically, a DBC is an encrypted and/or signed data file, that is a sort of warehouse receipt for some valuable thing such as currency or gold, the ownership of which is registered in an issuance server someplace. Beyond that, there are a number of models by which DBCs are transferred (spent) from one party to another.
The model describes five roles, which form a generalized framework for the establishment of internal control over various risks to users of DBCs. It is offered as a potential starting point for discussion of more rigorous regimes of internal control, capable of achieving robust digital cash within webs of trust both within central issuance servers and decentralized P2P communities of issuers.
This model disregards DBCs having no issuer, since data itself is meaningless without a redeemer of last resort. This model is is a trust model which focuses on the Issuer, as the first mover, the redeemer, and the sole "executive" in control of creation of DBC.
Here is a high level overview of the 5-role model:
At the bottom of this page, please review the draft contract between Issuer and the Mint Trustee in an actual issuance (PicoIPO). Below, is a UML sequence diagram of the duties of the Mint Trustee (me. )
When the other guys clarify exactly what their duties and procedures are, I will be happy to produce additional UML diagrams.
Meantime, the following is one evidence relied upon by the Mint trustee. This is a balance sheet report from the Issuance server which is operated by the operator. The hash values illustrate that Issuance server knows any particular Webfunds client instance, such as the Webfunds hash identity of the Mint and Manager. Once the Mint and Manager person accept their roles, their accounts on the Issuance server are "switched on" at the server to give them special powers nobody else has: the Mint person can create unbalanced entries out of nothing, using Webfunds client. If anybody other than Mint (SHA#98e...) tried to create a payment with Webfunds, in excess of their balance in their Webfunds wallet (value of instruments he has been paid), they would of course be rejected by the issuance server. Manager's special powers includes being able to receive payments invented by Mint. Money invented by Mint can only be given to Manager. Server software does not allow Mint to make any payments to anybody other than Manager.
Systemics Issuance
Server
Trial Balance
Issuer: PicoIPO SHA:e7897df4fea3375ba1de4b0f13e91891988d8bf8
| Account | (hash?) | Debits | Credits |
| Mint | SHA#98e5dc60064a3bc5d0c0155daac2d41c9b8ac1b2 | 9000.0 | |
| Manager | SHA#5da519dc95d663088e027e119b462d716e497b68 | 9000.0 | |
| Counts | credit 2 | 1 | 1 |
| Balance Sheet Total | 9000.0 | 9000.0 |
Here is another evidence relied upon by the Mint trustee. The Mint confirms that real metal has been bailed into the warehouse (the Repository) as backing for the PicoIPO DBC:

Here is what the Mint Trustee's desktop looks like after creating a DBC data file with the WebFunds program in the first window, and depositing the payment into my own wallet. Nobody else could do this act, except the WebFunds instance identified by the Issuance Server as that of the Mint Trustee. If anybody else tried to create a payment in excess of the money in their wallet, they would get an error message. (The Issuance Server also will NOT allow the Mint Trustee to make any payment to anybody whatsoever, other than the Manager within the 5-role model, i.e. the Manager of the minting process.)

1. This is an agreement between PicoIPO Ltd (the "Issuer") and
Todd Boyle (the "Mint").
1.a The date of this agreement is .......
2. Mint agrees to the following:
2.a Mint will create a WebFunds account specially set aside
for the creation of float.
2.b Mint will duly notify the Issuer, and thus the Operator,
of the account's details, generally by sending a zero payment.
2.c Mint will only create float as per instructions from the
Issuer.
2.d Mint will write payments for the generation of float
only to the instructed manager's account.
2.e On receipt of instructions, Mint will compare the request
to the terms and conditions of the named Ricardian Contract as a
sanity check.
2.f payments sent back to the Mint for the purpose of retiring
float will be returned to the Mint account.
3. Issuer agrees to the following:
3.a Issuer will instruct Operator to set the Mint account as
capable of creating float.
3.b Issuer will send signed instructions for creation of
float, including target account of Manager.
3.c All instructions will be sent in accordance with the
Ricardian Contracts so named.
4. Both sides agree that
4.a The users are a part of the auditing process, and are encouraged
to participate.
4.b In general, the relevant auditing information is to be made public.
5. In compensation, the Issuer will ....
Signed,
Todd Boyle Bob Nugent,
Mint for PicoIPO.
Below this line under construction. Don't go there.

1. RM/ODP Use Cases between Issuer, Mint trustee, Manager, Repository, and server Operator
Terms of reference:
Instrument - the digital bearer certificate signed and/or encrypted in a file, named for whatever thing is represented by the Ricardian Contract encrypted within the DBC file. For example, within the context of DBC issuance, "gold" might be a DBC or digital warehouse receipt for real gold. Specifications and definitions of Ricardian Contracts are at http://www.systemics.com
Instrument Ledger - the double-entry accounting system which is maintained by an Issuance Server in order to keep track of outstanding DBCs for a particular Instrument.
a. Use
case: Operator creates an instrument in an Issuance Facility
Community:
|
|
||
| Actor: Issuer |
Actor: Operator |
Actor: Application |
| as role: initiator of an instrument |
as role: instrument issuance host |
as role: system |
Goal/Postcondition
A new instrument ledger has been created inside the Issuance Facility.
The new instrument ledger contains no transactions.
Operator has admin rights to the new instrument ledger in the Issuance Facility owned by the Operator.
The new blank instrument ledger implements the initial default instrument ledger definition requested by the Issuer, i.e. either the internal default of Issuance Facility design i.e. a blank instrument and chart of accounts, or alternatively, for example,
- an instrument ledger definition provided by the Application the Issuer is using, for example, specifying the instrument, national currency and/or a vertical industry chart of accounts required by the Issuer's Application or community, or
- a custom an instrument ledger definition containing particular currency structure, chart of accounts, periods, or other options desired by the Issuer.Roles
Operator as owner of an Issuance Facility
Issuance Facility as system
Application as system
Preconditions
A standard Issuance Facility exists and is running in a computer, maintained by a Issuer.
Issuer has a software application capable of connecting to the Issuance Facility in the SOX protocol, such as WebFunds application.
Issuer has used the client software application to enter the necessary currency or instrument name, or optionally, prepared a custom instrument definition.
Steps
Optionally, the Issuer composes a custom instrument definition, containing for example, a chart of accounts, etc. using any editor before starting to create an instrument in Issuance Facility.
Issuer connects with the Issuance Facility using some piece of software.
Issuer invokes the function provided in the Issuance Facility for creating one or more new currencies.
Issuer supplies the instrument name and other information required to create an instrument(s)
Issuer executes the function of the Application designed for the purpose of sending these parameters and information to Issuance Facility and invoking the Issuance Facility function to create an instrument(s).
Trigger
The trigger is when a function is executed within the client application such as a clicking on a CREATE button at a GUI, which invokes the "Create Instrument" function on the Issuance Facility's user interface.
Main Success Scenario
A new instrument was created by Issuance Facility.
Issuer's employee logins in successfully upon his first effort using the Issuance Facility using some client application.
Issuer's application works immediately upon its first effort connecting programmatically, with the Issuance Facility to use instrument interfaces.
The design or implementation of the Issuance Facility imposed no unnecessary requirement for any technical skill, accounting skill, or expenditure of time or labor by any Issuer or Issuance Facility owner to get the blank instrument started up.
Extensions
Test Specification
Open Issues
b.
Use case: Issuer creates an instrument within an Issuance Facility Provider (IFP):
Community:
|
|
|
| Actor: Issuer |
Actor: Issuance Facility Provider (IFP) owner |
| as role: subscriber |
as role: publisher |
Goal/Postcondition
Issuer has admin rights to one or more new blank currencies in Issuance Facility Provider (IFP).
The new blank instrument contains no transactions.
The new blank instrument(s) implement one of two options: the internal default of Issuance Facility design i.e. a blank instrument and chart, or an instrument definition requested by the Issuer, such as the following examples.
- a default instrument definition provided by Issuance Facility Provider (IFP) for example, having default national currency or a vertical industry chart of accounts, or,
- a custom instrument definition containing particular instrument structure, chart of accounts, periods, currencies, and other options desired by the Issuer.
Roles
Issuer as subscriber, creating a new instrument.
Issuance Facility Provider (IFP) owner as publisher, creating and granting admin rights to a new instrument.
Preconditions
A IFP satisfying the business and technical etc. requirements of the Issuer exists.
A standard Issuance Facility exists, running in a computer, owned by a IFP.
Issuer wants to start using the Issuance Facility Provider (IFP) to maintain an instrument.
A communications channel exists between Issuance Facility Provider (IFP) and the Issuer sufficient to pass administrative control of the instrument from the Issuance Facility Provider (IFP) to Issuer, and exclude unauthorized access, etc.
A user interface such as a browser or dedicated client, is provided by the IFP for the purpose of collecting the instrument name and optionally, the instrument definition from the Issuer and pushing these data into the IFP's Issuance Facility.
Steps
Issuer contacts owner of the Issuance Facility Provider (IFP) by some means and establishes the rights to use the IFP, for example, by paying the IFP.
Issuer connects with the Issuance Facility Provider (IFP) as administrator, using some piece of software, for example, a browser, or accounting application provided by the Issuance Facility Provider (IFP).
Issuer invokes the function provided by the client application Issuance Facility Provider (IFP) for creating one or more new currencies.
Issuer supplies the instrument name required to create an instrument(s), and other information optionally allowed to create an instrument(s)
Issuer executes the function on the user interface provided by the Issuance Facility Provider (IFP) designed for the purpose of sending these parameters to Issuance Facility and for invoking the Issuance Facility function to create an instrument(s).
Issuance Facility Provider (IFP) owner responds by creating one or more new currencies in the Issuance Facility.
Issuance Facility Provider (IFP) returns success or failure acknowledgement to its client application inside the IFP
The IFP application hurls an HTML page or other response to the browser or other client operated by the Issuer.
Trigger
The trigger is when a function is executed within the client application such as a clicking on a CREATE button at a GUI, which invokes the "Create Instrument" function on the Issuance Facility.
Main Success Scenario
Blank instrument was created and provided by Issuance Facility Provider (IFP) owner.
Issuer's employee logins in successfully upon his first effort using the Issuance Facility Provider (IFP).
Issuer's application works immediately upon its first effort connecting programmatically, with the Issuance Facility.
The design or implementation of SOX compliant Issuance Facility imposed no unnecessary requirement for any technical skill, accounting skill, or expenditure of time or labor by any Issuer or Issuance Facility owner to get the blank instrument started up.
Extensions
Test Specification
Open Issues