I believe a practical and successful digital cash protocol and (open source) software tools should have these 10 features:

  1. True digital cash (not based on anonymous accounts; each bit of money is a self contained encrypted string)
  2. No theoretical possibility of a 51% hack (decryption and digital theft are the only points of failure)
  3. Truly anonymous transactions (no theoretical possibility of identifying users by matching transaction tables to purchases)
  4. No transaction fees
  5. No central authority (this does not necessarily mean a peer-to-peer network)
  6. Open protocol, open source (can be improved and extended over time)
  7. Supports any existing currency and any user can start a new currency (no core currency; seamless automatic currency conversions)
  8. A currency can be optionally backed by services, commodities, IOUs or anything else
  9. Providers of virtual products backing a currency can optionally remain anonymous
  10. The system supports a digital version of free banking  (open entry; features such as bank clearing markets)

The Open Transactions (OT) protocol already supports most of these features. And in some ways can do even more than I envisioned when I wrote down these 10 requirements (before I had heard of OT). In particular, OT can easily be extended to support any type of financial contract (such as futures, options, loans, interest, stock) plus it can support the basic elements of a market (i.e. various types of buy/sell orders).