I can definitely see the appeal to use a DAML ledger for data transfer. You don’t have to mess with key management, compatible encryption libraries, or finding external services to store the data and channels to transfer it. You get data tranfer, privacy and non-repudiation practically for free (and with something like Canton you even get end-to-end encryption). And Luciano’s approach should conceptually have a reasonable cost.
But I agree with Bernhard that right now you should (or even have to) avoid using the ledger for large data, given our stack. gRPC is one reason, but in Canton we also currently store all contract data twice, once in the Ledger API server, and once in a Canton-internal DB. We’ll might move away from this design at some point, but not in the forseable future. Furthermore, since we also ship contract data around, you have to be careful with delegated choices and divulgence, as your transactions might blow up in size enormously.