Wallet

在不信任第三方的情況下生成比特幣私鑰和公鑰(如紙錢包)

  • March 6, 2022

我想擁有一個比特幣錢包(公鑰和私鑰),而無需:下載 BTC 區塊鏈(由於我的國家網路速度慢、磁碟空間低、網際網路昂貴)信任任何程序、應用程序、網站,… 購買冷錢包(資金不夠,對我來說不賺錢) 解決辦法是什麼?你真誠的Maysam

我不明白你如何在不信任任何程序的情況下做到這一點,除非你手工完成或編寫自己的程序(這可能會依賴於另一個程序)

更實用的解決方案是使用一些程序來生成您的密鑰,但在氣隙電腦中使用它,以防止它竊取您的密鑰。

您將不得不信任某些程序,例如您的作業系統。由你決定,但我有兩個建議,使用比特幣核心(不下載區塊鏈),或者只使用帶有 binascii、hashlib 和 base58 庫的 python。

比特幣核心方法:

我想說,如果你想要一個信任度最低的密鑰對,下載比特幣核心,並且在它仍在同步時,你可以轉到 Window->Console,然後輸入命令:

getnewaddress

它將輸出一個比特幣地址。

然後獲取私鑰使用 dumpprivkey

dumpprivkey 3SomeBTCAddress...

保存輸出。然後,您可以在您的 PC 必須下載整個區塊鏈之前關閉所有內容。

====

Python和16面模法:

您可以使用 16 面骰子創建​​一個長度為 64 的十六進製字元串,該字元串可以轉換為 WIF 私鑰。將 16 面骰子滾動 64 次,將 (10 - 16) 轉換為 (a - f)。

import hashlib, binascii, base58

dicerolls = "0123456789abcdef000000000000000000000000000000000000000000000001"

pkeyvbytes = "80"+dicerolls

firsthash = hashlib.sha256(binascii.unhexlify(pkeyvbytes)).hexdigest()

secondhash = hashlib.sha256(binascii.unhexlify(firsthash)).hexdigest()

createkey = pkeyvbytes+secondhash[:8]

WIF = base58.b58encode(binascii.unhexlify(createkey))

print(WIF)

引用自:https://bitcoin.stackexchange.com/questions/112217