Let me clarify the question a bit more: “cross-shard transaction lost” means that the destination shard cannot find the output of the cross-shard transaction from the source shard, where the output may be called “receipt” or “deposit” (or more general, cross-shard transaction message) in different languages.
If cross-shard transaction is lost, it means the nodes of the destination shard cannot access the block data of the source shard. In our current design, we suggest
- All nodes running a full node (as defined in Secion III-D of the Boson paper) and thus unless all nodes are down, any node can access source shard data. The network will probably start like this when the shard numbers are small. Note that such node can be implemented as a cluster so that the node itself can scale horizontally;
- A node may just run a partial node that only runs part of shards, which do not include the source shard. To access the cross-shard tx, this node will be a light-client of the source shard.
Furthermore, I would project the network in the long term may look like from https://ethresear.ch/t/some-observations-on-eth2-0-validators-and-super-full-node/6241?u=qizhou:
And some details of guarantee of some important properties cross-shard transaction can be found here https://ethresear.ch/t/moving-eth-between-shards-the-problem-statement/6597/8?u=qizhou:
Please let me know if this answers your question. Thanks!