Context
I would like to verify being A
has access to a wallet and hence would like to ask them to pay a minimum amount to a particular wallet address owned by someone other than me, e.g. 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
, with a signature ThisIsUnexpected
that I gave to the being A
.
The basic concept I believe is quite simple, if being A
agrees, they share with me their bitcoin wallet address:being_A_bitcoin_wallet_address
. Next, I would share the expected signature, and selected recipient address (e.g. 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
) with being A
. Being A
then pays a minimal amount of bitcoin to 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
. After the transaction is completed, I look at the transaction history of the received donations to 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
and find the transaction made by being_A_bitcoin_wallet_address
. Next, I look at the signature of that particular transaction and verify it reads: ThisIsUnexpected
. If the transaction indeed has that signature I have a high certainty being A
has access to being_A_bitcoin_wallet_address
and I can verify their amount of funds.
Challenge
Though the idea may be relatively simple, I am experiencing some challenges in the execution.
To test the verification procedure, I thought I would look up the signatures of past transactions to that address. Hence I went to: https://www.blockchain.com/btc/address/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa and looked at the list of transactions. At the moment of writing, this is the most recent transaction, so I thought I could perhaps take the Sigscript
of the transaction (with index 1) and put it into this signature verification tool to get a human-readable signature. However that tool does not seem to provide a human-readable signature, nor do I know whether the arbitrary transaction I selected contains a "Thank you Satoshi"-like signature.
Question
How could I practically verify the signature of a bitcoin transaction (if it has one)?
Subquestions
I think this question could be segmented in the following sub-questions:
- How can I verify that an arbitrary transaction contains a human-readable signature?
- Which information of the transaction data should I use to obtain a human readable form of the transaction signature?
- Which online resources could be used to verify a signature?
- Is there a python script that provides a function:
being_has_access_to_wallet(claimed_wallet_access_address, recipient_wallet_address,human_readable_signature, amount=0.0001)
that returnsTrue
orFalse
using something like a block explorer?