如何證明錢包所有權?
語境
我想驗證存在
A
是否可以訪問錢包,因此想要求他們向我以外的人擁有的特定錢包地址支付最低金額,例如,我給1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
存在的簽名。ThisIsUnexpected``A
我認為基本概念很簡單,如果
A
同意,他們會與我分享他們的比特幣錢包地址:being_A_bitcoin_wallet_address
. 接下來,我將與being 共享預期的簽名和選定的收件人地址(例如1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
)A
。然後, BeingA
向1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
. 交易完成後,我查看收到的捐款的交易歷史記錄,1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
並找到由 進行的交易being_A_bitcoin_wallet_address
。接下來,我查看該特定交易的簽名並驗證它是否為:ThisIsUnexpected
. 如果交易確實有那個簽名,我有很高的確定性可以A
訪問being_A_bitcoin_wallet_address
,我可以驗證他們的資金數額。挑戰
雖然這個想法可能相對簡單,但我在執行過程中遇到了一些挑戰。
為了測試驗證程序,我想我會查找該地址的過去交易的簽名。因此我去了:https ://www.blockchain.com/btc/address/1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa並查看了交易列表。在撰寫本文時,這是最近的交易,所以我想我也許可以
Sigscript
將交易的 (索引為 1)放入此簽名驗證工具中以獲得人類可讀的簽名。但是,該工具似乎沒有提供人類可讀的簽名,我也不知道我選擇的任意交易是否包含類似“Thank you Satoshi”的簽名。題
我如何實際驗證比特幣交易的簽名(如果有的話)?
子問題
我認為這個問題可以細分為以下子問題:
- 如何驗證任意交易是否包含人類可讀的簽名?
- 我應該使用交易數據的哪些資訊來獲得交易簽名的人類可讀形式?
- 哪些線上資源可用於驗證簽名?
- 是否有提供函式的python腳本:
being_has_access_to_wallet(claimed_wallet_access_address, recipient_wallet_address,human_readable_signature, amount=0.0001)
返回True
或False
使用類似於塊瀏覽器的東西?
如何驗證任意交易是否包含人類可讀的簽名?
沒有“人類可讀的簽名”之類的東西。簽名只是一個非常大的數字。或者我們可以將其視為一對非常大的數字。通常我們用十六進制編碼它,所以它看起來像 3044022007ae5e36b79303f992e153798061458b435d34285c5fddc20655451ac71b49f6022079421d162cad51db0daa0a934cbf5261d4b503f1851604e
我應該使用交易數據的哪些資訊來獲得交易簽名的人類可讀形式?
輸入腳本
哪些線上資源可用於驗證簽名?
Google“ecdsa 線上驗證簽名”。但我不確定這些資源是否適合驗證比特幣簽名。