дык помним весь вопрос как этого избежать
порядок байт от старшего к младшему
порядок байт от старшего к младшему
25.12.2017 18:30:03
Доброго времени суток!
Вот наконец выкроил время. Сразу говорю я не специалист в программировании, прошу не ругать меня) Значит есть задача посчитать хэш SHA256 дважды (хэш исходного сообщения, затем хэщ хэша исходного сообщения) Что мы получаем на вход: -версия = 2 -хэш предыдущего блока -корень Меркле (хэш списка транзакций) его конечно тоже нужно считать, но я пока сам не разобрался как именно он считается и как формируются данные для этого (для проверки алгоритма, достаточно будет использовать данные с blockchain.info/blocks) -время в формате Unix (???) от 1 января 1970 года -биты = 402691653 (текущая сложность сети, берется с того же blockchain.info/blocks, меняется примерно раз в 2 недели) -nonce (случайное число, перебором которого и отыскивается значение хэша с начальными 18-ю нулями, в случае если состоялся перебор всех значений nonce и нужный хэш не был найден, можно менять корень Меркле (изменять количество транзакций например) или время создания блока (не ранее времени 3-го блока сзади цепочки и не более 2х часов вперед) Все эти данные полученные на вход, переводятся в формат little endian (формат представления в архитектуре Х86): первые 2 символа встают назад строки, следующие два символа встают перед последними новыми символами, например: имеем строку 12 34 56 78, то формат little endian будет выглядеть: 78 56 34 12, пробелы поставил для удобства чтения. Все значения версии, времени, бит и nonce конвертируются в формат HEX и затем little endian, хэш и корень Меркле уже в формате HEX, поэтому их нужно только перевести в формат little endian Что мы можем сделать на этом этапе: версия в формате HEX и little endian не изменяется и выглядит так: 00000020 биты в формате HEX и little endian на ближайшую примерно неделю выглядит так: 45960018 Таким образом наше сообщениt для получения хэша состоит из 6 строк символов (8 + 64 + 64 + 8 + 8 +8) = 160 символов Пример исходного сообщения, на основе которого мы генерируем хэш ( 00000020 7c5e4a46eae87580ecd25c8fc89ed77e1473d4da239c1300000000000000 для удобства чтения разделил пробелами: "version prevhash Mercle time bits nonce" Исходное сообщение можно посмотреть в таблице на вкладке Main, прикрепленной к первому посту в этой теме. Далее идем на следующий пост ->> |
|
|
21.12.2017 12:07:25
Изменено: |
|
|
14.12.2017 17:49:00
Irregular Expression, строка не из всех нулей, а первые 18 символов нули
|
|
|
14.12.2017 17:36:03
а разве будет смысл, ведь процессор также участвует в этом хэшировании?
Изменено: |
|||
|
14.12.2017 17:24:51
бесплатное электричество на работе, это два сейчас один asic s9 приносит 1000$ в месяц, это три и думаю достаточно этого, при цене майнера+блок в 1520$ плюс доставка 150$ и таможня 150$ все прекрасно! просто интересно как это может делать excel и какой у него потолок. |
|||
|
14.12.2017 16:42:32
цель данного файла простое понимание и визуализация работы алгоритма sha256, плюс можно поиграться с диапазонами nonce
|
|||||||
|
13.12.2017 13:21:04
есть таблица, есть данные, есть изменяемое поле, есть хэш как организовать некое действие (которое и требуется реализовать в коде VBA Excel или другим способом) чтобы данная таблица искала нужный хэш. Что непонятного? меняем поле nonce и получаем новый хэш, отсеиваем не соответствующий условию (первые 18 знаков нули)
Изменено: |
|||
|
13.12.2017 09:23:25
Доброе утро!
Про майнинг: у меня стоит asic s9, это кому интересно про фермы Про цель: просто интересно посмотреть как это все происходит Про целочисленные значения: сравнение можно производить по типу данных, а-ля '000 000 000 000 000 000' пробелы специально поставил суть задачи получить список: при nonce "____" hash "____" подскажите хотя бы куда копать, точно уверен, что реализовать можно, решил обратиться к более знающим Excel товарищам за помощью, т.е. к Вам |
|
|
12.12.2017 17:58:02
Привет ребята! Добавлено: начал в excel продолжаю в с++
Есть такая табличка (в приложении) рассчитывает хэш биткоина Хотелось бы сделать цикл такой Изменять значение Nonce пока начало хэша не будет равно 18 нулям В табличке я выделил изменяемое значение зеленым, а требуемое условие (18 нулей в начале) желтым Я вижу это так:
файл тяжелый форум не пропускает, файл на гугл диске: заранее благодарен!
Изменено: |
|||
|
07.09.2016 15:31:12
Ігор Гончаренко, нет, в итоге таблица должна быть из 9 стобцов и m^n строк, например для 9 событий по 3 исхода таблица будет размером 9 столбцов и 3^9=19683 строк
|
|
|
05.09.2016 16:20:33
JayBhagavan, да, этот файл очень хороший, я просто попробовал, 4 строки сможет ли обработать (это 262000 комбинаций примерно), вот такая ошибка) раньше я пробовал 10 столбцов, все получалось и это очень хорошо, бывает до 15 приходится обрабатывать. 4 строки это я просто попробовал))) мне не нужно, но может быть Вам будет интересно, так сказать пища для размышлений.
|
|
|
05.09.2016 13:00:37
JayBhagavan, вот в этом файле не выдает таблицу
|
|
|
04.09.2016 13:57:36
JayBhagavan, добрый день!
Итак, я скачиваю файл, вбиваю свои данные, жму кнопку - все отлично, есть список (причем он настолько замечательно делается, я радуюсь всегда, если в 1 стобце стоит одинаковое число, то он соответственно не делает лишние строки, просто изумительно!) Затем я копирую данные обрабатываю и так далее. Теперь мне, например, нужна новая таблица с другими числами, я открываю заново тот же файл, из которого я получил первую таблицу, заменяю там числа в матрице, жму кнопку и все, excel висит. Хотя вот сейчас попробовал, все работает, необходимо очищать предыдущую таблицу и сохранять новые данные в таблице. Вот такая ошибка сейчас была, когда я не стер таблицу предыдущую и закрыл неотвечающий excel. |
|
|
03.09.2016 21:23:33
JayBhagavan, Ваше решение превосходное, спасибо! Только один момент: когда меняю цифры на другие, вылетает ошибка и макрос не выдает таблицу. Приходится каждый раз заново скачивать файл.
|
|
|