статья была написана для форума хсс (оплачена админом, 150 долларов обе части+ донаты). Так как некоторые статьи отсюда публикуется на xss, то вполне допустимо перенести статью сюда (куда уж эти статьи только не переносили).
Основные цели статьи: систематизировать информацию по seed-фразам, показать новичкам (в этой теме) какими могут быть нестандартные подходы к получению балансов, поднять вопрос о качестве отработки данных.
Задачи: рассмотреть способы получения дополнительных сид-фраз, ключей, балансов из существующих мнемоник на примерах, а также некоторые вопросы классификации и валидации сид-фраз.
Все скриншоты - с личных устройств, все установленные кошельки сгенерированы и после публикации статьи будут удалены (то есть сид-фразы, прив.кеи, адреса останутся без балансов).
Все утверждения о кошельках проверены непосредственно (десятки скачаны). Почти все рисунки (схемы) оригинальные.
Сервисы, упоминаемые в статье, перечислены в конце настоящего текста (второй части).
Новички часто задаются вопросом - можно ли заработать на паблике? И хотя все написанное ниже не о/для публичных данных, можно будет сделать выводы в конце статьи.
Факты. База в 6 млн сид-фраз из паблика (форумы), скинутая в здесь в ЛС юзеру («я простой отраб») принесла 300 баксов - с его слов, за счет мощного софта.
Ну и второй пример , что может дать поиск из паблика (да, с ловушками, мусором, мультисигами и проч., проч.)
Рис.1 Найденная из паблика сид-фраза в кошельке Guarda
Статья задумывалась как для новичков, так и для тех, кто в целом в теме, но непрофессионал в отработке, при этом готов заняться кодингом лично на себя и возможно отдать остатки на отработку в сервисы.
Надеюсь, что написанное поможет расширить кругозор, нарастить балансы, осознать что ожидать от баз, отданных на проверку и возможно, потестировать сервисы.
Большая часть добытых фраз состоит из 12 слов, реже 24, и намного реже из 15 слов в формате BIP-39, самом популярном на сегодняшний день.
Заглянем в софт для поиска сид-фраз GitHub - xssis/seed-parser _github.com/xssis/seed-parser:
Программа производит рекурсивный поиск парольных фраз от криптокошельков внутри файлов, проверяет их валидность (т.е. выдает только те фразы которые удовлетворяют стандарту bip39) и выводит парольную фразу и путь к файлу в котором она была найдена. Валидация фраз на соттветствие стандарту bip39 производится с помощью библиотеки из репозитория аппаратного криптокошелька trezor
Намного меньше конкуренция и больше шансов найти приятные суммы, если работать с невалидными фразами, которые не очень интересны тем, кто сидит на потоке прибылей от EVM-сетей и отбрасывает фразы, проверка балансов которых затруднена.
Однако, кто-то может возразить, что даже непосредственная отработка отработанного (экспроприированного) в самых разных направлениях намного полезней и даже привести примеры из паблика вроде этих - под спойлером: полумертвые токены, ханипоты, призрачный стейкинг, мифические и не очень эйрдропы и проч., проч. Может быть и так.
Спойлер
Рис.2 Распространяемые сид-фразы. Цель заработка — поймать нубов на оплате за газ (автовывод заберет)
Общеизвестным контрпримером, того что все современные "валидные фразы" исключительно формата BIP-39 является Электрум. Последняя версия генерирует мнемонику
- ее проверка покажет невалидность в отношении BIP-39. Другие рассмотрим ниже (п.4.).
До сих пор используются варианты brainwallet-а в том или ином формате, где исходной фразой может быть что угодно, а не слова из строго утвержденного списка.
"QWERTY ..." стало рабочей сид-фразой современного кошелька, то есть адреса, привязанные к ней в блокчейнах (BTC, ETH, ATOM, etc) сгенерированы и представлены в интерфейсе.
А вот еще пример. Мнемоника даже из 26 слов.
Рис.5 Кошелек Zana
Все изложенное оживает в "калькуляторе" BIP-39 (https://iancoleman.io/bip39/#english) где можно играться с параметрами всего - энтропии, фразы, приватных ключей (BASE58), деривации и тд.
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/wordlistElectrum1_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
"Калькуляторы":
4.3.Разное
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. Однако, если фраза не из 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 фразы, но похожие на мнемонику, нуждаются в своей классификации (да, откровенного мусора тоже хватает, который банально удаляется).
Выводы. (1) хороший чекер должен откладывать невалидные фразы в отдельную папочку для последующей обработки и папочка должна храниться; (2) Невалидные к BIP-39 фразы, но похожие на мнемонику, нуждаются в своей классификации (да, откровенного мусора тоже хватает, который банально удаляется).
3. Под капотом криптокошелька: простая мнемоника и кривые вычисления
Немного самой базовой информации, максимально сжато, о которой нельзя не написать- для дальнейшего и потому что на форумах поднимались соответствующие вопросы, которые хочется закрыть в начале статьи по-простому.
Самый распространенный протокол BIP-39 работает так (тоже упрощенно):
- энтропия (в криптографии): очень большое случайное число,
- мнемоническая фраза: формируется в соответствии с энтропией из зафиксированного списка слов.
- PBKDF2: стандартная криптографическая функция, аргументом которой служит строка мнемоники (в том числе).
- стрелки означают однонаправленность: мнемоника связана с энтропией двунаправленно, а вот из хеша в 512 бит(seed в шестнадцатеричной форме) получить мнемонику в формате слов уже невозможно.
Самый распространенный протокол BIP-39 работает так (тоже упрощенно):
- энтропия (в криптографии): очень большое случайное число,
- мнемоническая фраза: формируется в соответствии с энтропией из зафиксированного списка слов.
- PBKDF2: стандартная криптографическая функция, аргументом которой служит строка мнемоники (в том числе).
- стрелки означают однонаправленность: мнемоника связана с энтропией двунаправленно, а вот из хеша в 512 бит(seed в шестнадцатеричной форме) получить мнемонику в формате слов уже невозможно.
Не удалось прогрузить медиа
Рис.6
Таким образом, задача BIP-39 выдать пользователю случайную детерминированную мнемоническую фразу на определенном языке, сохранить ее локально, и сформировать из нее master-seed. И все.
"Продолжением" BIP-39, двигаясь сверху-вниз, служит система BIP-32, и далее BIP-44 (нет на схеме) для последующего вычисления приватного, публичного ключей и адресов с учетом деривации.
"Продолжением" 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.
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
3. Polyseed https://github.com/tevador/polyseed
3. SLIP-39 https://github.com/satoshilabs/slips/blob/master/slip-0039.md
https://iancoleman.io/slip39/
5. Aezeed https://github.com/bitcoinjs/aezeed
Калькулятор: https://guggero.github.io/cryptography-toolkit/#!/aezeed
3. SLIP-39 https://github.com/satoshilabs/slips/blob/master/slip-0039.md
https://iancoleman.io/slip39/
5. Aezeed https://github.com/bitcoinjs/aezeed
Калькулятор: https://guggero.github.io/cryptography-toolkit/#!/aezeed
Не удалось прогрузить медиа
Попросила ИИ оформить таблицей текст, на хсс верстала вручную.
4.2.Мнемоника, формируемая отдельными кошельками/блокчейнами (не BIP39)
1.Electrum v2. BTC (+форки LTC,DASH), используются 2048 слов BIP-39, генерация по своему алгоритму, с BIP-39 не совпадает, но может импортировать фразы BIP-39
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 Связь между сид-фразами одного набора ключей и адреса Монеро.
"Калькуляторы":
- Algorand https://developer.algorand.org/docs/get-details/accounts/#a-note-about-term-usage-in-these-docs (25 слов из BIP-39)
- Экзотические малопопулярные кошельки и небольшие блокчейны (форки). Например, 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. Бэкапы и 2FA
а. Algorand Secure Backup - 12 words BIP-39 + файл
б. 2FA: PIN-CODE 12*4 букв +e-mail verification
Намечается некая тенденция привязки 2фа и бэкапов к кошелькам => возрастает роль стилеров/логов
(Например на некоторых форумах выдают сид-фразу - для бэкапа или верификации).
(Например на некоторых форумах выдают сид-фразу - для бэкапа или верификации).
👍84
❤️21
🔥16
😮18
👏6
😢28
LIMB