簡體   English   中英

可以使用比特幣地址來驗證使用給定私鑰進行的簽名嗎?

[英]Can a Bitcoin address be used to verify a signature made with a given private key?

問題:我有一個比特幣地址,即 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm。 我有一個私鑰列表,我不確定這個地址是從哪里派生出來的。 我想找出這些私鑰中的哪一個導出了該地址(通過公鑰)。 對於上面的地址,私鑰是 1 (00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0)。

根據我的理解,有多種從私鑰派生公鑰的方法(ECDSA 是最常見的,但也是 HD/BIP 32 | https://en.bitcoin.it/wiki/Private_key )。 然后,根據公鑰,可以生成一個 BTC 地址(通過多次散列和其他操作 | https://en.bitcoin.it/wiki/Address ),這使得無法從比特幣地址中找到公鑰.

如果我的上述假設是正確的,我的問題是:是否仍然可以驗證私鑰和比特幣地址之間的關系?

我想用私鑰簽署一條消息並使用公鑰來驗證它。 由於我沒有公鑰,我必須從私鑰中推導出一個,然后生成一個比特幣地址來與我擁有的地址進行比較。 但是,如果地址是使用 HD/BIP 32 方法生成的呢?

PS:我使用 BouncyCastle 和 NBitcoin 庫來運行測試。

如果您正在使用 Bitcoin Core 並且想知道屬於您的地址之一的私鑰,請轉到控制台或使用 RPC 並調用dumpprivkey "myaddress"

並以 WIF 格式拋出私鑰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM