How does Kaspa verify a signed message?

Kaspa verifies a signed message by hashing it with BLAKE2b and then running a Schnorr signature check against the signer's public key. When an application needs to confirm that someone controls a particular private key, it asks them to sign a raw message. To check the result, the verifier first hashes that raw message using BLAKE2b with a 32-byte digest and the domain tag 'PersonalMessageSigningHash' — exactly the same hashing step used when the message was originally signed — then passes the output to Schnorr verify along with the public key. The function returns true if the signature is genuine, false otherwise. For a beginner, the takeaway is that this two-step process (hash then verify) is what lets a Kaspa app prove you own an address without you ever exposing your private key.

Learn more ›