dzham
Thank you for this complete answer. It helps me thinking about it.
I totally agree that this should be implemented in horizon as well.
I think the first official reason not to do that was to preserve ressources.
However, alternatives use more ressources or are redundantly implementing a side-network. So this "pushing outside" the problem can't really lead to a satisfying solution.
Making a side-network have the main issue of not having the same level of trust and security than the blockchain itself, making the feature half-implemented. For this reason, I think we should not aim for such solution on the long term.
Putting data's on the block chain is like using validators network, except the data are not cleaned after being used. This is cumbersome and doesn't makes much sense. For this reason, this should not be the final solution either.
Hopefully having a less-than-optimal solution running on the blockchain will show that:
- It's not so difficult to implement into the network itself.
- There's a demand for it.
- It doesn't use so much ressources than one would think.
The storage issue may then push the dev to implement it properly in horizon, if the system proves usefull.
Of course this is pure speculation. I'm only trying to clarify my views about it.
I mostly agree with what you said. I still think the on-chain solution is a desirable fallback solution for a lot of users. I would say your rationale seems to make more sense from a developer point-of-view; Meaning: if they had to choose, lot of users may prefer a full on-chain solution than a split system, even if it is not optimal as a design.
I can tell people with high-speed automation would need something another network, though.