Алгоритмы шифрования криптовалют

Многих людей интересуют технические аспекты и алгоритмы криптовалют, однако мало кто разбирается в криптографии. Чтобы добраться до сути Bitcoin-протокола, необходимо:

  • владеть криптографической терминологией;
  • выяснить принципы неудобных и таинственных обозначений (Scrypt или SHA-256).



Здесь мы попытаемся поделиться важными сторонами современных новых (2017) и более возрастных видов алгоритмов майнинга.

Начать следует с традиционного варианта SHA-256. Он был положен в основу биткоин-майнинга. Речь идет о хэш-функции, созданной АНБ США. Главная цель каждой хэш-функции – трансформация некоторого числа элементов информации в показатель изначально установленной длины. Значение однозначно характеризует перечень исходных данных. При этом отсутствует возможность извлечь эту информацию.

Говоря простыми словами, известно, что во время майнинга SHA-256 работа осуществляется посредством центрального, графического либо специального процессора. Процедуры трансформаций демонстрирует интерфейс майнингового приложения, в частности, может быть представлена строка Accepted 0aef41a3b. Показатель 0aef41a3b и является хэшем. Речь идет якобы о подписи внушительного объема данных. Короткая строка играет роль блока, состоящего из тысяч, сотен, а иногда и миллионов таких строк.

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

Более сложный алгоритм криптовалют Scrypt

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

  • на графические процессоры;
  • FPGA;

Повышенная концентрация ASIC-мощности является проблемой для децентрализованных валют.

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

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

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

 

Особенности современного алгоритма Scrypt-Jane

Алгоритм Scrypt-Jane работает минимум с тремя системами хеширования. Главным образом здесь присутствует Salsa20/8 – тривиальная функция. Ее основная работа – принимать 192-байтную строку и преобразовать в строку из 64 байтов Salsa20. Последняя функция состоит из потокового кода и Rumba20, используемой для сжатия 192-байтовой строки. Функция ChaCha20 предлагает определенные вспомогательные услуги:

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

Фактически при добыче криптовалюты в рамках майнерского пула можно заметить, что один интервал майнинга может продолжаться дольше или меньше. Продолжительность раундов связана с усовершенствованным перемешиванием благодаря ChaCha20. Существуют и иные факторы, сказывающиеся на сокращении перирда раунда. Заключительной, но тоже важной функцией является Salsa6420/8. Она представляет собой подтверждение правильности концепта 64-байтового варианта Salsa20/8. Это – оптимизированная Salsa20/8, работающая с блоками, где содержится больше байтов. Вы также можете ознакомиться с таблицами других алгоритмов шифрования, чтобы узнать, на каком варианте лучше остановиться.