I have been studing ECDSA signature/verify for a while. By my understanding: the standard ECDSA signature/verify process are like something as below:
A sender combines message and its ECC public key (pk), do hash, then using ECC sk (private key) to generate signature; it then append the signature with the message (ECC pk include), send all these to receiver;
The receiver do ECDSA verify by using the ECC pk, the message and the signature output true or false;
My 1st question is, for EOS a signature verify looks not likely align to a standard ECDSA signature verify--does EOS adopt some simplified signature verification algorithm (due to 0.5s Block producing timing, this have to be done as quick as possible)? if it does, what kind modification was put?
In a EOS node, it need to do several ECDSA signature verify: 1). Check each Tx signature--from code it call lib called get_signature_keys, which from name like simply recover the pk? and follow up by a routine naming as check_authorization (this does not like a real signature verification); 2). Check a Block's signature, this routine however, looks likely a real ECDSA signature verify (verify_signee);
My 2nd question: I know BTC/ETH may adopt quite different method as they are PoW so each miner must do signature verification for each Tx inside a block, but as they have much more time (several minutes) than in EOS, they would be using the standard ECDSA verification?