实施蛮力算法从 BIP39 种子中找到三个缺失的词

Implement a brute force algorithm to find three missing word from BIP39 seed

我丢失了 nano ledger 硬件钱包的 24 个单词种子短语中的 3 个中间单词。

举个例子(不是我真正的助记词)

pledge horror unfair category a.... xxxxxx a...... core abuse tenant crew captain insect angry again deposit detail similar arrest kind copy pony door brass

所以我知道位置 5 和 7 中缺失的单词以 a 开头,而我对第 6 个单词没有任何线索。

我确实知道我在 2017 年使用的以太坊 public 地址,但我不确定我的 BTC 地址。

我相信破解助记词是可行的,但由于我不是程序员(我在 python 数据科学方面处于初级水平)我不知道该怎么做。

到目前为止,我探索了:

有谁知道如何实际解决这个问题? 我知道这个问题的理论解决方案是微不足道的,但我需要实施它,这对我来说远非微不足道。

使用其中之一,我见过有人使用求解器服务器破解了缺少 8 个单词的帐户。

BIP39-Solver-CPU:这是他用 Rust 编写的 CPU 基准工具,用于了解解决 CPU 问题需要多长时间未知单词数。

https://github.com/johncantrell97/bip39-solver-cpu

BIP39-Solver-GPU:这是他 运行 在每个工作 GPU 上解决这个问题的实际 GPU 版本。

https://github.com/johncantrell97/bip39-solver-gpu

BIP39-Solver-Server:这是他 运行 负责将工作分配给所有工作人员的实际服务器。

https://github.com/johncantrell97/bip39-solver-server

只需将 BTCRecover(我在这里更新的分支:https://github.com/3rdIteration/btcrecover)与所有默认值一起使用,除了添加 --big-typos 3

当系统提示您输入种子时,只需用 X 代替无效词即可。 (任何占位符都可以,只要它不是 BIP39 字)

如果您甚至有点不确定您的地址,运行 它一次(与您认为的一样),如果它没有找到任何东西,运行 它针对 AddressDB。 (https://btcrecover.readthedocs.io/en/latest/Creating_and_Using_AddressDB/)

无论哪种方式,每次都需要几天时间来搜索所有可能的种子,因此就种子回收而言非常简单。