getE = function(r, P, message) {
  const n = Point.getN();
  const hash = new TaggedHash('BIP0340/challenge', Buffer.concat([r.toBuffer({ size: 32 }), P.x.toBuffer({ size: 32 }), message])).finalize();
  return new BN(hash).mod(n);
}
Verify a schnorr signature
@param {PublicKey|Buffer} publicKey
@param {String|Buffer} message Hex string or buffer
@param {String|Signature|Buffer} signature Hex string, Signature instance, or buffer
@returns {Boolean}
@link https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki#Verification