Алгоритм консенсуса SHA-256 – все о механизме для добычи криптовалюты

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

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

Что такое алгоритм шифрования криптовалют?

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

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

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

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

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

SHA-256 в Биткоине

Биткойн — это первая криптовалюта, которая внедрила SHA-256 в технологию блокчейн. Этот алгоритм является неотъемлемой частью протокола Биткойн.

Биткойн использует алгоритм хеширования SHA-256 в основном для проверки транзакций через механизм консенсуса Proof of Work. Кроме того, он используется для создания адресов Биткойна.

ЧИТАЙТЕ:

Биткоин адрес: Виды и примеры BTC адреса Bitcoin адрес изменился? Почему адрес BTC кошелька постоянно меняется?

Сейчас есть ряд криптовалют и блокчейн-проектов, которые приняли этот алгоритм. Три самых популярных монеты, использующие SHA-256 ​​это:

  • Bitcoin (BTC)
  • Bitcoin Cash (BCH)
  • Bitcoin Satoshi Vision (BSV)

Все эти монеты используют SHA-256 в качестве алгоритма Proof of Work для майнинга.

Пример хеширования


Схема.
Что же такое хеширование? Идея хеш основана на распределении ключей в стандартном массиве H[0..m-1]. Распределение происходит путем вычисления для каждого ключа элемента некой хешированно функции h. Она на основе ключа помогает получить целое число n, которое послужит индексом для массива H. Понятное дело, следует придумать такую хешированную функцию, которая бы давала разный код для разнообразных объектов. К примеру, если в качестве ключа хешированной таблицы следует применить строки, то можно подобрать хешированную функцию, которая основана на таком алгоритме (пример на С): int hash(char* str) {int h = 0; for (int i=0; i

Где m – размер хешированной таблицы, C – константна, большая любого ord(c), а ord() – функция, которая возвращает код символа (число). Для отдельного типа данных можно создать свою хешированную функцию. Но разработаны основные требования к функции: она должна расставлять ключи по ячейкам хешированной таблицы как наиболее равномерно, и должна легко находиться. Ниже предложена таблица. Можно понять, что индексами ключей в хешированной таблице является результат функции h, которая применена к ключу.


Ключ.

Также изображение показывает одну из главных проблем. При довольно низком значении m (размера хешированной таблицы) по отношению к n (числу ключей) или при плохой функции, может произойти так, что 2 ключа будут хешированные в общую ячейку массива H. Это коллизия.

Хорошие функции стремятся свести к нулю шанс формирования коллизий, но, принимая во внимание то, что пространство всех ключей, которые возможны, может быть больше размера хешированной таблицы H, всё-таки избежать их не получится. Но специалистами разработано ряд технологий для разрешения коллизий. Настройка pool SHA256 для добычи монет отображена на видео. Можно понять, как майнить криптовалюту.

Где используется SHA256?

Алгоритм хеширования SHA256 генерирует уникальный 256-битный хэш фиксированного размера. Эта функция позволяет проверять целостность данных.

Он используется в различных приложениях, таких как: цифровые подписи, проверка пароля, проверка подлинности хеш-кода, защита от взлома и блокчейн.

Почему блокчейн и криптовалюта не являются взаимозаменяемыми терминамиЧем отличается приватный блокчейн от публичного?

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

Например:

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

Алгоритм также реализован в некоторых популярных приложениях безопасности и протоколах шифрования. Одно из широко используемых приложений — это сертификаты TLS и SSL для веб-сайтов. Кроме этого, он используется в SSH, PGP, IPsec и S / MIME.

Псевдокод хеш: функции


Псевдокод.
Отличается Scypt-Jane тем, что поддерживает более 3-х различных систем поточного шифра. И для того чтобы сформировать отчетливое понимание алгоритма, следует ознакомиться с характеристикой функционала. Основные функции:

  1. Salsa20/8.
  2. ChaCha20.
  3. Salsa6420/8.

Первостепенно мы имеем Salsa20/8. Это довольно несложная функция, основной задачей функционирования которой является приём 192-байтной строчки (из цифр и букв) и последующее её преобразование в 64-байтную строчку Salsa20 (х).


Salsa20/8.

Salsa20 двухкомпонентная: потоковое шифрование для шифра данных и функция сжатия (алгоритм Румба20), которая нужна для сжатия 192-байтной строчки до 64-байтной. Сказать иначе: строчка может быть больше 64-байтной, пока не станет равна 192-байтной, при этом строчка будет сжиматься до 64 байтов. ChaCha20 имеет небольшие сходства с Сальса20: это также поточное шифрование, но оно предусматривает некоторые дополнительные возможности, например, повышение стойкости к криптоанализ.

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

К слову, на понижение времени раунда оказывают влияние различные факторы. Еще одна важнейшая функция перемешивания информации в Скрипт-Джейн – это Salsa6420/8. Она усовершенствованная версия Salsa20/8, и дает возможность работать с наиболее высокобайтными блоками. Кроме этих функций, Скрипт Джейн поддерживает также ряд хешированных, среди которых присутствует и SHA256. Алгоритмом также поддерживается наиболее инновационный её вариант SHA512.

Технические параметры

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

  • 64-байтный размер блока.
  • Максимальная длина зашифровываемого кода – 33 byte.
  • Параметры дайджеста сообщения – 32 byte.
  • Размер слова по умолчанию – 4 byte.
  • Количество повторений в рамках одного цикла – 64.
  • Скорость алгоритма – 140 Мбит/с.

Как уже было сказано ранее, протокол SHA-256 основывается на концепции Меркла-Дамгарда, а значит, сначала проводится разделение на блоки, а уже потом на отдельные слова.

Набор информации проходит сквозь диапазон повторений – 64 или 80. Каждый цикл сопровождается преобразованием блок слов. Итоговый хэш-код генерируется посредством суммирования первоначальных значений.

Монеты SHA256

Вот список популярных криптовалют для майнинга SHA256. Мы оценили их по популярности и хешрейту сети.

МонетаСайтПул
Bitcoin (BTC)bitcoin.orgpool.btc.com F2Pool
antpool.com
Bitcoin Cash (BCH)bitcoincash.orgBTC.com
bitcoin.com
Bitcoin SV (BSV)bitcoinsv.ioemcd.io
viabtc.com
DigiByte (DGB)digibyte.ioF2Pool
Syscoin (SYS)syscoin.orgmining-dutch.nl
Namecoin (NMC)namecoin.orgF2pool
Peercoin (PPC)peercoin.netZPOOL
Zergpool

Другие монеты на основе SHA-256

Примечание: монеты ниже имеют очень низкий 24-часовой объем торгов. Они редко торгуются на биржах и их сложно продать.

  • Litecoin Cash (LCC)
  • Bitcoin Classic (BXC)
  • Elastos (ELA)
  • Auroracoin (AUR)
  • Bitcoin Vault (BTCV)
  • Super Bitcoin (SBTC)
  • Pyrk (PYRK)
  • EmerCoin (EMC)
  • HTMLCOIN (HTML)
  • Terracoin (TRC)
  • Myriad (XMY) – Multi Algo

Scrypt

Вторым по популярности при майнинге криптовалют можно считать алгоритм скрипт. Появление этого алгоритма на свет связано с тем, что уже незадолго после повышения популярности Биткоина стало предсказуемо скорое пришествие аппаратных решений, которые воспользуются простотой SHA 256 и возьмут добычу монет в свои руки. Так и случилось, сначала майнинг виртуального золота перешёл с процессоров на видеокарты, а затем появились специально заточенные ASIC-системы, которые уже были вне зоны конкуренции. Но подобный подход сильно грозит порушить основной принцип криптовалюты, а именно: децентрализованную структуру. Подобный расклад не мог никого устроить, поэтому в скором времени и появился алгоритм скрипт.

Отличие метода майнинга алгоритмов SHA 256 и Scrypt заключается в том, что для функционирования скрипт необходимо большое количество памяти. Будь-то оперативная память при майнинге процессором или видеопамять при майнинге видеокартой, но факт в том, что если памяти было недостаточно, то процесс нахождения нужного хеша занимал очень много времени. Это, несомненно, сильно отстрочило появление систем ASIC под алгоритм скрипт.

Зависимость от количества памяти объясняется тем, что процесс вычислений и хеширования значительно усложнён по сравнению с предыдущим алгоритмом. Память применяется для хранения псевдослучайных последовательностей, что генерируются в начале исполнения алгоритма. Без сохранения этих данных процесс получения правильного хеша удлиняется в разы. Поэтому ASIC-микросхемы, используемые для майнинга Биткоина, тут неприменимы и нужно новое решение, тем не менее универсальные вычислительные устройства, такие как видеокарты, прекрасно справляются как с одним, так и со вторым алгоритмом.

Через некоторое время свет увидел и усовершенствованный алгоритм scrypt n. Основным его отличием от предыдущей версии стало наличие новой переменной, собственно «N», которая значительно усложняла внедрение специализированных систем. При расчёте каждого нового блока сложность вычислений и необходимое количество памяти повышается, что, несомненно, приводит к необходимости наращивать запоминающее устройство своей системы. Если большой объём видеопамяти не проблема для видеокарты, то про айсик-микросхемы такого сказать нельзя. Введение scrypt n стало серьёзным ударом по ASIC-майнерам и существенно повысило защиту от монополизации тех криптовалют, на которых использовался данный алгоритм.

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями:
Для любых предложений по сайту: [email protected]