This file describes the high-level requirements
in non-technical terms for the EGT system,
including E-Gold, DigiGold and CMCF concepts.
Requirements
Structure
E-Gold
Issuers of E-Gold are
known as Reserve Institutions.
Strictly speaking, issuers is an inappropriate
term, but from the software point of view, there
is no distinction. Here, I'll stick to the
software usage.
Following notes apply:
-
There are multiple Reserve Institutions.
-
E-gold can be atomically transferred
by users
between Reserve Institutions as well.
-
Reserve Institutions should be
legally distinct entities,
geographically and jurisdictionally
distributed.
-
Reserve Institutions must be auditable
by <someone> to ensure successful
execution of contractual obligations
to holders of E-Gold.
As an assumption, all reserve institutions
are settled via one system, and this is operated
by EGT. This permits, at least, that users
can transfer assets amongst different RIs.
CMCF
A CyberMetal Credit Facility (CMCF) must be able to:
-
issue own debt to raise funds for loaning out.
No particular fashion but it is envisaged to be negotiable certificates.
-
A CMCF can take deposits.
This is financially the same as the issuance of own debt.
-
A CMCF can make loans.
-
A CMCF can securitize the issue of small borrowers.
-
A CMCF must be able to create multiple digital instruments,
preferably on the fly.
-
Must be capable of publishing the complete
balance sheet for a currency.
CMCF should be able to securitize an asset from
a single party for the purpose of floating that
asset as certificates.
E.g., the Berkshire-Hathaway idea.
DigiGold
DigiGold certificates are
-
negotiable,
-
branded (as DigiGold),
-
fractionally reserved,
-
redeemable in e-gold,
-
redeemable according to contract stated by issuer,
-
suitably audited for redemption performance,
-
unit of account is oz-e-gold,
or similar E-Gold metal.
-
may be cleared through third party CMCFs,
-
meant to be used as a currency,
-
should not be defradable.
This means probably accounts are not
temperable by the CMCF
(tamper-resistant hardware or distributed).
What is a 100%-backed-by-e-gold certificate?
How and what is suitable auditiability?
Is this a process of working at a bunch of ideas,
or of specific requirements?
Transactions
DigiGold Transaction
A transaction using the DigiGold certificate should
meet these requirements:
-
Provide non-repudiable receipts, that are
-
checkable by at least a TTP or the client, and
-
atomic, and therefore idempotent and cancellable,
E-gold Transaction
E-gold transactions are
-
push - in that the payer must initiate,
-
payer must authenticate,
-
transactions are not roll-backable,
-
and therefore, authentications must be strong.
-
available both to humans and programs
(web and API interfaces), as it is assumed
that some access for running DigiGold issuance
will be program-driven.
-
accounting supports transactions costs
and other statistical methods (e.g.
balance).
-
capable of being costless for designated
accounts and/or transactions.
Big question of solvency - how to measure and enforce.
CMCF Transactional System
The CMCF has conventional accounting
systems for borrowers with tailored
loans, etc.
deposit of DigiGold and E-gold.
This is standard accounts.
The User
The client software must provide the
following user requirements.
-
There must be only one class of user
(no purchaser-merchant distinction).
-
The user must be able to receive and
process a payment in an automated fashion.
This is the merchant-wallet.
-
The wallet must store a processed payment
in safe storage.
-
The system must not require
identifying information (of either party)
in order to effect a DigiGold transaction.
-
The system may provide a method of identifying
the payer to the payee. This is for the
purposes of authenticating a merchant as
a trustworthy recipient of purchasers' funds.
-
The system
must be able to create a non-revocable
payment.
-
The system must shield a purchaser-user
from the distinction between
different contracts issued in the same
unit of account... The method of this
shielding is deliberately not specified
(because the obvious will not work...).
The DigiGold Wallet
The Wallet requirements for the DigiGold system include
-
Access to (individual) contract summations must be provided.
-
There must be at least one
wallet choice available that keeps
history and makes it available for client software,
and one choice that does not keep any history.
This could either be by
options or distinct software packages.
-
The wallet must use Ricardian contracts.
These are contracts which are identified
by a hash of a document that provides for
(legal) contractual and (technical) access
details.
-
The Wallet should be Open Software.
-
CMCF is only required to live up to ???
-
Wallet must take appropriate security
measures to ensure protection of
assets and records.
(Appropriate is implementor-dependant.)
-
Wallet may request authentication
of some form from the user.
E.g., passphrase.
-
The Wallet must provide stream output and
input for export and import of payments.
( This feature is for the ascii-armoured
payments that can be cut-and-pasted and
mailed between users, see client ).
The Client
The client is the user program that uses the wallet
to access the protocol and value core.
Basic client includes:
-
The client must provide the following
information:
-
-
A balance for individual contracts.
-
A consolidated balance
for groups of assets, where
a given unit of account should
be a group under this definition.
This may be summed according to
some unspecified algorithm, where different
contracts imply distinct underlying
values.
-
A consolidated asset value may
be presented, where sufficient information
is available for conversion between dissimilar
underlying assets (e.g., gold and silver).
It is not at this stage specified if this information
needs to be provided under option or configuration
control.
-
history of digigold transactions
may be provided,
-
Must provide choice of history on or off.
(I.e., stores audit trail on or off.)
-
Should include:
- some authentication method for
payer-authentication of payees.
-
Should be capable of handling multiple wallets.
-
Raw application included in all clients is
export and import of value in ascii data message.
Need to consider how to do multiple
wallets standards.
Auditing
The issuance of DigiGold implies a level of auditing
by (any?) external parties.
The values to audit should include:
-
Size of Reserves held at E-Gold.
The question here revolves around how
to make sure that those funds do in
fact form redemption reserves for any
given issued contract.
-
Quantity of issued certificates against those
reserves.
The question here is basically how to ensure
that the issuer's accounting system reveals
the truth about this number.
-
Summed or otherwise camoflaged values of
redemptions and deposits?
Redemption
There can be redemption by one or more
methods. The following is required.
-
There must be a method by which the client
can return DigiGold to the issuer
(as identified in the Ricardian contract)
in return for the underlying asset
(being E-Gold metal transfer).
-
An exchange (or secondary market) should
be provided to permit the client to trade
the DigiGold for other DigiGold assets or
some other asset.
This is in addition to the direct redemption
into E-Gold, above.
-
An issuer may provide
some other method as
specified by the contract between the holder
and the issuer. This is not specified.
Primary and Secondary Market
Primary and Secondary market - distinction
lies in one of initial distribution of
issue to customer base versus the trading
of issue on an exchange.
At this stage, no particular support for
a primary market is envisaged. Is this
nieve? It is mostly a customer base concern.
OTOH, a secondary market is envisaged, as
and when the clients and wallets are capable
of performing the appropriate protocols.