Бюджет: 12500 UAH Срок: 10 дней
Добрый день, можно посмотреть на скрипт который работает на CPU? Возможно получится выполнять расчёты по средством PyTorch на ядрах CUDA.
Есть скрипт на Python, генерирующий адрес TRON и приватный ключ к нему. В скрипте используются библиотеки keccak, base58 и ecdsa - которые работают на CPU.
Необходимо переделать этот скрипт таким образом, что бы заменить эти библиотеки на их аналоги работающие на GPU, для того что бы можно было генерировать адреса быстрее.
Важно, что бы все функции выполнялись на GPU, потому то что если хотя бы одна будет выполняться на процессоре, тогда весь скрипт будет работать медленно.
Так же нужно добавить сохранение ключа если он совпал по маске. Можете сделать реализацию не обязательно на Python, а на любом другом языке, главное что бы работа была в разы быстрее.
Ожидаемое количество сгенерированных адресов от 100 миллионов в секунду. Аналогичный софт для генерации биткоин адреса и ключа - делает 1,5 миллиарда генераций в секунда на видеокарте RTX3090.
Алгоритмы похожи, поэтому 100 миллионов - очень реальная цифра. Можно использовать его (софт для генерации биткоин адреса) в качестве основы (он написан на C++).
При запуске программы нужно вводить маску. Например, мне нужно что бы сгенерировался адрес который будет начинаться на
Trx... и заканчиваться на ...Btr. Далее запускается генерация адресов, и адреса будут генерироваться до тех пор, пока не сгенерируеся адрес совпадающий по маске, вот такой адрес с его приватным ключем и нужно сохранить в блокнот.
Маска может быть также либо только в конце, либо только в начале. И не обязательно по три символа, может быть любое количество символов.
Есть скрипт на Python, генерирующий адрес TRON и приватный ключ к нему. В скрипте используются библиотеки keccak, base58 и ecdsa - которые работают на CPU.
Необходимо переписать этот скрипт на C/C++, и заменить эти библиотеки на их аналоги для C/C++ работающие на GPU, для того что бы можно было генерировать адреса быстрее.
Важно, что бы все функции выполнялись на GPU, потому то что если хотя бы одна будет выполняться на процессоре, тогда весь скрипт будет работать медленно.
Так же нужно добавить сохранение ключа если он совпал по маске.
Ожидаемое количество сгенерированных адресов от 100 миллионов в секунду. Аналогичный софт для генерации биткоин адреса и ключа - делает 1,5 миллиарда генераций в секунда на видеокарте RTX3090.
Алгоритмы похожи, поэтому 100 миллионов - очень реальная цифра. Можно использовать его (софт для генерации биткоин адреса) в качестве основы (он написан на C++).
По сути вот на этой странице расписан весь процесс создания от приватного ключа до публичного адреса. Все шаги описаны. https://secretscan.org/PrivateKeyTron
Наша же задача запустить этот процесс на видеокарте. Что бы это делалось хотя бы 100 млн раз в секунду и сравнивалось с маской
При запуске программы нужно вводить маску. Например, мне нужно что бы сгенерировался адрес который будет начинаться на
Trx... и заканчиваться на ...Btr. Далее запускается генерация адресов, и адреса будут генерироваться до тех пор, пока не сгенерируеся адрес совпадающий по маске, вот такой адрес с его приватным ключем и нужно сохранить в блокнот.
Маска может быть также либо только в конце, либо только в начале. И не обязательно по три символа, может быть любое количество символов.
Процесс создания приватного ключа и адреса TRON
1. Сгенерировать 256 битное число
2. Конвертировать его в 64 битное шестнадцатиричное число - это и есть приватный ключ
4bab7b96b3b1c32b25cecaa5ad9085583825ad80a09a9c9cb2868312d45021fa
3. Провести приватный ключ через ECDSA - Uncompressed Public Key 130 characters, ECDSA(private key), 04 + x + y
0464cacdda6201760bb6280c04654206b3be88ac8b93ff4d3b5666d369f76306986bc442243496ff3030c3873328611dcf0d2ee043030648bc4e185801916fed53
4. Отбрасываем спереди 04
64cacdda6201760bb6280c04654206b3be88ac8b93ff4d3b5666d369f76306986bc442243496ff3030c3873328611dcf0d2ee043030648bc4e185801916fed53
5. Далее проводим через keccak256
f92da974c6f15ee4bab0e4aad86b366ec4de84a23379d1e66a08b81a3b877535
6. Берем последние 40 символов
d86b366ec4de84a23379d1e66a08b81a3b877535
7. Спереди добавляем "41"
41d86b366ec4de84a23379d1e66a08b81a3b877535
8. Проводим через SHA-256 hash
d50023502bbf3f123f0b53a2503a903c60fefabb0ef6c08ec229359edd40cc95
9. Еще раз проводим через SHA-256 hash
e7214af804c9039181f51c3616502e9a248098d776b5e6d022a7d523c8570f4d
10. Контрольная сумма первые 8 символов
e7214af8
11. В конце добавляем контрольную сумму к шагу 7
41d86b366ec4de84a23379d1e66a08b81a3b877535e7214af8
12. Проводим через base58 и у нас получается адрес TRON
TVhXPkwJKqcsk9kEyfeRre2YaCoPgfrBMZ
На этой странице рабочий пример https://secretscan.org/PrivateKeyTron
Наша задача, делать этот процесс на видеокарте, что бы делать это максимально быстро. Полученный адрес TRON сравнивать с заданной при запуске маской, и если он совпадает то сохранять адрес и приватный ключ к нему в текстовый документ
Бюджет: 12500 UAH Срок: 10 дней
Добрый день, можно посмотреть на скрипт который работает на CPU? Возможно получится выполнять расчёты по средством PyTorch на ядрах CUDA.
Здравствуйте, CUDA именно от Nvidia я так понимаю. А какая ос? И да, сам компьютер я надеюсь PC? я могу взяться, но у меня нет под руками nvidia. То есть надо будет сделать доступ к вашему. Ну и если контроллер от NVIDIA (работал я с таким 2 года назад) то тут уже по любому нужен будет доступ. Могу подсказать как его организовать