Unidirectional payment channels are currently live on Ethereum. Here's a full explanation of those, along with bidirectional and networked channels, with Solidity sample code: http://www.blunderingcode.com/a-lightning-network-in-two-pag...
I guess I've been misusing the term "ledger." You're exactly right for Ethereum. Bitcoin has transactions with "unspent outputs." Each transaction can have multiple inputs and outputs; to make a transaction you collect unspent outputs from previous transactions, use them as your inputs, and typically make two outputs, one to the payee address and one that holds the change.
> (Your analogy to a ledger with account balances is precisely correct for Ethereum, but Bitcoin actually has a somewhat different model.)
My understanding is that in bitcoin it's a log of transactions -- a ledger. Ethereum is instead addresses holding totals -- more like an account statement.