Обзор алгоритма шифрования SHA-256
Обзор алгоритма SHA-256: история, использование, майнинг, криптовалюты.
История создания алгоритма SHA – 256
Для чего создавался SHA – 256SHA 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 – 256SHA – 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.