Поделиться ВКонтакте Поделиться в Facebook Добавить в Twitter Поделиться в Однокласниках

Криптовалюты

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

 

Хеши

Хеширование — разбиение теоретически возможного пространства различных ключей (практически неограниченного) шифрования на подмножества для построения кодов данных.

Это преобразование последовательностей в бит-строку, называемое сверткой или хеш-функцией.

Алгоритмы свертки по сложности, стойкости (на взлом), длине результативной строки — различны. Но главное свойство функции – при изменении текста на входе (хотя бы на знак), результат полностью изменяется, что позволяет использовать их в паролях, ЭЦП и др. При этом вход-выход не имеет, по принципу Дирихле, устойчивой детерминированной связи, имеет лишь вероятностную связь. Хеш-функция строит свертки, если они одинаковы – наступает коллизия (конфликт).

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

1) необратимость (за приемлемый промежуток невозможно отыскать вход, которому данное значение соответствовало, т.е. невозможно дешифрование);

2) стойкость (не эвристически, а алгоритмом второе сообщение с подобным хешем невозможно подобрать, т.е. компьютерный подбор невозможен);

3) неустойчивость (небольшим изменениям на входе соответствуют большие изменения выхода, хеша).

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

 

Процедуры хеширования

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

• таблицы с непосредственным (прямым) доступом к ключам – это величина, преобразуемая в адрес или непосредственно сам адрес, но никакие различные ключи не ведут к одному адресу;

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

• извлечение средних цифр квадрата числа, соответствующего ключу в качестве адреса;

• свертка – по частям ключа и арифметико-логическим действиям с ними находят адрес;

• открытое хеширование – классифицируют ключевое множество, строят хеши с целым значением в интервале данного класса;

• закрытое хеширование – в хеш-таблице, ее записи хранится сам элемент;

• линейное тестирование – перебирают части таблицы, с шагом, последовательно;

• квадратичное тестирование – при переборе частей шаг зависит квадратично (в общем случае, нелинейно) от порядка попытки поиска;

• двойное хеширование – адресация суммированием базового и дополнительно задаваемого (относительного) значения;

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

 

«Криптовалютное использование» хеширования

Хэш-функция применяется в криптовалютах. В майнинге, блокчейне используется шифрование, которое помогает майнерам поддерживать транзакции. Используются различными криптовалютами разные криптоалгоритмы – SHA256, Scrypt, Keccak, Lyra2RE, Quark, Axiom, CryptoNight и др. Биткойн, например, применяет SHA256 – классический стандарт США.

Для майнинга необходимо решение алгебраических задач идентификации перебором хеш-значения с заданным количеством начальных нулей – цифровой подписи расшифровываемого блока транзакций (блоков – сотни тысяч) с достаточным хешрейтом.

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

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

Раздел: