Disclaimer: I work there. Very exciting to see it open-sourced!
day1: ledger A and B strike a deal to bet on the 6M Libor fix in 3 months time.
day 91: Libor fixes much higher than expected thanks to a continually robust IPO market and strong economy (but mostly the former.
In any event Ledger A now owes B 1,000 coins, but A only has 250 coins in its ledger. What happens? Is a partial payment done, or because this is a smart contract a Slack message is automagically sent to lawyers and/or collection agents?
The advantage of e.g. Ethereum blockchains is that defaults don't happen the assets are held by the contract. The drawback is that your assets are locked up for the duration of the contract, which is completely incompatible with how wholesale finance operates.
DAML's genesis was in solving this problem on private ledgers used for mediating inter-party value exchange of off-ledger assets (like dollars). To do that, rather than having an account or asset focus, it's built around the notion of rights, obligations, and enforcing a legally-compatible approach to contractual consent.
That is so that, when a "workflow" (e.g. your LIBOR swap) terminates, DAML provides a fully audited record of all the parties' agreement to be bound by the terms and consequences of the workflow itself. All being well there's an exchange of assets off-ledger. If things turn out badly, you go to court and the default is worked out with the backing of a rock-solid audit trail of affirmation (instead of a loose-leaf binder of printed emails and a dog-eared ISDA agreement.)
(I work for DA.)
So if this is true, one could never write a call option on Ethereum because the downside risk for the writer is unbounded and you cannot put infinite coins in escrow.
As an aside, given the escrow component, there seems to be no credit/counterparty risk in any ETH smart contract, but for the most part if there is not risk transfer or sharing is there really any commerce to do?
They are useful is situations where an actor would benefit from altering the result of the computation, or masking values. The primary use case that I've seen is for escrow payments with Ether, the Ethereum blockchain's native currency.
They trade processing speed for finality and verification of results.