It's an interesting and frustrating problem. I think there are three potential ways forward, but they're both flawed:
-
Quasi-Centralization: a project like Mastodon or a vetted Non-Profit entity operates a high-concurrency server whose sole purpose is to cache link metadata and Images. Servers initially pull preview data from that, instead of the direct page.
-
We find a way to do this in some zero-trust peer-to-peer way, where multiple servers compare their copies of the same data. Whatever doesn't match ends up not being used.
-
Servers cache link metadata and previews locally with a minimal amount of requests; any boost or reshare only reflects a proxied local preview of that link. Instead of doing this on a per-view or per-user basis, it's simply per-instance.
I honestly think the third option might be the least destructive, even if it's not as efficient as it could be.
It's a different approach with different ideas. It uses open protocols, focuses on data and account portability, and incorporates peer-to-peer concepts in its architecture. The vision behind Bluesky is to build a global square with these concepts.
I definitely wish they would've extended ActivityPub and collaborated on the wider network, but I kind of understand wanting to start from scratch and not get involved with the cultural debt Mastodon brought to the network.