Is it safe to use HD Key Derivation with bip-schnorr? The bip mentions that you should not throw away the first byte of a generated key.
It is important to not mix up the 32-byte bip-schnorr public key format and other existing public key formats (e.g. encodings used in Bitcoin's ECDSA). Concretely, a verifier should only accept 32-byte public keys and not, for example, convert a 33-byte public key by throwing away the first byte.
Later in the bip, it mentions that you should do this when doing HD key derivation.
Link: https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki#public-key-generation
Alternatively, the public key can be created according to BIP32 which describes the derivation of 33-byte compressed public keys. In order to translate such public keys into bip-schnorr compatible keys, the first byte must be dropped.
It sounds like its safe for the prover to drop the extra byte but not the verifier. Is this correct?