Pages:
Author

Topic: Как сгенерировать 150 000 000 адресов в кошельке - page 9. (Read 66730 times)

legendary
Activity: 2296
Merit: 1057
Эксперимент практически успешно завершен
имею кошелек с 150 000 000 адресов в кошельке
чуть позже тут распишу подробнее
member
Activity: 229
Merit: 13
Quote
Если не возражаете объясню на том самом псевдокоде в понедельник
Я не возражаю, но признаюсь честно - меня это не интересует.
Если бы интересовало - я бы сам сделал.
Это что-то сродни раскопкам в мусорном контейнере - скорее всего не повезет, но чисто теоретически может попасться что-нибудь стоящее. Вероятность этого оцениваю настолько низко, что лучше уж бутылки собирать.

Quote
в принципе еще один вариант проверки можно реализовать проверяя заданный диапазон  secret exponent
Да, и потратить на это 10-в-какой-то-степени-миллиардов-лет. Спасибо. Моя жизнь не настолько длинна, чтобы тратить ее на глупости

Quote
кстати хранить в памяти кажется надо виде sha160 чтобы меньше тратить времени на преобразования.
hash160 вы хотели сказать? Ну вообще-то лучше всего в памяти хранить публичные ключи. Беда в том, что не для всех адресов они известны. Пока не было исходящей транзакции публичный ключ адреса неизвестен.
Ну, допустим, сэкономите вы на этом раз в 10. Может в 100. И перебор займет у вам не 100 охулиардов лет, а один охулиард. И толку?
legendary
Activity: 2296
Merit: 1057
member
Activity: 229
Merit: 13
hero member
Activity: 639
Merit: 500
Неожиданно всплыло желание попробовать в общем то очевидный способ
Запуск
bitcoin-qt.exe -keypool=150000000
выявил следующее
за 1.5 часа нагенерировалось около 1M ключей
объем wallet.dat на этот момент - 600 MБ
За счет NTFS сжатия реальный объем 370 MБ

итог - сабжевая задача должна решиться за ~10 дней  Wink
отпишусь по окончании эксперимента

Я заметил одну особенность: клиент Bitcoin-qt работает только на одном ядре процессора, а скорость записи на диск, согласно показаниям Win 8.1 составляет всего 8 Мб. Максимальная загрузка Core i7 2770k около 12.5%. Если можно было бы запустить Vanitygen на нескольких Radeon'ах и взять большой SSD, работа пошла бы быстрее.
hero member
Activity: 504
Merit: 500
берешь словарь и кормишь его словарем пока он не отдаст тебе все биткоины  Wink
а говорил не умеешь)))
Кодить не умею, а технологию понимаю.
синтаксисы и всякие там api и прерывания не знаю
Программу на псевдокоде написать могу.

фии, синтаксисы выучить нужно только захотеть
legendary
Activity: 2296
Merit: 1057
берешь словарь и кормишь его словарем пока он не отдаст тебе все биткоины  Wink
а говорил не умеешь)))
Кодить не умею, а технологию понимаю.
синтаксисы и всякие там api и прерывания не знаю
Программу на псевдокоде написать могу.
hero member
Activity: 504
Merit: 500
берешь словарь и кормишь его словарем пока он не отдаст тебе все биткоины  Wink
а говорил не умеешь)))
legendary
Activity: 2296
Merit: 1057
hero member
Activity: 639
Merit: 500
У меня есть идея, как можно стилить биткоины с брейн валлета: нужно создать скрипт, который будет подставлять вместо Passphrase различные известные словосочетания, фразы из американских фильмов, связанные с биткоинами слова, а потом проверять, есть ли информация о сгенерированном по фразе кошельке в гугле. Если есть, проверять равен ли конечный баланс нулю.
legendary
Activity: 2296
Merit: 1057
Машины должны работать. Люди должны думать. (c)IBM
вот я ее и загружаю
а в линухах не силен да еще так чтобы править старые версии
hero member
Activity: 504
Merit: 500
Вот вам делать нечего!
Лучше попробовать сымитировать старую уязвимость в RNG на линухе. То есть найти уязвимую систему, довести до идеала и нагенерить на ней 100500 адресов. Кажется, так коллизию легче встретить. (Сам ещё не пробовал, честно. Даже больше скажу: может быть так найдутся идентичные старым "сатошевским" утраченным адресам с 50 койнов на борту)
legendary
Activity: 2296
Merit: 1057
в общем на 60М адресах кошелек работает но медленно
импорт 1 адреса при загруженном блокчейне 2.5 часа
экспериментировал на известном адресе №1 - 1EHNa6Q4Jz2uvNExL497mE43ikXhwF6kZm
Private Key - 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsreAnchuDf
sr. member
Activity: 420
Merit: 251
legendary
Activity: 2296
Merit: 1057
Quote
как выгрузить все прив кеи в plaintext?
Натрави Teleport PRO (или любую софтину для загрузки сайта) на http://directory.io/
И жди, пока не кончится место на диске  Grin
я имел ввиду все из готового кошелька C 60M приватных ключей
хочется проанализировать случайность распределения

member
Activity: 229
Merit: 13
Quote
кошелек должен проверить каждый новый блок, каждую новую транзакцию, на использование одного из стомильонов адресов в кошельке.
Ну, в общем-то всё работает через хеширование. Вопрос в размере хеш-таблицы, а скорость поиска в ней остается О(1) - то есть не зависит от размера. Разве что могут быть проблемы, связанные с реализацией хеш-таблиц. Но это уже не проблема биткойна.
member
Activity: 229
Merit: 13
Quote
как выгрузить все прив кеи в plaintext?
Натрави Teleport PRO (или любую софтину для загрузки сайта) на http://directory.io/
И жди, пока не кончится место на диске  Grin

Можно еще проще - генерируешь рандомные последовательности по 32 байта в каждой - вот тебе и приватные ключи.
Сохраняй хоть в hex-, хоть в wif-формате.
Лучше всего, конечно, сохранять прямо в binary друг за другом. Самый экономичный способ.

В мире есть мало более бесполезных вещей, чем бекап /dev/random на диск  Grin
legendary
Activity: 2296
Merit: 1057
Тяжело работает
на этот раз судя по debug.log генерация адресов остановилась на ~60M адресах
причина та же пямять
Кошелек открывался примерно 4 часа
транзакций не обнаружено Sad
как выгрузить все прив кеи в plaintext?

следующий эксперимент проведу на 80GB памяти и без NTFS сжатия
legendary
Activity: 1120
Merit: 1069
Интересный стресстест офф-клиента.
Как работает кошелек с таким огромным wallet.dat? Ведь кошелек должен проверить каждый новый блок, каждую новую транзакцию, на использование одного из стомильонов адресов в кошельке.
legendary
Activity: 2296
Merit: 1057
За наделю сделано чуть больше трети работы
память выжрана вся
объем wallet.dat - 30Gb
Pages:
Jump to: