Suppose you\'re representing cash on the Corda ledger using cash states. How does a network participant exchange their cash states for traditional cash?
Firstly, we need to explain how cash states are created on the ledger initially. The mechanism is for an issuing bank to set aside a cash deposit in the traditional banking system, and issue itself cash states of an equal amount and currency on the ledger using a Cash.Issue
transaction.
The issued cash states can then be transferred between parties on the ledger via Cash.Move
transactions. It is not necessary to reflect these movements of on-ledger cash states in any way in the traditional banking system.
Suppose Alice eventually wants to redeem some of her on-ledger cash states for cash in the traditional banking system. How does she achieve this?
Cash.Exit
transaction. This transaction consumes the existing cash state as an input, without creating a corresponding output cash state. This transaction requires a signature from Alice, the issuing bank and the associated notaryCash.Exit
transaction
Cash.Exit
command (we will need to add a field for this in the future), or the bank could maintain an internal database mapping node identities to bank accounts