比特币的私钥可能被暴力破解吗?

其他9个月前发布 币圈直通车
297 0 0

有外媒报道Large Bitcoin Collider(LBC)公司,已经通过暴力成功破解比特币钱包。据LBC发起人表示,他们的软件已经生成了3000万亿条密钥,这些通过与现有存在的比特币钱包比对,目前有30个匹配,而真正匹配的比特币钱包密钥是3个。

Plutus 比特币暴力破解器

暴力破解随机钱包地址的比特币钱包碰撞器

如果您有LinuxMacOS操作系统,则需要 libgmp3-dev。如果您有Windows,那么这不是必需的。通过运行命令安装:

sudo apt-get install libgmp3-dev

安装

git clone https://github.com/Isaacdelly/Plutus.git plutus
cd plutus && pip3 install -r requirements.txt

快速开始

python3 plutus.py

概念证明

私钥是允许使用比特币的秘密数字。如果钱包中有比特币,那么私钥将允许一个人控制钱包并花费钱包中的任何余额。因此,该程序试图找到与余额为正的钱包相关联的比特币私钥。然而,由于无法知道哪些私钥控制有钱的钱包,哪些私钥控制空钱包,我们不得不随机查看每一个可能存在的私钥,希望找到一个有余额的。

这个程序本质上是一个暴力破解算法。它不断生成随机的比特币私钥,将私钥转换成各自的钱包地址,然后检查地址的余额。如果找到有余额的钱包,则将私钥、公钥和钱包地址保存到plutus.txt用户硬盘上的文本文件中。最终目标是从现有的2 160个可能的钱包中随机找到一个有余额的钱包。

怎么运行的

32 字节的十六进制字符串是随机生成的os.urandom(),用作我们的私钥。

使用 python 库将私钥转换为各自的公钥fastecdsa。这是执行 secp256k1 签名最快的库。如果您在 Windows 上运行它,fastecdsa则不支持,因此我们使用它starkbank-ecdsa来生成公钥。binascii使用标准库将公钥转换为比特币钱包地址hashlib

该项目包含每个资助的 P2PKH 比特币地址的预先计算的数据库。生成的地址在数据库中查找,如果发现该地址有余额,则将私钥、公钥和钱包地址保存到plutus.txt用户硬盘的文本文件中。

该程序还通过multiprocessing.Process()函数利用多处理来进行并发计算。

效率

这个程序需要0.002几秒钟的时间来暴力破解一个比特币地址。

但是,通过multiprocessing.Process()为您的计算机拥有的每个 CPU 创建一个并发进程。所以这个程序可以以秒级的速度暴力破解单个地址0.002 ÷ cpu_count()

数据库常见问题

离线数据库用于查找生成的比特币地址的余额。访问/database获取信息。

参数

该程序有可选参数来自定义其运行方式:

help :python3 plutus.py help
打印参数及其工作原理的简短说明

timepython3 plutus.py time
暴力破解一个地址并记录花费多长时间的时间戳 – 用于速度测试目的

详细:0 或 1
python3 plutus.py verbose=1:设置为 1 时,每个被暴力破解的比特币地址都将打印到终端。这有可能减慢程序速度

python3 plutus.py verbose=0:设置为 0 时,程序不会向终端打印任何内容,暴力破解将静默进行。默认详细设置为 0

substring : python3 plutus.py substring=8: 为了使程序内存高效,整个比特币地址不会从数据库中加载。仅加载最后一个 <substring>字符。这显着减少了运行程序所需的 RAM 量。如果您仍然遇到内存错误,请尝试将此数字变小,默认情况下它设置为 8。这使我们很容易得到误报(空地址被误认为是资金),概率为 1/(16^<substring> ),然而,它不会让我们容易受到误报(资助地址被误认为是空的),所以这是一个可以接受的妥协。

cpu_count ::python3 plutus.py cpu_count=1同时运行的核心数。更多核心 = 更多资源使用但更快的暴力破解。省略此参数以最大内核数运行

python3 plutus.py verbose=0 substring=8默认情况下,如果未传递任何内容,程序将使用 using 运行。

预期产出

如果找到有余额的钱包,则有关钱包的所有必要信息将保存到文本文件中plutus.txt。一个例子是:

hex private key: 5A4F3F1CAB44848B2C2C515AE74E9CC487A9982C9DD695810230EA48B1DCEADD
WIF private key: 5JW4RCAXDbocFLK9bxqw5cbQwuSn86fpbmz2HhT9nvKMTh68hjm
public key: 04393B30BC950F358326062FF28D194A5B28751C1FF2562C02CA4DFB2A864DE63280CC140D0D540EA1A5711D1E519C842684F42445C41CB501B7EA00361699C320
uncompressed address: 1Kz2CTvjzkZ3p2BQb5x5DX6GEoHX2jFS45

比特币的私钥可能被暴力破解吗?
比特币的私钥可能被暴力破解吗?
本文中提供的信息仅供参考
,告知 Internet 用户
其隐私面临的潜在威胁。作者不鼓励任何人
从事计算机黑客或其他非法活动。
分享到
© 版权声明
广告也精彩

相关文章