bitbitbit777 Опубликовано 23 ноя 2023, 20:27 Поделиться Опубликовано 23 ноя 2023, 20:27 Заметил, что некоторые кошельки предлагают одну SEED, а создают несколько адресов. Например, кошелëк Electrum Андроид создаëт сразу 20 адресов + 10 адресов сдачи (все bc1q) и добавляет новые адреса по мере совершения транзакций. Скорее всего, похожая ситуация в Bitcoin Wallet. Как это работает? После битов SEED вставляются ещë n битов, перебирая которые, получаются 2^n приватных ключей и адресов? Если да, то чему равно n? Я замечал, что некоторые генераторы действительно позволяли делать адреса с названиями вроде "m/44h/0h/0h/0/0". Ссылка на комментарий Поделиться на другие сайты Поделиться
Helber Опубликовано 23 ноя 2023, 20:41 Поделиться Опубликовано 23 ноя 2023, 20:41 (изменено) 16 минут назад, bitbitbit777 сказал: Как это работает? После битов SEED вставляются ещë n битов, перебирая которые, получаются 2^n приватных ключей и адресов? Выбираются разные пути деривации. На основе одного и того же сида можно сгенерить миллиарды, если не триллионы пар ключ-адрес 16 минут назад, bitbitbit777 сказал: Я замечал, что некоторые генераторы действительно позволяли делать адреса с названиями вроде "m/44h/0h/0h/0/0". Это не названия, это пути деривации https://iancoleman.io/bip39/ Сгенерите пустой сид и экспериментируйте Изменено 23 ноя 2023, 20:44 пользователем Helber 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
bitbitbit777 Опубликовано 24 ноя 2023, 15:13 Автор Поделиться Опубликовано 24 ноя 2023, 15:13 Здравствуйте. Есть проект на GitHub или просто описание такой функции? На вход: биты (байты) из файла или сам вводишь HEX или BIN число. Функция берёт первые N бит, добавляет хеш и получает SEED-фразу из 24 слов (264 бита, я так понимаю), приватный ключ, публичный адрес. Для bc1q соответственно последовательность адресов и возвратных адресов. Соответственно при одинаковом входе всегда одинаковый выход. Больше ничего не надо. Я понимаю, что есть проекты, генерирующие энтропию и делающие то же самое, но мне не это нужно. Ссылка на комментарий Поделиться на другие сайты Поделиться
polym0rph Опубликовано 24 ноя 2023, 22:15 Поделиться Опубликовано 24 ноя 2023, 22:15 @bitbitbit777 Если интересно подробнее, стоит погуглить иерархически детерминированные кошельки, они же HD кошельки. В книге mastering ethereum Антонопулоса хорошо описано. Книга в свободном доступе гуглится. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
polym0rph Опубликовано 24 ноя 2023, 22:21 Поделиться Опубликовано 24 ноя 2023, 22:21 Это явно часть какого-то костыля, так что не думаю, что есть какое-то идеально подходящее решение. тем более непонятно, на каком языке оно нужно. И в криптографии очень не любят костыли, тут следует быть очень осторожным, банальное уменьшение энтропии при генерации может потом привести к очень серьезным последствиям. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
крип90 Опубликовано 25 ноя 2023, 09:46 Поделиться Опубликовано 25 ноя 2023, 09:46 элементарно, линейно рекурентный регистр. На входе N бит - на выходе M (сколько угодно бит). Выход превращаем в слова из известного списка. Стойкости - ноль 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
bitbitbit777 Опубликовано 25 ноя 2023, 11:56 Автор Поделиться Опубликовано 25 ноя 2023, 11:56 (изменено) 14 часов назад, polym0rph сказал: Это явно часть какого-то костыля, так что не думаю, что есть какое-то идеально подходящее решение. тем более непонятно, на каком языке оно нужно. И в криптографии очень не любят костыли, тут следует быть очень осторожным, банальное уменьшение энтропии при генерации может потом привести к очень серьезным последствиям. Энтропию я беру на себя. Язык html или c++, но без груды нестандартных библиотек. Вот примеры такие нашëл, они дают PrivateKey (WIF), которым можно подписывать транзакции, но не SEED. https://secretscan.org/PrivateKeyWif https://gist.github.com/cloverstd/dceb82565ca2f2de0e84680be267a5cc https://www.ntcfinans.com.tr/visual-btc-generator.asp Вот ещë примерно, что искал, только интересно что-то с github: https://learnmeabitcoin.com/technical/mnemonic Изменено 25 ноя 2023, 12:27 пользователем bitbitbit777 Ссылка на комментарий Поделиться на другие сайты Поделиться
polym0rph Опубликовано 26 ноя 2023, 03:26 Поделиться Опубликовано 26 ноя 2023, 03:26 @bitbitbit777 PrivateKey не годится в такой постановке задачи. Из PrivateKey не сделать SEED. Это из SEED можно получить PrivateKey. Так что тут раскуривать BIP39 и делать самому SEED Ссылка на комментарий Поделиться на другие сайты Поделиться
bitbitbit777 Опубликовано 26 ноя 2023, 09:32 Автор Поделиться Опубликовано 26 ноя 2023, 09:32 6 часов назад, polym0rph сказал: @bitbitbit777 PrivateKey не годится в такой постановке задачи. Из PrivateKey не сделать SEED. Это из SEED можно получить PrivateKey. Так что тут раскуривать BIP39 и делать самому SEED Да, я, наверное, имел ввиду не PrivateKey, а случайный набор 256 бит. Но уже разорался. Ссылка на комментарий Поделиться на другие сайты Поделиться
Helber Опубликовано 26 ноя 2023, 09:53 Поделиться Опубликовано 26 ноя 2023, 09:53 20 минут назад, bitbitbit777 сказал: Но уже разорался. Сдержаннее надо быть! 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти