marmot-protocol/marmot#13
I found an issue with encodings... in welcome events and key packages events we're hex encoding the serialized welcome/key_package object but that basically doubles the size of the payload. If we used base64 instead it would only be a ~33% increase in size vs ~100% increase.
we're already using base64 for the kind:445 event content field (because we're using NIP44 style encryption there) but with KeyPackage and Welcomes we're hex encoding instead which is probably just wrong. 🤦♂️
This is obviously a breaking change to the protocol but I think it's worth doing now. The size of Welcomes, in particular, is a bottleneck. As group size goes up, the size of the payload goes up proportionally. We really don't want to add extra overhead with a poor encoding choice.