Содержание
- История создания алгоритма SHA—256
- Использование в криптовалютах
- Какие криптовалюты используют алгоритм SHA—256
Обзор алгоритма SHA-256: история, использование, майнинг, криптовалюты.
История создания алгоритма SHA—256
Для чего создавался SHA—256
SHA 256 — сокращение от Secure Hashing Algorithm — это популярный криптографический алгоритм хэширования, разработанный National Security Agency — Агентством национальной безопасности США. Задача SHA—256 состоит в том, чтобы сделать из случайного набора данных определённые значения с фиксированной длиной, которое послужит идентификатором этих данных.
Полученное значение сравнивается с дубликатами исходных данных, извлечь которые невозможно. Основная сфера применения алгоритма — использование в различных приложениях или сервисах, связанных с защитой информации, где функция и получила широкое распространение. Также она используется как технология для майнинга криптовалют.
Этот алгоритм относится к группе шифровальных алгоритмов SHA—2, которые в свою очередь разработаны на базе алгоритма SHA—1, впервые созданного в 1995 году для использования в гражданских целях. Сам SHA—2 разработан Агентством национальной безопасности США весной 2002 года. В течение трёх лет АНБ США выпустили патент на использование технологии SHA в гражданских проектах.
В 2012 году в Национальном институте стандартов и технологий создан обновлённый вариант алгоритма: SHA—3. Со временем новый алгоритм будет вытеснять как текущий основной алгоритм SHA—2, так и уже устаревший, но ещё используемый SHA—1.
Хэш—сумма не является технологией шифрования данных в классическом понимании, этим обусловлена невозможность расшифровки данных в обратную сторону. Это односторонняя шифровка для любого количества данных. Все алгоритмы SHA базируются на методе Меркла—Дамгарда: данные разделяют на равномерные группы, каждая из которых проходит через одностороннюю функцию сжатия. В результате этого длина данных уменьшается.
У такого метода есть два значительных достоинства:
- быстрая скорость шифрования и практически невозможная расшифровка без ключей;
- минимальный риск появления коллизий (одинаковых образов).
Где ещё используется
Ежедневно каждый пользователь Сети, зная или нет, использует SHA—256: сертификат безопасности SSL, которым защищён каждый веб—сайт, включает в себя алгоритм SHA—256. Это необходимо для установления и аутентификации защищённого соединения с сайтом.
Плюсы SHA—256
SHA—256 — самый распространённый алгоритм майнинга среди всех остальных. Он зарекомендовал себя как устойчивый к взломам (за редким исключением) и эффективный алгоритм как для задач майнинга, так и для других целей.
Минусы SHA—256
Главным недостатком SHA—256 является его подконтрольность майнерам: обладатели самых больших вычислительных мощностей получают большую часть криптовалюты, что исключает один из основополагающих принципов криптовалют — децентрализованность.
После того как крупные инвесторы начали вкладывать деньги в вычислительные мощности для промышленного майнинга биткоина, сложность майнинга многократно выросла и стала требовать исключительных вычислительных мощностей. Этот недостаток исправлен в других протоколах, более современных и «заточенных» под использование в майнинге криптовалют, таких как Scrypt. Несмотря на то, что сегодня SHA—256 занимает большую часть рынка криптовалют, он будет ослаблять своё влияние в пользу более защищённых и продвинутых протоколов.
Через какое-то время алгоритмы SHA—1 перестали давать необходимый уровень надёжности из—за вероятного возникновения коллизий. SHA—256, как и SHA—512 более защищены от этого недостатка, но вероятность возникновения все равно присутствует.
Использование в криптовалютах
Майнинг на SHA—256
Майнинг на SHA—256, как и на любом другом алгоритме — это процесс решения какой—либо сложной криптографической задачи, которую генерирует программа для майнинга на основе данных с предыдущих блоков.
Майнить с использованием функции SHA—256 можно тремя способами:
- CPU (центральный процессор);
- GPU (графический процессор);
- специализированный процессор: ASIC.
В майнинге хэш—сумма используется в качестве идентификатора уже имеющихся блоков и создания новых на основе предыдущих. Процесс майнинга отображается в интерфейсе в виде «accepted f33ae3bc9…». Где f33ae3bc9 — это хэш—сумма, часть данных, предназначенная для дешифровки. Основной блок состоит из огромного количества подобных хэш—сумм.
То есть, майнинг с алгоритмом SHA—256 представляет собой безостановочный подбор правильного значения хэш—суммы, перебор чисел для создания нового блока. Чем больше ваши вычислительные мощности, тем больше шансов получить правильный блок: скорость перебора различных хэш—сумм зависит от мощностей.
Ввиду того, что Bitcoin построен на алгоритме SHA—256, для конкурентоспособного майнинга на нём необходимы крайне большие вычислительные мощности. Это связано с тем, что для майнинга биткоина достаточно давно налажено производство «асиков» — application specific integrated circuit, т. е. интегральная схема специального назначения. Асики позволяют майнить биткоины и другие криптовалюты на алгоритме SHA—256 гораздо быстрее, эффективнее и дешевле.
Какие криптовалюты используют алгоритм SHA—256
SHA—256 это классический алгоритм для криптовалют: на нем построена основная криптовалюта — Bitcoin. Соответственно, и в форках биткоина используется этот алгоритм: в Bitcoin Cash, Gold, Diamond.
Помимо них, SHA—256 используется также в:
- Steemit;
- DigiByte;
- PeerCoin;
- NameCoin;
- TeckCoin;
- Ocoin;
- Zetacoin;
- EmerCoin.
Также алгоритм SHA-256 используется как подпрограмма в криптовалюте Litecoin, а основным алгоритмом для майнинга там является Scrypt.
Источник: cryptofeed.ru