Issue summary
If we in the future support Schnorr signatures over proposals we should ensure we build up the proper methods for verifying those signatures. Currently, everything is verifying against ECDSA signatures.
I think that it would be wise to have a signature type on the Proposal object to identify what signature a proposal is expecting. This way we can match over verifying it with the right scheme.
Other information and links
There are other areas of the codebase to ensure match with new schemes. Things like key storage, compression/uncompression of keys (if those same topics exist with other schemes). We should go through the codebase and find this logic to generalize over.