LIMB
Вход Регистрация

тема

Seed-phrases. Ищем как выжать максимум. Часть I.

lisa99 · · 0 ответов · 891 просмотров

статья была написана для форума хсс (оплачена админом, 150 долларов обе части+ донаты). Так как некоторые статьи отсюда публикуется на xss, то вполне допустимо перенести статью сюда  (куда уж эти статьи только не переносили).

1. Цели и задачи​


Основные цели статьи: систематизировать информацию по seed-фразам, показать новичкам (в этой теме) какими могут быть нестандартные подходы к получению балансов, поднять вопрос о качестве отработки данных.

Задачи: рассмотреть способы получения дополнительных сид-фраз, ключей, балансов из существующих мнемоник на примерах, а также некоторые вопросы классификации и валидации сид-фраз.

Все скриншоты - с личных устройств, все установленные кошельки сгенерированы и после публикации статьи будут удалены (то есть сид-фразы, прив.кеи, адреса останутся без балансов).

Все утверждения о кошельках проверены непосредственно (десятки скачаны). Почти все рисунки (схемы) оригинальные.

Сервисы, упоминаемые в статье, перечислены в конце настоящего текста (второй части).

Новички часто задаются вопросом - можно ли заработать на паблике? И хотя все написанное ниже не о/для публичных данных, можно будет сделать выводы в конце статьи.

Факты. База в 6 млн сид-фраз из паблика (форумы), скинутая в здесь в ЛС юзеру («я простой отраб») принесла 300 баксов - с его слов, за счет мощного софта.

Ну и второй пример , что может дать поиск из паблика (да, с ловушками, мусором, мультисигами и проч., проч.)

Не удалось прогрузить медиа


Рис.1 Найденная из паблика сид-фраза в кошельке Guarda​


Статья задумывалась как для новичков, так и для тех, кто в целом в теме, но непрофессионал в отработке, при этом готов заняться кодингом лично на себя и возможно отдать остатки на отработку в сервисы.

Надеюсь, что написанное поможет расширить кругозор, нарастить балансы, осознать что ожидать от баз, отданных на проверку и возможно, потестировать сервисы.


2. BIP-39 и понятие валидности seed-фраз​



Большая часть добытых фраз состоит из 12 слов, реже 24, и намного реже из 15 слов в формате BIP-39, самом популярном на сегодняшний день.
Заглянем в софт для поиска сид-фраз GitHub - xssis/seed-parser _github.com/xssis/seed-parser:

Программа производит рекурсивный поиск парольных фраз от криптокошельков внутри файлов, проверяет их валидность (т.е. выдает только те фразы которые удовлетворяют стандарту bip39) и выводит парольную фразу и путь к файлу в котором она была найдена. Валидация фраз на соттветствие стандарту bip39 производится с помощью библиотеки из репозитория аппаратного криптокошелька 
trezor


Вполне себе типовое решение. Сид-фразы у автора валидны только если соответствуют BIP-39. Понятно, почему:​
​
а) проще программный код валидации, в паблике представлены множество вариантов реализации​
​
б) большинство кошельков действительно используют BIP-39,​
​
в) фильтр в этом формате избегает выдавать тонны мусора из случайного набора слов, чем порой грешит различный софт файлграбберов.​


Намного меньше конкуренция и больше шансов найти приятные суммы, если работать с невалидными фразами, которые не очень интересны тем, кто сидит на потоке прибылей от EVM-сетей и отбрасывает фразы, проверка балансов которых затруднена.

Однако, кто-то может возразить, что даже непосредственная отработка отработанного (экспроприированного) в самых разных направлениях намного полезней и даже привести примеры из паблика вроде этих - под спойлером: полумертвые токены, ханипоты, призрачный стейкинг, мифические и не очень эйрдропы и проч., проч. Может быть и так.

Спойлер

Не удалось прогрузить медиа
​


Рис.2 Распространяемые сид-фразы. Цель заработка — поймать нубов на оплате за газ (автовывод заберет)

​

Не удалось прогрузить медиа
​

Рис.3 Картинка с debank.com. Здесь на самом деле пусто

​

Во вложении - файлик с этими кошельками. Внимание — много левой инфы, заодно и примеры как debank.com может выдавать недостоверные балансы (устаревшие данные) .

Исходим из того, что абсолютное большинство фраз действительно относятся к BIP-39. Однако, если фраза не из BIP-39, то еще не значит, что перед нами мусор. Не все кошельки (и блокчейны) поддерживают BIP-39.​

Общеизвестным контрпримером, того что все современные "валидные фразы" исключительно формата BIP-39 является Электрум. Последняя версия генерирует мнемонику

"blue spider alarm beyond isolate rent ordinary service want fragile invite pumpkin"

- ее проверка покажет невалидность в отношении BIP-39. Другие рассмотрим ниже (п.4.).

До сих пор используются варианты brainwallet-а в том или ином формате, где исходной фразой может быть что угодно, а не слова из строго утвержденного списка. 


Не удалось прогрузить медиа


Рис.4 Сид-фраза из произвольных слов​



"QWERTY ..." стало рабочей сид-фразой современного кошелька, то есть адреса, привязанные к ней в блокчейнах (BTC, ETH, ATOM, etc) сгенерированы и представлены в интерфейсе.

А вот еще пример. Мнемоника даже из 26 слов.

Не удалось прогрузить медиа

Рис.5 Кошелек Zana

​

Что это значит на практике? Наверное то, что в результате отработки заказчику должен быть отдан не только отчет о балансах, но и архив с невалидными фразами.

Выводы. (1) хороший чекер должен откладывать невалидные фразы в отдельную папочку для последующей обработки и папочка должна храниться; (2) Невалидные к BIP-39 фразы, но похожие на мнемонику, нуждаются в своей классификации (да, откровенного мусора тоже хватает, который банально удаляется).

​

3. Под капотом криптокошелька: простая мнемоника и кривые вычисления​


Немного самой базовой информации, максимально сжато, о которой нельзя не написать- для дальнейшего и потому что на форумах поднимались соответствующие вопросы, которые хочется закрыть в начале статьи по-простому.

Самый распространенный протокол BIP-39 работает так (тоже упрощенно):

- энтропия (в криптографии): очень большое случайное число,

- мнемоническая фраза: формируется в соответствии с энтропией из зафиксированного списка слов.

- PBKDF2: стандартная криптографическая функция, аргументом которой служит строка мнемоники (в том числе).

- стрелки означают однонаправленность: мнемоника связана с энтропией двунаправленно, а вот из хеша в 512 бит(seed в шестнадцатеричной форме) получить мнемонику в формате слов уже невозможно.


Не удалось прогрузить медиа
​

Рис.6

​

Таким образом, задача BIP-39 выдать пользователю случайную детерминированную мнемоническую фразу на определенном языке, сохранить ее локально, и сформировать из нее master-seed. И все.

"Продолжением" BIP-39, двигаясь сверху-вниз, служит система BIP-32, и далее BIP-44 (нет на схеме) для последующего вычисления приватного, публичного ключей и адресов с учетом деривации.​

Простые выводы из схемы:

1. Спор на форуме о мнемонике и приватном ключе (что из чего происходит и что важнее) решается (в BIP-39) однозначно: вначале сид-фраза, потом приватный ключ из нее, и никак не иначе.

2. Вопросы (в частной беседе) о восстановлении сид-фразы кошельком из приват-кея (например, для эфира) также решаются однозначно: невозможно.

3. Приватный ключ у большинства монет вычисляется по-разному, хотя совпадения не исключены.

4. Зная только приватный ключ кошелька (например) для btc, ни мнемонику, ни приватный ключ solana, сгенерированные в том же кошельке, что и btc, из этого ключа не получить. Барьерами стоят криптографические необратимые хеш-функции. Хотя и есть редкие исключения (о них ниже в п.5-6). Поэтому приватные ключи конкретной криптовалюты всегда менее интересны, чем сид-фразы кошельков.

5. Сколько бы слов не содержала мнемоника (12, 15 или 24), master seed используемый для приватника всегда 512 бит. Одна из причин применения хеш-функции: сериализация.

Поэтому в скриптах, использующих seed (из seed-фразы) смело можно для экспериментов брать любое число слов из любого кошелька: 12 или 24 — неважно.

Однако. Кто-то возразит, что работает с файлами приватников пакетно, без всяких кошельков и мнемоник. Да, есть такое. И особенно если речь о генерированных приватниках и поисках "мозговых кошельков" с балансами на старых адресах.

Пример.

Смотрим схему из просторов сети: случайное 32 байтовое (64 символа в шестнадцатеричной) число, сгенерированное либо полученное как хеш от слов (например, sha-256("hello")) считаем приватным ключом, далее- вычисляем адрес, проверяем баланс...видим 0, берем следующее. Это принцип простого brainwallet-a.


Не удалось прогрузить медиа
​
Рис.7 Формирование адреса одного типа в btc​



Все изложенное оживает в "калькуляторе" BIP-39 (https://iancoleman.io/bip39/#english) где можно играться с параметрами всего - энтропии, фразы, приватных ключей (BASE58), деривации и тд.​

4. Различные типы сид-фраз​



4.1.Протоколы (алгоритмы, технологии) мнемоники

Детально проработаны, имеют свои списки слов, используют отличные от других хеш-функции. Отсортированы по степени популярности

1. BIP-39 https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki 
Калькулятор: https://iancoleman.io/bip39/#english

2. Electrum (ver < 2.0) https://github.com/spesmilo/electrum/tree/master/electrum/wordlist​
Electrum1_wordlist https://github.com/spesmilo/electrum/blob/master/electrum/old_mnemonic.py

Не удалось прогрузить медиа


Попросила ИИ оформить таблицей текст, на хсс верстала вручную.


4.2.Мнемоника, формируемая отдельными кошельками/блокчейнами (не BIP39)


1.Electrum v2
. BTC (+форки LTC,DASH), используются 2048 слов BIP-39, генерация по своему алгоритму, с BIP-39 не совпадает, но может импортировать фразы BIP-39​
Генерирует сид из 12 слов, импортирует старые версии из 24 слов


2. Monero

Legacy (25 слов), MyMonero (13 слов), Polyseed (16 слов)

Feather использует Polyseed для сид-фраз из 16 слов. Версии до 2.0.0 использовали (устаревшую) библиотеку monero-seed для мнемоники из 14 слов.

https://github.com/monero-project/monero/blob/master/src/mnemonics/english_old.h

​

Не удалось прогрузить медиа


Рис.8 Связь между сид-фразами одного набора ключей и адреса Монеро.​



"Калькуляторы":​

  1. Экзотические малопопулярные кошельки и небольшие блокчейны (форки). Например, Zana (рис. 5). На базе Монеро​

4.3.Разное

1.Использование произвольных слов/текста в качестве сид-фраз. Современные brainwallet'ы с разными вариантами хеширования (криптографии)



2. Бэкапы и 2FA

а. Algorand Secure Backup - 12 words BIP-39 + файл

б. 2FA: PIN-CODE 12*4 букв +e-mail verification​
Например, кошелек Muun (btc)

Намечается некая тенденция привязки 2фа и бэкапов к кошелькам => возрастает роль стилеров/логов
(Например на некоторых форумах выдают сид-фразу - для бэкапа или верификации).​
👍84 ❤️21 🔥16 😮18 👏6 😢28

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.