prop321 (happy families): alternative migration path
prop321 proposes 2 migration schemes:
- having happy-families relay generate an old style family line for the transition period
- somehow generating an happy family line from the families present in the consensus
The latter, while better in result, seems to be a very hard problem to implement in practice. The former means as long as we accept some old clients, the micro-descriptors will stay bulky.
I'd like to propose a 3rd scheme, which isn't a technical solution, but a planning solution:
Implement the client side of happy families early (in both c-tor and arti), so that with a high likelihood most clients are already ready for happy families when the work on relay/authority starts.
i believe this to be reasonable to do because the client part should be the simplest. It's mostly parsing new lines in descriptors/microdescriptors, and adding additional strcmp to the family check code (whereas relay requires additional configuration, cryptography, possibly some complexity in the code dedicated to migration, the need for a new tool to create the family keys...)