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