IMO, kind 1064 and 1065 should be blocked by default in relay implementations as they are interntionally used to store files. Let relay operators actively decide if they want to store everyones files on their harddrive.
Discussion
Kind 1063 seems ok, as it’s basically like a mapping or lookup metadata event. It’s not designed to store data, but basic properties and how to fetch it elsewhere.
However kind 1064 storing files on relays is a bad architectural approach for a few reasons.
1. Events are stored in DBs today. DBs hate binary (in general). We have enough text based data to try make fast and efficient - especially when we 10-1000X.
2. Relays need to be lighter weight to minimise the cost of running them.
3. We don’t want to encourage the vector of DDOS or fill relays disk space denial of service attacks. Or even promote storing encrypted blobs of file chunks - like in DMs.
4. We need a general purpose distributed and decentralised file storage system anyway - Nostr can piggy back off it when we solve that problem.
5. Files create more attention for geographical regulation. Hosting issues. Vector of DCMA fraud. Etc.
The main issue today is client compatibility and breaking user experiences - with something that common sense tells us cannot scale or function as intended.