@boscolo.eth
Love to see the experimentation. Some thoughts:
1. Have you considered using FIDs (maybe by supporting FIP256) instead of creating yet another ID system (MIDs)? With FIP256, you could could support FIDs as they currently exist while extending the ability to register them on different chains. (Maximize N²)
2. You should look into how AT Protocol message signing and lexicons work. One mistake FC Protocol made was to rigidly bake message types into the protocol. Limits the types of apps that can be built with premature ossification.
3. I would ditch the concept of rent. Since the content of the messages themselves aren't being stored onchain, renting blockspace that holds only the pointer to the content feels half pregnant to me.