I always figured that
- Agents would act as competitive peers in a market.
- User software would communicate with multiple agents, and replicate accordingly.
Of course it need not be this way.
RE chains: A chain produces a time-ordered sequence of events. That's not storage and typically you don't need to store actual data in a chain, even if you do need time ordering. You just store a hash, then the data may be stored and proven as needed in any fashion. One might imagine software and agents competing to determine the best replication methods at the lowest cost.