Author

Topic: Детали майнинга биткойнов. Работа майнерk (Read 174 times)

newbie
Activity: 23
Merit: 853
У меня есть опыт майнинга, но я никогда не вникал что считают мои видеокарты.
Для меня главное профит и поддержание работы железа, чтобы долго служило.
У кефира такая же логика или майнеры считают другие значения?

Кефир все еще PоW,  поэтому схема майнинга там во многом напоминает майнинг битка, но из-за того, что я сам его не манил, никогда не задавался вопросом, как называется то случайное число, которое угадывают там  майнеры. Скорее всего как-то по другому, потому что "nonce" в кефире это счетчик транзакций.
legendary
Activity: 1708
Merit: 1615
#SWGT CERTIK Audited
У меня есть опыт майнинга, но я никогда не вникал что считают мои видеокарты.
Для меня главное профит и поддержание работы железа, чтобы долго служило.
У кефира такая же логика или майнеры считают другие значения?
legendary
Activity: 1162
Merit: 1181
                                        Детали майнинга биткойнов

который используется для безопасной передачи основного пароля, предотвращая атаку повторного воспроизведения.



тут уже вы сами накрутили.  Использование термина "пароль" для "nonce" это такая глубокая аллегория, что ее не то что новички но и 99,99% "старичков" не поймут и начнут вас хаять. Поэтому лучше  все эти слова  убрать. nonce это одноразовое случайное число (или код, как хотите), одноразовый  в том смысле, что для следующего блока он/о будет другим, случайный в том смысле, что его надо находить  перебором - никакого алгоритма для его нахождения не существует (на данный момент)

Сделала как вы сказали, все таки у вас хотя бы опыт в майнинге есть
legendary
Activity: 1162
Merit: 1181
                                        Детали майнинга биткойнов

*Hash Nonce - Однократно используемое число в криптографии




Тут нужно уточнить, что это число к тому еще и случайное в том смысле что его предугадать нельзя. Чтобы его найти поможет  только метод перебора.



Внесла поправку. В оригинальном тексте про это ни слова, решила хоть так написать,  что бы если новичкам будет интересна эта тема не ломали голову Cheesy
legendary
Activity: 1162
Merit: 1181
                                         Детали майнинга биткойнов

Что делает биткойн-майнер?

На этой веб-странице представлена ​​дополнительная информация о том, что делает биткойн-майнер.
Упрощенная версия здесь

Что такое хеширование биткойн-майнеров?

Биткойн-майнер хеширует заголовок блока, чтобы определить его хеш-значение с надеждой найти биткойн-блок.

Структура заголовка блока представляет собой 80-байтовый набор двоичных данных, определяемый следующим образом:

Версия - 4 байта
Предыдущий хэш блока - 32 байта
Корень Меркла - 32 байта
Время блока - 4 байта
Биты - 4 байта
Хэш Nonce - 4 байта
*Hash Nonce - одноразовое случайное число используемое в криптографии

Из вышеперечисленного мы можем смело менять в майнере 2 вещи: Корень Меркла и Хэш Nonce.
Версия изменена для открытого Асик-Ускорителя.
Время блока не следует изменять, поскольку оно не является необходимым и имеет ограничения на его ценность.
Время блока - это не время, когда блок был найден, обычно это время, когда работа была отправлена ​​майнеру.
Разумеется, предыдущий хэш блока и биты не должны изменяться, поскольку они должны соответствовать текущей сети Биткойн.

Нормальное хеширование - это настройка всего, кроме Хэш Nonce, а затем подсчитать Хэш Nonce от 0 до 2^32-1 и хешировать каждый.
Хеширование полного диапазона Nonce от 0 до 232-1 также называется 1-ой сложностью.

С помощью протокола(stratum) мы можем изменить корень Меркла, чтобы сгенерировать другой заголовок блока для хеширования диапазона Nonce.
Корень Меркла - это хэш-дерево транзакций, которые мы включаем в блок, однако есть одна транзакция, которую мы можем изменить с помощью протокола (stratum),
и это транзакция coinbase(монетной базы) - или транзакция, которая платит майнеру.
В этой транзакции нам нужно убедиться, что:
  • 1. Это действительная транзакция - что на самом деле довольно случайная транзакци для coinbase из-за того, что "sig"(подпись) может содержать почти все,
    если он начинается с высоты блока.
  • 2. Выплата производится на ожидаемый адрес, на который мы хотим получить сгенерированные биткойны.
  • 3. Выплаченная сумма верна: она соответствует текущему вознаграждению за блок + общей комиссии по всем транзакциям.

Итак, для протокола (stratum) мы помещаем кучу других «одноразовых номеров»(Nonce) в «sig»(Подпись), которая включает уникальный номер для каждого майнера,
и запускаем остальные от 0 до определенного предела, чтобы каждый раз генерировать новую транзакцию монетной базы, которая будет генерировать уникальный
корень Меркла, который будет помещен в заголовок блока и будет хеширован по всему диапазону Nonce.

С уникальным номером для каждого майнера и сам майнер, следует правилам протокола для создания транзакций для базы монет,
майнер может продолжать генерировать большой объем работы, которая, как ожидается, не закончится до того, как пул отправит ему новую работу.
Майнеру также не нужно тратить время на обработку информации о сети биткойнов или проверку транзакций, что является задачей пула и требует быстрого глобального
доступа в Интернет, очень быстрого процессора и большого количества оперативной памяти.
Ему нужен только сетевой доступ к пулу или даже просто локальный прокси-сервер для майнинга, и он тратит все свои усилия на обработку работы и
хеширование одноразовых номеров.

Каждый раз, когда майнер находит значение хеша, которое больше или равно Сложности, указанной пулом,
майнер отправляет одноразовый номер и одноразовый идентификатор «sig» обратно в пул.


Пул хеширует эти одноразовые номера с данными, которые он отправил майнеру, и, таким образом, проверяет их действительность и, таким образом,
награждает майнер Сложностью работы, отправленной майнеру.

Майнер не может изменить адрес выплаты, чтобы «украсть» блок.
Причина в том, что пул не получит действительный хэш одноразовых значений отправленных обратно, если база монет, которую использовал майнер,
не соответствует информации базы монет для работы, которую он дал, поэтому доля будет недействительной, и майнер не получит вознаграждения. Просто 🙂

Хэширование Биткоина

В отличие от простого примера броска кубиков на другой странице, кубик Биткойн имеет 2^256 сторон или ~ 1,158x10^77.
Также существует более одного действительного решения.
Любая «сторона кубика» с достаточным количеством нулей на лицевой стороне и меньшим, чем определенное значение, является блоком биткойнов.
Из этого числа сторон ~ 1,158x10^77 текущая сложность сети (Nd) определяет, что мы нашли блок.

Текущая сложность сети - «0x170c2a48», которая называется «Биты» и представляет собой 4 байта данных, хешируемых майнером. (см. выше)
«0x17» = 23 и 32-23 = 9 байтов начальных нулей, то есть 9 раз «00».
Остальное - «0c2a48». Итак, эти 2 числа означают, что любая доля с хеш-значением:
H = 0x0000000000000000000c2a480000000000000000000000000000000000000000 или меньше в настоящее время будет блоком.

Если вы разделите ~ 1,158x10^77 на H и снова разделите его на 0x100000000 (2^32), вы получите номер сложности сети:
Nd = 23,137,439,666,472,1 Это означает, что каждый 2^32 раз, когда вы бросаете биткойн-кости, то есть хешируете полный диапазон одноразовых номеров,
у вас есть шанс найти блок 1 из 23

... и причина, по которой мы снова делим на 0x100000000, заключается в том, что число сложности сети 1 представляет 2^32 хэша
_______________________________________________________________________________ __________________________________________________________________
Ссылка на источник: https://kano.is/index.php?k=minedet
Jump to: