Have the bank also provide a withdrawal server.
To make a withdrawal a customer must:
- Identify him/herself.
- Specify the amound to withdraw (in one of a
relatively small number of provided denominations).
- Present a signed serial number encrypted with a
key unknown to the bank.
The bank must:
- Verify that you have the money,
- Sign the encrypted certificate with the key
for the denomination requested.
The customer must then decrypt the message so that it
is now simply double signed by the bank.
Anyone you try to pay with this money can:
- Use the banks public keys to determine the
denomiations.
- Ask the bank if it is still valid by sending
the bank the serial number.
- Deposit it in their own account by sending the
message to the bank and identifying themselves.
(At this point, the bank will mark the serial
number as "spend/invalid").