If Alice requests something to bob, then Alice sends her public key and Bob encrypts message by using Alice's key.

Bob uses his private key and hash function to make a signature. After finishing this procedure, Bob sends encrypted message with signature.

At last, Alice decrypts message and put it in hash function and she compares output with decrypts signature.

This is what I understood about transaction.

But When transaction is waiting in memory If someone changes a content of signature by using bob's public key How miner know it is wrong signature?

To compare message with signature, miner needs Alice's private key. But miner doesn't have.

Is there other way to compare signature with encrypted message?

  • 3
    There’s literally no encryption in bitcoin anywhere.
    – Claris
    Mar 18, 2019 at 7:05

1 Answer 1


The process you described is not what happens in Bitcoin. It is loosely what happens with software like PGP which use public-key cryptography to provide various security benefits when sending e-mail messages.

In either case, you don't use a private-key to verify the integrity of the data-content.

In the case of something like PGP, the recipient can use the sender's public-key to determine whether the signature was produced by the corresponding private key from the received message contents.

In the case of Bitcoin, any bitcoin node can verify any transaction in the blockchain using only data in the blockchain. For details of the principles you could read Satoshi Nakamoto's original whitepaper or online resources such as


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.