Flows
flow = H(FLOW, asset, amount, edge_id, salt)
Two counterparties agree (asset, amount, edge_id, salt) off chain. The
producer lists the commitment in flows_out, the consumer in flows_in.
Direction is by slot, not by preimage, so both compute the same value and
neither reveals anything to the coordinator. A flow is the only thing two
fragments share.