Особенности майнинга Bitcoin cash на ASIC – подключение к пулу и настройка оборудования

Техническая основа криптовалюты на данный момент вызывает интерес у многих, кто интересуется таковыми. Не все знакомы с таким понятием, как «криптография». Понять суть в том, что происходит в так называемом Bitcoin-протоколе очень сложно. Но мы все-таки попытаемся сделать это. Для начала рассмотрим алгоритм SHA-256 для майнинга.

SHA-256 — классический алгоритм Отметим: каждый пользователь, который работает с интернетом, даже понятия не имеет, что работает с этим алгоритмом ежедневно, ежесекундно. Каждый интернет-ресурс защищается сертификатом SSL, и посещение такового возможно только при работе с алгоритмом SHA-256.

Классический алгоритм SHA-256 выстраивает весь Биткоин-майнинг. Отсюда происходит и майнинг других криптографических валют (альткоинов).

ОПРЕДЕЛЕНИЕ: SHA-256 — криптографическая хэш-функция. Разработана «Агентством национальной безопасности США».

Основная задача: хэширование данных (произвольный набор) в определенное значение длины («отпечатка» или другое значение — «дайджест»).

Используя майнинг SHA-256 криптовалюты, задача решается при помощи специализированного процессора либо CPU/GPU. При помощи интерфейса программы пользователи следят за преобразовательными процессами. Фактически алгоритм подбирает правильное значение хэша.

Сложность майнинга как раз заключается в том, что подобрать правильный хэш (решить определенную задачу) возможно только при помощи перебора множества задача. Придется найти не просто какой-нибудь хэш, а число, в самом начале которого находится определенное количество нулей. Шансов того, что значение будет правильным, очень и очень мало. То есть, ключевой параметр — сложность, которая задается майнинг-пулом.

Сложность алгоритма SHA-256 Не следует быть специалистом для того, чтобы понимать всю сложность хэширования при работе протокола SHA-256. Соответственно, майнерам приходится для добычи криптовалюты задействовать просто невероятно мощное оборудование (которое будет способно решать вышеуказанные задачи).

Важно Чем больше задействовано вычислительных мощностей, тем больше вероятность/скорость добычи цифровых монет в любом сервисе облачного майнинга.

Отдельно стоит отметить, что майнинг — функция, которой занимаются очень многие специалисты. И, естественно, программное обеспечение у них может быть куда более производительным. Расстраиваться не следует, так как процесс хэширования иногда больше похож на лотерею. Когда повезет? Неизвестно.

Алгоритм SHA-256 в майнинге реализуется на каждом ASIC-майнере. А вот ASIC-оборудование для остальных алгоритмов, которые на данном сайте мы также отметим, только разрабатывается.

Важно Алгоритм SHA-256 присутствует в процессе добычи не только биткоинов, но и другой криптовалюты.

Очень активно сегодня набирают популярность криптовалюты, реализованные на основе алгоритма SHA-256: Tekcoin, Ocoin, Zetacoin.

Работа алгоритма SHA-256 является сложной для понимания, поэтому идеальный вариант — сконцентрироваться на способах/эффективных стратегиях добычи криптовалюты, чем пытаться анализировать алгоритм и понимать, как он работает.

5.02.2021

Опубликовано: 

05.02.2021 

Содержание

  • Что такое ASIC для майнинга
  • Какие плюсы можно получить, если купить ASIC
  • Как выбрать ASIC для майнинга
  • Аренда АСИКа
  • ASIC для покупки в 2021 году
  • Bitmain Antminer S19 Pro – 110TH/s
  • Innosilicon A10 Pro+ ETH Miner (750Mh) 7GB
  • Bitmain Antminer Z15
  • StrongU STU-U6 Pro
  • StrongU STU-U1++
  • Сравнение рига из видеокарт для майнинга с АСИК
  • Стоит ли приобретать ASIC для майнинга в 2021

Что такое ASIC для майнинга

Эта аббревиатура обозначает устройство, которое может выполнять операции в криптографии, связанные с добычей Bitcoin или альткоинов. В зависимости от производителя и конкретной модели, умеют работать с разными алгоритмами шифрования, поэтому наилучшим образом подходят для определённых криптовалют. image Работает АСИК майнер на базе интегральных схем, благодаря чему и достигается высокая производительность при выполнении вычислений. Всё это упаковывается в специально созданный корпус с продуманным охлаждением, для продления срока эксплуатации оборудования.

Какие плюсы можно получить, если купить ASIC

Все знают о возможности добывать криптовалюту на собственном компьютере или ферме, созданной на базе видеокарт. Но для этого нужно обладать некоторыми знаниями, уметь собирать стеки из нескольких GPU, настраивать специальные программы и т.п. Решив купить АСИК, задача облегчается, а также появляются следующие положительные моменты:

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

image Если бы всё состояло исключительно из плюсов, то все бы майнили таким образом, но это не совсем так. Поэтому нельзя не отметить несколько особенностей ASIC майнеров, которые необходимо учитывать перед приобретением:

  • Производитель предлагает только 1 или несколько алгоритмов, с помощью которых возможен майнинг.
  • Хорошее охлаждение невозможно без множества вентиляторов, поэтому устройство издаёт шум, иногда достаточно ощутимый.
  • Готовая машина для добычи Биткоина и другой крипты потребляет достаточно много энергии, поэтому требуется хороший блок питания.
  • В случае выхода из строя какого-то элемента оборудования, устранить поломку самостоятельно бывает затруднительно, и приходится обращаться за помощью в сервисный центр.
  • При увеличении сложности майнинга, DAG файлов, АСИК потеряет эффективность, и единственным способом её восстановления будет – покупка новой модели.

Как выбрать ASIC для майнинга

Основные параметры, на которые нужно обращать внимание:

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

Исходя из этого можно сделать предварительный вывод, какова окупаемость конкретного АСИК в майнинге. Также можно посмотреть и на эти моменты:

  • возможность самостоятельно заменить внутренние элементы и выполнять периодический уход;
  • уровень издаваемого шума при максимальной нагрузке;
  • гарантия от производителя и что в неё входит;
  • вес;
  • габариты.

Всё это позволит купить ASIC, подходящий под конкретно ваши нужды и желаемый доход.

Аренда АСИКа

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

Виртуальная аренда подразумевает, что вы будете майнить крипту в облаке, и не сможете иметь физического доступа к оборудованию. С одной стороны, не придётся следить за работоспособностью, чистить что-то и т.д. Однако, в интернете встречаются мошенники, которые просто возьмут плату за аренду, а в итоге вы останетесь ни с чем. Физическая аренда возможна, если в вашем городе у кого-то уже есть крупная майнинг-ферма, и он готов отдать её или часть в пользование. Но тут нужно понимать, что вряд ли кто-то будет сдавать в прокат оборудование, если оно и так может приносить постоянный доход.

Глядя на эти моменты, можно сказать, что лучше купить АСИК в собственное пользование и зарабатывать именно на нём. Конечно, предварительно стоит посмотреть наш рейтинг ASIC в 2021 году, где мы рассмотрим самые популярные модели на сегодня.

ASIC для покупки в 2021 году

В нашем рейтинге мы взяли самые известные алгоритмы, и предложили для них наиболее производительные модели. ТОП актуален на январь-февраль 2021 года, потому что ситуация с курсом криптовалют постоянно меняется и тяжело предугадать, какая взлетит в ближайший месяц.

Цены взяты с официальных магазинов и не учитывают стоимость доставки в ваш конкретный регион. При покупке у поставщиков, стоимость может разительно отличаться от представленной. Комиссия везде 1%, но при необходимости вы сами можете посчитать выгоду, воспользовавшись калькулятором майнинга. Доход показан за месяц круглосуточной добычи криптовалюты.

Отметим, что при расчёте доходности мы считали электроэнергию по 5,66 рубля или 0,075$. Это тариф для домашнего пользования. Но понимая, как работает майнинг на АСИК и сколько это потребляет энергии, далеко не все делают это дома, предпочитая арендовать помещение на промышленной площадке, с другими тарифами. Хотя, при условии установки только 1 такого устройства, добыча криптовалюты дома является нормальной.

Bitmain Antminer S19 Pro – 110TH/s

  • Цена – 3559$;
  • Алгоритм – SHA256;
  • Хешрейт – 110 TH/s;
  • Потребление – 3250 W;
  • Доход – 608$.

Innosilicon A10 Pro+ ETH Miner (750Mh) 7GB

  • Цена – 4285$;
  • Алгоритм – Ethash;
  • Хешрейт – 750 MH/s;
  • Потребление – 1350 W;
  • Доход – 2203$.

Bitmain Antminer Z15

  • Цена – 3090$;
  • Алгоритм – Equihash;
  • Хешрейт – 420 KH/s;
  • Потребление – 1510 W;
  • Доход – 386$.

StrongU STU-U6 Pro

  • Цена – 1350$;
  • Алгоритм – X11;
  • Хешрейт – 3260 GH/s;
  • Потребление – 2145 W;
  • Доход – 1309$.

StrongU STU-U1++

  • Цена – 880$;
  • Алгоритм – Blake256R14;
  • Хешрейт – 52 TH/s;
  • Потребление – 2200 W;
  • Доход – 460$.

Сравнение рига из видеокарт для майнинга с АСИК

Для примера возьмём Innosilicon A10 Pro+ c 750 MH/s. Его противником будут выступать фермы из GPU RTX 30 серии с похожим по значению хешрейтом на Эфире.

ASIC 8*RTX 3070 8*RTX 3080 8*RTX 3090
Рекомендованная цена, $ 4285 600*13=7800 837*8=6696 1807*6=10842
Потребление, W 1350 200*13=2600 (андервольтинг) 240*8=1920 (андервольтинг) 300*6=1800 (андервольтинг)
Хешрейт, MH/S 750 60*13=780 100*8=800 125*6=750

Как видно из таблицы, даже при учёте рекомендованной стоимости, а не той, за которую они реально сейчас продаются, видеокарты показывают себя хуже. Конечно, если сравнивать их с устаревшими ASIC s9 и подобными, то они могут и оказаться выгодными, но всё же мы смотрим на ситуацию в 2021 году.

Стоит ли приобретать ASIC для майнинга в 2021

Вам Будет Интересно:

Antminer S9 – 13.5TH/s б/у с нбп/обп

Bitmain, китайский производитель ASIC-майнеров, пустил в продажу партию Antminer S9, которая первона..

8500 руб/шт.₽ –>

Ebit Miner E9 Plus – 9 TH/s

Ebit E9 Plus – новый майнер от производителя, зарекомендовавшего себя с наилучшей точки зрения. Асик..

27000 руб/шт.₽ –>

Antminer S17 PRO – 53 TH/s

Китайский производитель ASIC-майнеров – Bitmain, выпустил в продажу партию Antminer S17..

136000 руб/шт.₽ –>

Antminer S15 – 28 TH/s

Китайский производитель ASIC-майнеров – Bitmain, выпустил в продажу партию Antminer S15..

62000 руб/шт.₽ –>

Antminer S11 – 20,5 TH/s

Все, кто так или иначе связан с майнингом криптовалюты (биткоин, эфириум, прочие альткоины) хорошо з..

45000 руб/шт.₽ –>

Avalon Miner 841

Серия ASIC-майнеров AvalonMiner выпускается китайской компанией Canaan Creative. На данный момен..

55000 руб/шт.₽ –>

Whatsminer M3x 12,5 TH/s б/у с блоком

Майнинг криптовалют становится одним из самых популярных занятий в современном мире, которое, к то..

4500 руб/шт.₽ –>

Antminer T9+ – 10.5TH/s б/у с нбп/обп

Вопреки прогнозам скептиков, курс криптовалюти продолжает расти на радость тем прозорливым пользоват..

5500 руб/шт.₽ –>

Antminer S9 Hydro – 18TH/s

Китайский производитель майнингового оборудования Bitmain официально представил Antminer S9 Hydro — ..

95000 руб/шт.₽ –>

Antminer T15 – 23 TH/s

Bitmain, китайский производитель ASIC-майнеров, пустил в продажу партию Antminer T15..

51000 руб/шт.₽ –>

Antminer V9 – 4TH/s

Обзор асика bitmain antminer V9Так как криптовалюта надежно закрепилась на мировом рынке, в качестве..

19000 руб/шт.₽ –>

Avalon 920 – 18 TH/s

Майнер AVALON 920 от компании Canaan работает по алгоритму SHA-256 с максимальным хэшрейтом в 18 Th/s.

21000 руб/шт.₽ –>

Antminer T17 42TH/s

87000 руб/шт.₽ –>

INNOSILICON T3-50T новый

73000 руб/шт.₽ –>

Bitmain Antminer S9SE 17th новый

20000 руб/шт.₽ –>

EBIT E10 новый

17000 руб/шт.₽ –>

AVALON 1066 новый

74000 руб/шт.₽ –>

INNOSILICON T2T-25T новый

33000 руб/шт.₽ –>

Whatsminer M21s, 56 Th/s новый

94000 руб/шт.₽ –>

INNOSILICON T3+Pro 67T новый

133000 руб/шт.₽ –>

AVALON 1146 56t новый

105000 руб/шт.₽ –>

Dragonmint T2 17th бу

11000 руб/шт.₽ –>

Майнер Bitmain Antminer S9K 13.5TH/s 1150W SHA256 BTC

10000 руб/шт.₽ –>

Whatsminer M20s, 68 Th/s новый

135000 руб/шт.₽ –>

INNOSILICON T3-57T новый

107000 руб/шт.₽ –>

Подробное объяснение принципа алгоритма SHA256

1. Введение в SHA256

SHA256 – это алгоритм, подразделенный под SHA-2.

SHA-2, название происходит от аббревиатуры Secure Hash Algorithm 2 (англ .: Secure Hash Algorithm 2), стандарт алгоритма криптографической хеш-функции, разработанный Агентством национальной безопасности, является одним из алгоритмов SHA, это SHA-1 Преемник.

В соответствии с SHA-2 его можно разделить на шесть различных стандартов алгоритмов.

В том числе: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256.

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

Возвращаясь к SHA256, прямо скажем, это хеш-функция.

Хеш-функции, также известные как алгоритмы хеширования, представляют собой метод создания небольших цифровых «отпечатков пальцев» из любых данных. Хеш-функция сжимает сообщение или данные в дайджест, уменьшая объем данных и фиксируя формат данных. Эта функция перемешивает данные и воссоздает отпечаток пальца, называемый хэш-значением (или хэш-значением). Значение хеша обычно представлено короткой цепочкой случайных букв и цифр.

Для сообщений любой длины SHA256 генерирует 256-битное хеш-значение, называемое дайджестом сообщения.

Это резюме эквивалентно массиву длиной 32 байта, обычно представленному шестнадцатеричной строкой длиной 64

Давайте посмотрим на пример:

Станьте программистом блокчейна на 100 дней, и дядя Красной Армии ведет нас, сражаясь!

В этом предложении значение хеш-функции, полученное после хеш-функции SHA256:

A7FCFC6B5269BDCCE571798D618EA219A68B96CB87A0E21080C2E758D23E4CE9

Нашел один здесьSHA256 онлайн-инструмент проверки, Может использоваться для проверки результата хеширования SHA256, а также для проверки правильности кода SHA256. Это очень удобно для использования, вы можете почувствовать это.

2. Подробное объяснение принципа SHA256

Чтобы лучше понять принцип SHA256, вот модули, которые можно извлечь отдельно от алгоритма, в том числеПостоянная инициализацияПредварительная обработка информацииИспользуемые логические операцииВведем отдельно, после того, как избавимся от этих барьеров в понимании, давайте рассмотрим основную часть алгоритма SHA256, то есть как вычисляется дайджест сообщения.

2.1 Постоянная инициализация

8 начальных хеш-значений и 64 хеш-константы используются в алгоритме SHA256

Среди них алгоритм SHA2568 начальных хеш-значенийследующее:

Эти начальные значения получают, взяв первые 32 бита дробной части квадратного корня из первых 8 простых чисел (2, 3, 5, 7, 11, 11, 13, 17 и 19) в натуральные числа

Например, 2″ role=”presentation” > 2

2 Дробная часть составляет около 0,414213562373095048, и 0.414213562373095048≈6∗16−1+a∗16−2+ ∗16−3+…” role=”presentation”> 0.414213562373095048616 1 +a16 2 + 16 3 +... 0.414213562373095048 ≈ 6 ∗ 16 − 1 + a ∗ 16 − 2 + ∗ 16 − 3 + . . . Следовательно, дробная часть квадратного корня из простого числа 2 составляет первые 32 бита и соответствует0x6a09e667

В алгоритме SHA256 используется64 константыследующее:

Подобно 8 начальным значениям хеша, эти константы являются первыми 64 простыми числами в натуральном числе (2,3,5,7,11,13,17,19,23,29,31,37,41,43,47, 53,59,61,67,71,73,79,83,89,97 …) дробная часть корня куба происходит от первых 32 битов.

2.2 Предварительная обработка информации (предварительная обработка)

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

Предварительная обработка информации делится на два этапа:Дополнительные биты заполнениясДополнительная длина

STEP1: дополнительные биты заполнения

Заполните конец сообщения, чтобы оставшаяся часть длины сообщения после модуля 512 составляла 448

Заполнение выполняется таким образом, что первый бит заполняется 1, а затем оба заполняются 0, пока длина не соответствует модулю 512, а остаток равен 448.

Следует отметить, что информация должна быть дополнена, то есть, даже если длина удовлетворяла остатку после того, как по модулю 512 было 448, биты дополнения также должны выполняться, чтобы заполнить 512 бит.

Следовательно, заполнение должно заполнять как минимум один бит и до 512 бит.

пример: Используйте сообщение «abc» в качестве примера, чтобы показать процесс заполнения.

соответствует а, б, вКод ASCII97, 98, 99 соответственно

Итак, двоичный код исходной информации: 01100001 01100010 01100011

Первый шаг для заполнения позиции, сначала заполните «1»: 0110000101100010 01100011 1

На втором этапе заполнения заполняется 423 «0»: 01100001 01100010 01100011 10000000 00000000… 00000000

Данные после завершения битового дополнения выглядят следующим образом (в шестнадцатеричном формате для ознакомления):

Почему 448?

Поскольку после первого этапа предварительной обработки, на втором этапе будут добавлены 64-разрядные данные, указывающие длину исходного сообщения. И 448 + 64 = 512, что просто является полной структурой.

STEP2: дополнительное значение длины

Дополнительное значение длины заключается в добавлении информации о длине исходных данных (сообщение перед первым этапом заполнения) к сообщению после выполнения операции заполнения.

Оригинальный текст, данный в Википедии:append length of message (before pre-processing), in bits, as 64-bit big-endian integer

SHA256 использует 64-битные данные для представления длины исходного сообщения.

Следовательно, длина сообщения, рассчитанная SHA256, должна быть меньше 264″ role=”presentation” > 2 6 4

2 6 4 Конечно, в большинстве случаев это достаточно велико.

Метод кодирования информации о длине – это 64-разрядное целое число с прямым порядком байтов

наBig endianЗначение дано в конце статьи

Теперь вернемся к примеру, сообщение «abc», 3 символа, занимает 24 бита.

Поэтому после операции дополнения длины все сообщение становится следующим (шестнадцатеричный формат)

2.3 Логические операции

Все операции, выполняемые в хэш-функции SHA256, являются логическими битовыми операциями.

Включая следующие логические функции:

Ch(x,y,z)=(x∧y)⊕(¬x∧z)” role=”presentation”> h(x, , )=(x )(¬x ) C h ( x , y , z ) = ( x ∧ y ) ⊕ ( ¬ x ∧ z ) Ma(x,y,z)=(x∧y)⊕(x∧z)⊕(y∧z)” role=”presentation”> a(x, , )=(x )(x )( ) M a ( x , y , z ) = ( x ∧ y ) ⊕ ( x ∧ z ) ⊕ ( y ∧ z ) Σ (x)=S2(x)⊕S13(x)⊕S22(x)” role=”presentation”> Σ (x)=2 (x)13 (x)22 (x) Σ ( x ) = S 2 ( x ) ⊕ S 13 ( x ) ⊕ S 22 ( x ) Σ1(x)=S6(x)⊕S11(x)⊕S25(x)” role=”presentation”> Σ 1 (x)=6 (x)11 (x)25 (x) Σ 1 ( x ) = S 6 ( x ) ⊕ S 11 ( x ) ⊕ S 25 ( x ) σ (x)=S7(x)⊕S18(x)⊕R3(x)” role=”presentation”> (x)=7 (x)18 (x)R 3 (x) σ ( x ) = S 7 ( x ) ⊕ S 18 ( x ) ⊕ R 3 ( x ) σ1(x)=S17(x)⊕S19(x)⊕R10(x)” role=”presentation”> 1 (x)=17 (x)19 (x)R 10 (x) σ 1 ( x ) = S 17 ( x ) ⊕ S 19 ( x ) ⊕ R 10 ( x ) где:

логическая операция смысл
∧” role=”presentation” > Побитовое И
¬” role=”presentation” > ¬ ¬ Побитовое «дополнение»
⊕” role=”presentation” > Побитовый XOR
Sn” role=”presentation” > n S n Сдвиг вправо n бит
Rn” role=”presentation” > R n R n Повернуть вправо на n бит

2.4 Рассчитать дайджест сообщения

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

Первое: разбить сообщение на 512-битные блоки

(break message into 512-bit chunks)

Предположим, что сообщение M может быть разложено на n блоков, поэтому все, что нужно алгоритму, – это выполнить n итераций, а результатом n итераций является окончательное значение хеша, которое представляет собой 256-битный цифровой дайджест.

Начальное значение 256-битного дайджеста, H0, вычисляется через первый блок данных, чтобы получить H1, который является первой итерацией.

H1 получает H2 через второй блок данных, …, обрабатывает его по очереди и, наконец, получает Hn, который является окончательным дайджестом 256-битного сообщения

Используйте отображение для каждой итерации Map(Hi−1)=Hi” role=”presentation” > ap(i1 )=i

M a p ( H i − 1 ) = H i Означает, что итерация может быть отображена более ярко как:

256 бит на картинкеHiОписано 8 маленьких блоков, это потому, что наименьшая арифметическая единица в алгоритме SHA256 называется «Слово» (Word), слово составляет 32 бита.

Кроме того, в первой итерации начальное значение карты устанавливается равным 8 начальным значениям введенного ранее хеша, как показано на следующем рисунке:

Следующее начинает вводить содержание каждой итерации, то есть отображение Map(Hi−1)=Hi” role=”presentation” > ap(i1 )=i

M a p ( H i − 1 ) = H i Конкретный алгоритм

ШАГ 1: Построить 64 слова

break chunk into sixteen 32-bit big-endian words w[0], …, w[15]

Для каждого блока разложите блок на 16 32-битных слов с прямым порядком байтов, обозначаемых как w [0],…, w [15]

Другими словами, первые 16 слов непосредственно разлагаются из i-го блока сообщения.

Остальные слова получаются по следующей итерационной формуле:

Wt=σ1(Wt−2)+Wt−7+σ (Wt−15)+Wt−16″ role=”presentation”> t =1 (t2 )+t7 + (t15 )+t16 W t = σ 1 ( W t − 2 ) + W t − 7 + σ ( W t − 15 ) + W t − 16

ШАГ 2: 64 цикла

карта Map(Hi−1)=Hi” role=”presentation” > ap(i1 )=i

M a p ( H i − 1 ) = H i Содержит 64 цикла шифрования

То есть 64 цикла шифрования могут быть выполнены для завершения одной итерации

Каждый цикл шифрования может быть описан следующим рисунком:

На рисунке 8 слов ABCDEFGH обновлены в соответствии с определенными правилами, среди которых

Синие квадраты – это заранее определенные нелинейные логические функции, которые были выложены выше.

Квадрат красного поля представляет мод 232″ role=”presentation” > 2 32

2 32 Кроме того, два числа складываются вместе, если результат больше 232″ role=”presentation” > 2 32 2 32 , Вы должны разделить на 232″ role=”presentation” > 2 32 2 32 И найти остаток.

Начальные значения ABCDEFGH в начале Hi−1( ),Hi−1(1),…,Hi−1(7)” role=”presentation” > i1 ( ),i1 (1),...,i1 (7)

H i − 1 ( ) , H i − 1 ( 1 ) , . . . , H i − 1 ( 7 )

Kt – т-й ключ, соответствующий 64 константам, которые мы упомянули выше

Wt – это t-е слово, сгенерированное в этом блоке. Исходное сообщение разбивается на 512-битные блоки фиксированной длины, и для каждого блока генерируется 64 слова. Восемь слов ABCDEFGH циклически шифруются путем повторения цикла n раз.

Восемь символов, сгенерированных последним циклом, являются хеш-строкой, соответствующей i-му блоку. Hi” role=”presentation” > i

H i

Это изменение завершает все введения в алгоритм SHA256

3. SHA256 алгоритм псевдокода

Теперь мы можем объединить псевдокод алгоритма SHA256 и прочесать все вышеперечисленные шаги:

4. Ссылки

Это примечание в основном относится к интегрированной информации следующим образом:

SHA-2 wiki

Биткойн-алгоритм – введение в алгоритм SHA256

Реализация алгоритма SHA-256

Руководство по эксплуатации: Проверьте SHA256

Big endian и Little endian

Для типов данных, таких как целые и длинные целые, существуют проблемы с порядком старшего и младшего порядка расположения байтов.

Big endian считает, что первый байт является самым значимым байтом (для того, чтобы от младшего адреса к старшему адресу сохранялись данные от старшего байта до младшего байта)

Напротив, Little Endian считает, что первый байт является наименее значимым байтом (младший байт старшего байта данных хранится в порядке от младшего адреса к старшему адресу).

Например, предположим, что следующие данные начинаются с адреса памяти 0x0000:

адрес данные
0x0000 0x12
0x0001 0x34
0x0002 0xab
0x0003 0xcd

Предположим, мы собираемся прочитать четырехбайтовую переменную с адресом 0x0000.

Если порядок байтов имеет порядок байтов, результат чтения равен 0x1234abcd;

Если порядок байтов является прямым порядком байтов, результатом чтения будет 0xcdab3412.

Если мы запишем 0x1234abcd в память, начиная с 0x0000, результаты хранения режимов Little Endian и Big Endian будут следующими:

адрес 0x0000 0x0001 0x0002 0x0003
big-Big_endian 0x12 0x34 0xab 0xcd
little-endian 0xcd 0xab 0x34 0x12

Ссылки

Нажмите, чтобы вернуться к тексту

Интеллектуальная рекомендация

Androidstudio Findbugs Plugin Runding Proment Com.Google.wireless.indroid.sdk.stats.intellijindexingstats $ index

аномальный Error:Internal error: (java.lang.ClassNotFoundException) com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index java.lang.ClassNotFoundException: com.google.wireless.android.sdk….

Как быстро оптимизировать Wi-Fi дома за 30 минут? У инженеров али есть хитрости

Путеводитель Али Мей: Современные люди не могут обойтись без мобильных телефонов, а тем более с Wi-Fi. Многие студенты часто жалуются на неудобное использование Wi-Fi дома, игры и просмотр видео завис…

TextView клавиатура становится отправить, серый отправить, оптимизация мелких деталей

В последнее время я выполняю такую ​​функцию, как публикация ответа и комментирование, обобщение знаний и их запись для облегчения последующего поиска. 1. Измените кнопку переноса клавиатуры в UITextV…

[Linux] Установите phpMyadmin

1. Загрузите установочный пакет phpMyAdmin. 2. Поместите загруженный установочный пакет в веб-каталог. 3. Настройте phpmyadmin. Введите phpmyadmin, и вы увидите config.sample.inc.php , затем cp config…

Проект строительства Vue-cli 3.x

Установите инструмент Scaffold Vue-Cli 3.x: Беги после завершения установки: Проект инициализации: Введите имя проекта по запросу. Отказ Отказ Отказ Затем подождите шаблон загрузки. CD входит в зависи…

Вам также может понравиться

О проблеме присвоения коробки после easyui

(1) При назначении страницы всплывающего окна в рамке Easyui, обнаружена, что значение всегда опустошено. Позже было обнаружено, что позвонит Document.getElementbyId («EditForm») в методе …

Измените ширину отображения метки в Layui

Возникшие проблемы   решение  …

SSD1306 (OLED-экран) проблема обратного дисплея

Вчера вступил во владение проектом, который нуждался в обслуживании. Один из экранов OLED всегда менялся. Вот оригинальный драйвер: Мне потребовалось много времени, чтобы найти его. , , Чтобы изменить…

201621123015 «Программирование на Java», неделя, 11 недель

1. Итоги обучения на этой неделе 2. Письменные задания 1. Чтение исходного кода: многопоточная программа BounceThread 1.1 Для чего нужен класс BallRunnable? Почему мне нужно вызвать Thread.sleep для с…

Применение извлечения: возьмите зеркало бинарного дерева в качестве примера (иллюстрация, углубленный анализ каждого шага)

Проблема разработки: управлять данным двоичным деревом, преобразуйте его в зеркало источника два вилка Идеи решения: Для этой проблемы вы можете решить, вы можете решить ее, с третьей стороной перемен…

Главная Альткойны Объясняем крипто-алгоритмы майнинга image

imageМногие интересуются техническими основами криптовалют, но немногие знакомы с криптографией. Для того, чтобы докопаться до сути происходящего в биткойн-протоколе приходится продираться через дебри криптографических терминов, загадочных и неудобных акронимов типа SHA-256, Scrypt, base58check, RIPMD-160 и т.п. Мы уже освещали ранее некоторые аспекты биткойн-криптографии. В этой статье мы постараемся рассказать об одной из наиболее важных ее сторон – крипто-алгоритмах майнинга. 

Классика: SHA-256

imageНачнем наш обзор, конечно же, с классического SHA-256, с которого все начиналось — именно на этом алгоритме построен биткойн-майнинг, как и майнинг подавляющего большинства биткойн-клонов (альткойнов).

Так что же это такое этот самый SHA-256? Это криптографическая хэш-функция, которая была разработана нашими «друзьями» – Агентством национальной безопасности США. Подождите, не спешите впадать в прострацию, здесь не о чем волноваться. Потерпите немного, обещаю, что скучать вы точно не будете.

Основная работа любой хэш-функции заключается в превращении (или хэшировании) произвольного набора элементов данных в значение фиксированной длины («отпечатка» или «дайджеста»). Это значение будет однозначно характеризовать набор исходных данных (служить как бы его подписью), без возможности извлечения этих исходных данных. Это официальное объяснение из Википедии, замечательное и научно-обоснованное, но вот только я, например, не говорю на таком языке. И уверен, что большинство из вас тоже. А посему позвольте мне объяснить значение этого «феномена», по-нашему, по-простому.

Как мы все знаем, при майнинге SHA-256 криптомонет, мы решаем поставленную задачу при помощи CPU, GPU или специализированного процессора. Процессы преобразования отображаются в интерфейсе программы, предназначенной для майнинга, например, в виде строки «Accepted 0aef41a3b». Значение 0aef41a3b — это и есть хэш. Он является как бы подписью большого набора данных (собственно, очередного блока транзакций с добавленным к нему случайным числом). Эта короткая строка как бы представляет собой блок, который состоит из нескольких тысяч, если не миллионов, подобных строк.

Это также объясняет то, почему вам нужно решить перебором множество задач, прежде чем удастся отыскать нужный хэш для нового блока. Ведь мы ищем не какой попало хэш, а тот, который начинается на определенное количество нулей. У вас имеется один шанс на тысячу, десятки, сотни тысяч, миллионы решений, что случайно получившийся хэш будет иметь нужное количество нулей в начале. Сколько именно? Определяется параметром сложности, которое задает ваш майнинг-пул. Заранее понять, получится у вас «красивый хэш» или нет, невозможно. Это похоже на игру в лотерею, но с машинами, которые могут выполнять вычисление выигрышной комбинации быстрее и лучше, чем любой из нас.

Вы считаете, что для решения задач, связанных с хэшированием при использовании протокола SHA-256, вам потребуется мощное аппаратное обеспечение? В этом есть определенный смысл. Чем больше используется вычислительной мощности, тем лучше, так как увеличиваются шансы на добычу монет. Но имейте в виду, что вы не единственный, кто занимается майнингом. Есть люди, которые располагают более производительным аппаратным обеспечением. Не расстраивайтесь, у вас есть все шансы на выигрыш. Это похоже на игру в лотерею, вы никогда не знаете, когда повезет!

Теперь вернемся к алгоритму SHA-256. Криптовалюта — это не единичный пример, где используется SHA-256. Есть несколько протоколов, о которых вы, скорее всего, слышали и которые используют данный алгоритм. Это протоколы SSL, SSH, PGP и многие другие. Каждый раз, когда вы заходите на защищенный веб-сайт с помощью сертификата SSL, используется SHA-256. Бьюсь об заклад, вы не задумывались об этом, не так ли? Все мы узнаем что-то новое со временем!

Именно алгоритм SHA-256 реализован во всех выпущенных на настоящий момент специализированных ASIC-майнеров, ASIC-оборудование для других алгоритмов майнинга пока только разрабатывается. Помимо Биткойна, майнинг, основанный на SHA-256, используется в ряде других цифровых валют-клонов. Например, такие альткойны как Peercoin и Namecoin его используют. В последнее время наблюдается всплеск новых SHA-256 монет: Zetacoin, Ocoin, Tekcoin и десятки других.

Задачки посложнее: Scrypt

imageАлгоритм SHA-256 — не единственный алгоритм, который интересен для майнеров. Вторым по популярности майнинг-алгоритмом в мире криптовалют является Scrypt. История появления Scrypt связана с тем, что уже на ранних этапах существования биткойна стало очевидно, что простота функции SHA-256 позволяет сделать аппаратные решения, которые будут выполнять такие вычисления гораздо эффективнее, чем на обычном компьютерном процессоре (CPU). И действительно, биткойн-майнинг очень быстро мигрировал с CPU на графические процессоры (GPU), затем на программируемые аппаратные устройства (FPGA), после чего вышли специально под него заточенные микросхемы (ASIC). Высокая концентрация специализированной ASIC-мощности представляет проблему для децентрализованной валюты.

Функция хэшинга Scrypt специально разрабатывалась с целью усложнить аппаратные реализации путем увеличения количества ресурсов, требуемых для вычисления. Поэтому (по крайней мере в теории) такой концентрации майнинг-ресурсов как в биткойне не должно произойти, и он останется децентрализованным.

По своей сути, Scrypt-майнинг не сильно отличается от биткойн-майнинга. На вход подается блок данных, к нему применяется хэш-функция, на выходе мы пытаемся получить «красивый хэш». Вот только сама хэш-функция гораздо сложнее в вычислении. Данный алгоритм использует более значительное количество оперативной памяти (памяти с произвольным доступом), чем SHA-256. Память в Scrypt используется для хранения большого вектора псевдослучайных битовых последовательностей, генерируемых в самом начале алгоритма. После создания вектора его элементы запрашиваются в псевдослучайном порядке и комбинируются друг с другом для получения итогового ключа.

Так как алгоритм генерации вектора известен, в принципе возможна реализация scrypt, не требующая особенно много памяти, а высчитывающая каждый элемент в момент обращения. Однако вычисление элемента относительно сложно, и в процессе работы функции scrypt каждый элемент считывается много раз. В Scrypt заложен такой баланс между памятью и временем, что реализации, не использующие память, получаются слишком медленными.

Эта искусственно созданная сложность, весь этот трудоемкий вычислительный процесс и требования к памяти приводят к тому, что любое специализированное оборудование для Scrypt-майнинга не будет на порядки эффективнее универсальных устройств (GPU, CPU). 

В конечном счете, все сводится к следующему: протоколы SHA-256 и Scrypt работают ради одной цели – получить перебором «красивый хэш», который даст нам (или, скорее, пулу, на который мы работаем) право удлинить блокчейн и получить за это вознаграждения. Они просто решают поставленную задачу по-разному: в SHA-256 упор на технические возможности аппаратного обеспечения — чем выше производительность, тем лучше результат. А Scrypt требует  в работе большой объем памяти. Соответственно, производительность напрямую зависит от размера оперативного запоминающего устройства (ОЗУ) и видеокарт, установленных в компьютере.

Самым известным альткойном из использующих в майнинге Scrypt является Litecoin. Есть и Dogecoin, Digitalcoin, Franco, Bottlecaps и многие другие. Популярность Scrypt-монет, особенно лайткойна, существенно возросла после того как биткойн-майнинг массово мигрировал на ASIC и бывшие майнеры с видеокартами остались не у дел — их оборудование не может конкурировать со специализированными комбайнами. Вот они и приспособили свои видюшки к лайткойн-майнингу, или к добыче другой экзотики, которую пока еще можно сбыть доверчивым горе-инвесторам, ожидающим чуда.

Крипто-танцы: Scrypt-Jane

imageЗнакомьтесь – это Джейн! Нет, нет, она и Scrypt не состоят в браке, хотя между ними все же есть некие родственные отношения. Scrypt-Jane подобно любой другой девушке любит хорошо провести время. А ее способности к перемешиванию данных и приятели-алгоритмы унесут вас в самые экзотические места! Не понимаете? Сейчас все объясню.

Scypt-Jane поддерживает не менее трех различных систем поточного шифрования. Прежде всего, у нас есть Salsa20/8. Нет, это не латиноамериканский танец — на самом деле, это довольно простая функция. Основная ее работа заключается в приеме 192-байтной строки (из букв или цифр) и дальнейшем ее преобразовании в 64-байтную строку Salsa20 (х).

Непонятно, не так ли? Хорошо, постараюсь использовать меньше теории. Salsa20 состоит из двух частей: потокового шифра для шифрования данных (это, должно быть, звучит более знакомо) и функции сжатия (так называемый алгоритм Rumba20), предназначенной для сжимания строки в 192 байта до 64-байтного значения. Используя лексикон «чайника», можно сказать так: ваша строка может быть длиннее 64 байт, пока не сравняется со значением в 192 байта, при этом строка будет сжата (читай: конвертирована) до 64-байтной строки.

Теперь, когда мы немного разогрелись после сальсы и румбы, пришла пора вводить вторую функцию – ChaCha20. Честно, это не я выдумываю такие названия. ChaCha20 очень похож Salsa20: это такой же поточный шифр. И, тем не менее, он предлагает некоторые дополнительные услуги, такие как увеличение устойчивости к криптоанализу. Он также улучшает перемешивание данных на раунд. То есть, если вы занимаетесь добычей криптовалюты в составе майнерского пула, то вы можете увидеть, что один майнерский раунд (период времени, в течение которого пул находит один блок) может составлять либо длинный, либо короткий промежуток времени. Длительность подобных раундов частично зависит и от улучшенного перемешивания, предлагаемого ChaCha20 из Scrypt-Jane. Есть и другие факторы, влияющие на снижение времени раунда, но об этом позже.

И, наконец, последняя, но не менее важная третья функция перемешивания данных — Salsa6420/8. Сексуальное название, не так ли? Salsa6420/8 является доказательством правильности концепции 64-байтной версии Salsa20/8. Это просто улучшенная версия Salsa20/8, которая позволяет работать с более высокобайтными блоками. Я мог бы продолжить в том же духе выдавать подробную техническую информацию, но, боюсь, что половина из вас, мои дорогие читатели, уже заснула, а остальные принялись за игрушки на своих смартфонах, так что давайте не будем заострять на этом внимание. Просто помните о том, что у Scrypt-Jane имеется три отличных «миксовых партнера».

Но вернемся к реальности! Scrypt-Jane также поддерживает несколько хэш-функций. Одна из них уже очень хорошо известна всем нам – это SHA-256. Она также поддерживает более продвинутый вариант SHA-512. Другие поддерживаемые хэш-функции включают BLAKE256/512, Skein512 и Keccak256/512 (или просто SHA -3).

BLAKE256-512 отличается очень простой разработкой для применения и опирается на уже проанализированные нами компоненты: структуру HAIFA (не будем ее рассматривать в данный момент) и основную функцию ChaCha (которую мы затронули ранее). Наиболее характерные особенности BLAKE – это высокий запас надежности (довольно важная характеристика, но о ней не сейчас) и высокопроизводительная универсальность (что тоже очень важно для майнеров). Что нужно запомнить о BLAKE, так это то, что она может и будет работать быстрее, чем SHA- 2(56) на ряде платформ.

С другой стороны, у нас же есть Skein512. Тех, кто придумывает такие великолепные имена, нужно наградить медалью… Skein («лялька» в переводе на русский) представляет собой хэш-функцию, представленную на конкурсе криптографических хэш алгоритмов. Она сочетает в себе скорость, безопасность, простоту и гибкость. Все мы это очень любим, не так ли? Она также очень эффективна на различных платформах как в аппаратной, так и в программной среде. Вы можете найти алгоритм Skein и на маленьких смарт-картах, с которыми большинство из нас имеет большой опыт работы.

Да уж, танцевально-криптографическая терминология тут просто зубодробительная. Но хватит теории, давайте посмотрим на то, что Scrypt-Jane может сделать для нас. Scrypt-Jane имеет свой ​​собственный вариант масштабирования сложности проблем. Scrypt-Jane использует N-фактор (который является числом), и это число определяет количество памяти, необходимой для решения задач. Значение числа N-фактора возрастает через определенные промежутки времени. Обычно это происходит тогда, когда в блокчейне найдено определенное количество блоков. Всякий раз, когда это число N-фактора увеличивается, снижается эффективность добычи криптовалют, так как требуется все больший объем памяти на выполнение тех же задач. Говоря простым языком, количество выполненных задач снизится, то есть упадет и вероятность нахождения решения.

Scrypt-Jane первоначально была предназначена для майнинга только на процессорах CPU как еще более замороченная замена Scrypt. Но увы, доминирование CPU-майнинга и тут длилось недолго. Майнеры, работающие на GPU, как вороны кружили вокруг Scrypt-Jane монет, стремясь увеличить эффективность добычи и, соответственно, прибыль. Вы можете подумать, что даже в случае уменьшения прибыли, вы сможете вести добычу с GPU в течение более длительного времени по сравнению с майнингом на CPU? Боюсь, что вы ошибаетесь. В конце концов, значение N-фактора будет настолько высоко, что для добычи на Scrypt-Jane GPU будут менее эффективным, чем процессоры CPU. В связи с этим, Scrypt-Jane не так-то легко перевести в специализированный ASIC-майнинг, как SHA-256 или даже Scrypt.

Одной из первых Scrypt-Jane-монет, получивших некоторую популярность, была Yacoin (да, да, Yet Another Coin — «еще одна монета»), правда, популярность этой монеты быстро упала вместе с уменьшением интереса к ней майнеров. Совсем недавно мы были свидетелями появления монет, подобных Copperbars (эффективность майнинга на GPU также упала), и самые свежие дополнения к списку – это валюты TIX и Cryptonerd.

Далее везде

Три описанных алгоритма покрывают более 90% всего зоопарка криптовалют, но, конечно же, есть и другие. Чуть ли не еженедельно появляются предложения относительно все более новых и хитромудрых алгоритмов майнинга — все и не осветить. Из относительно новых можно упомянуть особо «асикоустойчивый» алгоритм Dagger, который собираются использовать в криптовалютной платформе нового поколения Ethereum.

Надеемся, эта статья дала вам лучшее представление о том, что представляют из себя наиболее распространенные криптоалгоритмы майнинга. Если вы занимаетесь майнингом, вы теперь лучше понимаете, что именно происходит в недрах вашего гудящего и перегревающегося майнинг-комбайна, и на что конкретно уходит ваше электричество.

Источник: coinspot

Подписывайтесь на новые видео нашего канала!

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий