Sample-Cheque
The inclusion of the transaction number onto the cheque was what made it possible to prevent double-spending of cheques (without having to use any other sort of "Cheque ID" or "spent cheque database".) But the user can request transaction numbers from the server ahead of time, and usually has a few of them sitting in his wallet. That way, he can write a cheque anytime he wants, offline and without any server contact, and the recipient can present it to the bank for payment at his leisure. Later if the recipient tries to present the cheque again, the bank sees that the same transaction number is no longer available on the payer's account (it got used the last time the cheque was presented), so it refuses the cheque.
I find cheques very interesting because you get a built-in receipt, and the money doesn't leave your account unless and until it is actually deposited or cashed. Cheques can even bounce, just like real cheques. Also: If the recipient never cashes your cheque, and it expires, then the money stays in your account. Whereas with cash, you have to remove it from your account before you can send it anywhere. And though cash is untraceable, the money is also lost if the recipient never deposits it. (Expired cash tokens revert to the server--the user is anonymous!) But with a cheque, you would keep that money...
All of the financial instruments have different properties... I invite you to check out the chart on the Instruments page and see for yourself.
SAMPLE CHEQUE:
-----BEGIN SIGNED CHEQUE----- Hash: SAMY <?xml version="1.0"?> <cheque version="1.0" amount="72" assetTypeID="XUHBvdsWAEmErZMzHaRKaNPaAVsUvKwL4uLY4nOY2s4" transactionNum="343" serverID="44FmyPAgrmGu671RywGnhrt8aR6tzmNFn9WKQ92BXn" senderAcctID="PhmhKernutijMa2XXxH1dZnTluIDQUVn1tifSOq9H4x" senderUserID="Bg2QrSTomOEU5ICfvhfYfBYxQZPktDSnaVPpMLYxUnz" hasRecipient="true" recipientUserID="Bg2QrSTomOEU5ICfvhfYfBYxQZPktDSnaVPpMLYxUnz" validFrom="1281783321" validTo="1281783921" > <memo> eJzzSC1KVShPVUjPV0hMT8zMU2QAADncBbg= </memo> </cheque> -----BEGIN CHEQUE SIGNATURE----- DYPJjCc9LIpz/9B8aBPDrVsJBtvjt+737rWiMDDVYAhcnvb+PAuI4K3sM49W/WYJ DKVKA9bawxd4w7KWlmibYM5X8nYr40s+H+6dyvD5C1mXAg1jjlm+XWl/JtvVxP2w /DCmXPXgukYppTSkgHIrYn7E/Ong3nh62fGDwU+Aqfw= -----END CHEQUE SIGNATURE-----
INVOICES An invoice is actually just a cheque with a negative amount. When a creditor hands you an invoice, it's your choice whether to present it at the bank and run it through one of your accounts. (To pay it.) If you do, then the funds are transferred and a receipt is dropped into your inbox.
VOUCHERS A voucher is also a cheque, but it's drawn on a server account instead of a personal account. It's like a cashier's cheque. You withdraw funds from your account, but instead of giving you cash, the money is transferred to one of the bank's accounts, and then you are issued a cheque drawn against that account.
Vouchers have slightly different properties than cheques. They are more trusted, because they never bounce. (Often, if you bounce a cheque, a creditor will demand a cashier's cheque to settle payments in the future. Why? Because they are more trusted...) A voucher allows you to "pay by cheque" while at the same time, pulling the money out of your account immediately into a trusted form. Vouchers have the same receipt properties as any other cheque. See the chart on the Instruments page for more details.
SAMPLE VOUCHER:
-----BEGIN SIGNED VOUCHER----- Hash: SAMY <?xml version="1.0"?> <cheque version="1.0" amount="73" assetTypeID="XUHBvdsWAEmErZMzHaRKaNPaAVsUvKwL4uLY4nOY2s4" transactionNum="417" serverID="44FmyPAgrmGu671RywGnhrt8aR6tzmNFn9WKQ92BXn" senderAcctID="khlj2LLL9EYxPimNR4yAYDDzO5QzSg7LSxxsGc1RpsP" senderUserID="LG4bi40PAw6vlkU5TXiphXqmEELf3k1gjMsKQVjw7SE" hasRecipient="false" recipientUserID="" validFrom="1281868590" validTo="1297420590" > <memo> eJwLzyzJSClKLFcIyy9NzkgtslJQ4HIqrczMS1dIVCiDiOkoFGfkl+akKJTnF2Ur MgAA18ERtQ== </memo> </cheque> -----BEGIN VOUCHER SIGNATURE----- HNufQ742X0pMwu5rQwtHQVXeQ0rJ9fu2ZirZ0rdTy9RXhSTWQY4YNR6F8YWScIfZ /dv+mW8LNg5eUCBmSiDEN0jLLImEnVY2wpVtqAxMGGbXxHxU9yI7RbsvSBxQHKTd tok7Sqn2syMlnAufszo+ScRXuvPWC8K51KgPxXTvBJI= -----END VOUCHER SIGNATURE-----