Алгоритм майнинга Bitcoin (BTC)

Алгоритм биткоина

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

Основное сходство между всеми криптовалютами является то, что все они работают на основе blockchain. Это, пожалуй, единственное, что объединяет их между собой. В остальном идут существенные различия по их стоимости, времени обработки транзакции, сложности вычислительных операций, а также по алгоритму хэширования, лежащего в основе каждой из них. Алгоритм работы биткоина имеет название SHA256. Разработали его АНБ США для использования не только для произведения вычисления хэша блока электронных монет.

Описание алгоритмов биткоина

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

На сервере происходит хэширование поступивших данных и движении средств, фиксирование времени и публикации кэша.

Хэш включает в себя предыдущую метку. Временные метки доказывают, что поступающие на обработку данные существуют на самом деле в определенный отрезок времени.

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

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

За счет наличия тысячи серверов, сети не страшны перебои и остановка работы. Иными словами, если один из пользователей отключается от сети, то это никаким образом не сказывается на работе сети. Так же работает система шифрования данных и биткоин генератор. Рынок криптовалют обширен и включает в себя множество различных монет с разными характеристиками, ниже приведены некоторые из них.

Биткоин Голд

Монета Биткоин Голд представляет собой один из форков одной из наиболее распространенной криптовалюты во всем мире – Bitcoin. Для её добычи применяется алгоритм Equihash, оптимизированный для майнинга на видеокартах.

Биткоин кэш

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

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

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

Видео: Как работает алгоритм биткоина

Алгоритм майнинга биткоина и его альтернативы

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

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

Чтобы понять, что такое алгоритмы майнинга криптовалют, SHA, Scrypt, X15 и остальные, нужно познакомиться с теорией Хеш-функции:

Это процесс превращения информации математическими способами в строчку заданной длины.

Принцип шифрования информации биткоина

Алгоритм хеширования биткоина используется для наилучшего контроля данных методом сравнения. Когда информация обработана и переведена в хеш, обратно данные из него получить нельзя.

Если выберете захешированный файл биткоина, повторите расчёт и узнаете, что строчки хешей сходятся, значит, исходные данные не менялись.

В противном случае несовпадение означает, что информация начального файла изменилась, следовательно, нарушена безопасность системы хранения bitcoin и распространения данных.

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

На каких алгоритмах майнятся криптовалюты

Функция Биткоина SHA — Secure hash Algorithm, это секретный хеш-алгоритм, генерирующий уникальную 256-битную или 32-байтную подпись для текстовой строки.

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

  • Scrypt Nf для Leocoin;
  • X11 для Dash и Vcash;
  • X13 для Ambercoin;
  • Equihash для Bitcoin gold.

SHA-256 и Scrypt — самые распространённые системы алгоритмов для подтверждения блоков транзакций.

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

Основные показатели алгоритма Биткоина

Если термин хеш чаще относится к вычислениям в целях майнинга, то понятие hash-ставка встречается в описании характеристик оборудования для добычи криптовалюты в pool и калькуляторах прибыльности. Чем выше хеш коэффициент, необходимый для успешной добычи, тем дольше и сложнее сам процесс майнинга.

Отсюда существует термин hash-сложность каждого типа валюты — KH/s, Килохеш в секунду или 1 тысяча хэш-вычислений в секунду, аналогично:

  1. MH/s, Мегахеш или 1 миллион хешей.
  2. GH/s, Гигахеш или 1 миллиард хешей.
  3. TH/s, Террахеш или 1 триллион хешей.
  4. PH/s, Петахеш или 1 квадриллион хешей.

Когда речь идёт о квадриллионах — единице с пятнадцатью нулями, ясно, что такая производительность криптовалюты недоступна обычным компьютерам, а тем более планшетам и требует большой объем энергии. Техническим требованиям соответствуют ASIC — устройства с видеокартами, выпускаемые специально под цели майнинга.

Какие криптовалюты майнятся алгоритмами SHA256

Алгоритм майнинга bitcoin SHA256 сложнее Скрипта, используется для большинства валют на основе кода BTC.

Обработка блоков криптовалюты с SHA-256 имеет тенденцию к замедлению транзакций, но очень надёжен, здесь практически исключены ошибки.

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

  • Биткоин Cash, 21Коин, Namecoin;
  • Takeicoin, Unicoin, Zetacoin;
  • PetroDollar Unobtanium.

Это далеко не полный перечень — код для шифрования открыт, воспользоваться им может любой человек. Учитывая, что общее число видов криптовалют приближается к 1600, многие монеты основаны на коде Биткоина.

Какие валюты майнит алгоритм Scrypt

Scrypt является более быстрым и простым алгоритмом:

  1. Scrypt легко запускать на CPU.
  2. Использует меньше энергии, чем майнинг алгоритм SHA256.
  3. Подходит для индивидуального майнинга, в том числе на обычных компьютерах.

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

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

На Scrypt майнятся:

  • Litecoin, Dogecoin, Novacoin;
  • WorldCoin, FeatherCoin;
  • DigitalCoin и множество других виртуальных монет.

Со временем ожидаются проблемы с хешем для самых популярных валют, использующих алгоритм добычи SHA-256 Биткоина.

С этим уже столкнулась сеть Биткоина, выпуск форка Cash мало помог в решение проблемы.

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

Как вы считаете какой из алгоритмов более выгоден, перспективен? Расскажите каким пользуетесь вы.

Майним Bitcoin с помощью бумаги и ручки

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


Один криптографический раунд

Майнинг

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

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

В биткойне критерием валидности хэша является достаточное число нулей в его начале. [1] Найти такой хэш так же сложно, как, к примеру, найти номер машины или телефона, заканчивающийся на несколько нулей. Но, конечно, для хэша это экспоненциально сложнее. На текущий момент, правильный хэш должен содержать примерно 17 стартовых нулей, чему удовлетворяет только 1 из 1.4×10 20 . Если провести аналогию, то найти такое значение сложнее, чем обнаружить конкретную частичку среди всего песка на Земле.

На схеме ниже показан типичный блок в цепочке и его хэш. Желтым выделены байты, которые и участвуют в процессе хэширования. В данном примере хэш валиден и имеет достаточное число нулей в своём начале. Однако это нечастый случай, и обычно майнеру приходится перебирать значение поля nonce или других доступных для изменения данных.


Структура биткойн-блока

SHA-256

Алгоритм работает с данными, разбитыми на куски по 512 бит (64 байт), криптографически их смешивает и выдаёт 256-битный (32 байта) хэш. SHA-256 состоит из относительно простого раунда, повторяющегося 64 раза. Снизу, как раз, и показан такой раунд, принимающий на вход 8 4-байтовых слов — от A до H.


Один раунд SHA-256 для восьми входных слов A-H. Схема нарисована kockmeyer, CC BY-SA 3.0.

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

Функция большинства (Ma блок) побитово работает со словами A, B и C. Для каждой битовой позиции она возвращает 0, если большинство входных битов в этой позиции — нули, иначе вернёт 1.

Читайте также:  Как восстановить Биткоин-кошелёк – лучшие способы восстановления Bitcoin wallet

Блок Σ0 циклически сдвигает A на 2 бита, затем исходное слово A циклически сдвигается на 13 бит, и, аналогично, на 22 бита. Получившиеся три сдвинутые версии A побитово складываются по модулю 2 (обычный xor, (A ror 2) xor (A ror 13) xor (A ror 22)).

Ch реализует функцию выбора. На каждой битовой позиции проверяется бит из E, если он равен единице, то на выход идёт бит из F с этой позиции, иначе бит из G. Таким образом, биты из F и G перемешиваются, исходя из значения E.

Σ1 по структуре аналогичен Σ0, но работает со словом E, а соответствующие сдвиговые константы — 6, 11 и 25.

Красные блоки выполняют 32-битное сложение, формируя новые значения для выходных слов A и E. Значение Wt генерируется на основе входных данных (это происходит в том участке алгоритма, который получает и обрабатывает хэшируемые данные. Он вне нашего рассмотрения). Kt — своя константа для каждого раунда. [2]

На схеме сверху заметно, что только A и E меняются за один криптографический раунд. Остальные слова не меняются, но сдвигаются на выходе — старое A превращается в выходное B, старое B — в новое C, и так далее. Хотя отдельный раунд алгоритма не сильно изменяет данные, но после 64 раундов, входная информация будет полностью зашифрованной. [3]

Майним вручную

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


Немного поясню что происходит: я записал слова от A до H в шестнадцатеричной форме, и под каждым сделал перевод в двоичный вид. Результат выполнения блока Ma находится под словом C, а значения A после сдвигов и сам выход Σ0 располагаются над строкой с A. Функция выбора появляется под G, и, наконец, соответствующие сдвинутые версии E и значение после блока Σ1 идут над строкой с E. В нижнем правом углу произвёл сложение, результат которого участвует в вычислении и нового A, и нового E (первые три красных блока суммирования). Справа сверху я рассчитал новое значение A, а посерёдке располагается уже расчет нового значения E. Все эти шаги обсуждались выше и легко могут быть отслежены на схеме.

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


Последний раунд SHA-256, в результате которого виден успешно смайненный биткойн-блок

Что всё это значит для проектирования «железных» майнеров?

Каждый шаг в SHA-256 очень просто выглядит в цифровой логике — простые битовые операции и 32-битные суммирования (если вы когда-либо изучали схемотехнику, то, скорее всего, уже представили себе как это может выглядеть в железе). Поэтому ASIC-микросхемы реализуют SHA-256 очень эффективно, размещая параллельно сотни блоков исполнения SHA-256 раундов. Фотография ниже показывает микросхему для майнинга, которая может вычислять 2-3 миллиарда хэшей в секунду. На Zeptobars можно поглядеть больше фото.


Снимок кремниевого кристалла ASIC-микросхемы Bitfury, которая может майнить биткойны со скоростью в 2-3 гигахэшей в секунду. Картинка с Zeptobars. (CC BY 3.0)

В противоположность биткойну, Litecoin, Dogecoin и другие похожие альтернативные -coin системы используют алгоритм хэширования scrypt, в котором изначально заложена сложность реализации в железе. Этот алгоритм во время выполнения хранит в памяти 1024 разных значений хэша, а уже на выходе комбинирует их для получения конечного результата. Поэтому требуется куда больше памяти и схематики для вычисления scrypt-хэшей по сравнению с SHA-256-хэшами. Влияние изменения алгоритма хэширования наглядно видно при сравнении соответствующего аппаратного обеспечения для майнинга — версии под scrypt (Litecoin и прочие) в тысячи раз медленнее, чем версии под SHA-256 (биткойн).

Заключение

SHA-256 неожиданно оказался настолько простым, что может быть вычислен даже вручную (алгоритм на эллиптических кривых, который используется для подписи биткойн-транзакции, был бы куда более мучительным, так как содержит кучу перемножений 32-байтных чисел). Расчет одного раунда SHA-256 занял у меня 16 минут, 45 секунд. С такой производительностью хэширование всего биткойн-блока (128 раундов [3]) займёт 1,49 суток, то есть получаем скорость хэширования в 0,67 хэшей в день (на самом деле, конечно же, с практикой процесс бы ускорился). Для сравнения, текущее поколение биткойн-майнеров производит несколько терахэшей в секунду, что примерно в квинтиллион раз быстрее меня. Думаю, очевидно, что ручной майнинг биткойнов не очень практичен. [5]

Читатель с reddit’a спросил о моих затратах энергии. Так как я не прилагаю каких-то серьезных физических усилий, то можно предположить что скорость метаболизма будет 1500 килокалорий в день, тогда получаем, что ручное хэширование требует почти 10 мегаджоулей за хэш. Типичное потребление энергии для железного майнера — 1000 магехэшей за джоуль. Таким образом, я менее энергоэффективен чем специализированная железка в 10^16 раз (10 квадриллионов). Другой вопрос в стоимости энергии. Дешевым источником питания являются пончики по 23 цента за 200 килокалорий. Электроэнергия у меня стоит 15 центов за киловатт-час, что дешевле пончиков в 6.7 раз. В итоге, стоимость энергии в пересчете на хэш для меня, как человека-майнера, в 67 квадриллионов раз выше. Да-а-а, понятно, что я не ухвачу удачу за хвост ручным майнингом биткойнов, и это еще не учитывая стоимость бумаги и ручек!

Как работает алгоритм Bitcoin Cash

От автора: функционирование криптовалют построено на криптографии, что само собой подразумевает использование каких-то способов шифрования. Для Bitcoin Cash алгоритм был выбран тот же, что и для BTC. Главная причина — высокая степень защиты. Но что в него добавили, и какие были последствия?

Пришел на помощь

Создание Bitcoin Cash обусловлено большим количеством сложностей в сети Bitcoin, таких как перегруженность мемпула и дорогие транзакции. Хард форк не сильно разгрузил сам блокчейн Биткоина, однако в своей среде он предоставляет лучшие условия.

Это стало возможно, в основном, благодаря увеличенному размеру блока. Ведь большинство факторов полностью совпадают с Биткоином. Каковы же совпадения и, самое главное, совпадения в их технических показателях?

Алгоритм

Биткоин Кэш использует один из самых сложных алгоритмов майнинга — SHA-256. История такова, что первоначально АНБ США был разработан SHA-2, а лишь в 2012 была выпущена редакция нынешнего варианта. Он имеет некоторые улучшения, однако, общий принцип построения функции не изменился.

Технология блокчейн и криптовалюты. Быстрый старт

Получите книгу и узнайте все основы технологии блокчейн и криптовалюты за один вечер

Не вдаваясь во все сложности структуры, можно сказать, что задачей является сложение значений определенной длины из огромного массива данных. То есть, при хешировании берется, образно говоря, 10000 данных и сводится до 256 бит.

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

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

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

То есть, допустим, есть исходное значение А, которое равно 100. Всего один вариант будет меньше 100, и именно он является правильным. Но вариантов результата очень много. Через вычислительные мощности оборудования подряд перебираются все значения, и когда будет найдено верное, хеш-функция будет решенной.

Докажи, что майнер

При майнинге криптовалюты важен не только алгоритм, но и протокол. Их существует около 10 (Proof of Work, Proof of Stake, Delegated Proof of Stake, Power of Attorney и другие). Некоторые из них сложные и требовательные, другие простые и иногда даже не нуждаются в использовании вычислительных мощностей.

Однако, в Биткоин Кэш используется один из самых сложных — Proof of Work (PoW). Работу можно охарактеризовать в два пункта:

  • обязательно использовать мощное оборудование и проводить сложные вычисления;
  • результаты проверяются достаточно быстро.

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

Простыми словами, нужно просто доказать, что вы работаете. Предоставленные шейры и будут тем самым доказательством. Так же, как у шахтера доказательством будет золотой камень, а у строителя — дом.

Применение в майнинге

Вы уже могли понять, что алгоритм SHA-256 применяется для шифрования блоков и транзакций. Именно потому переводы в сети Bitcoin Cash можно считать подтвержденными как минимум через 10 минут после их отправки в сеть.

Для майнеров, с одной стороны, его использование является позитивным. Во-первых, они получают большую награду (поскольку затраты высокие, поощрение им соответствует). Во-вторых, они могут получить неплохие гарантии, что работа будет в относительно равных условиях (количество мощностей разное, но действует правило 51%).

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

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

Дополнения к алгоритму

Первым серьезным дополнением для сети Биткоин Кэш стало внедрение MTP (Median Time Past). Суть в том, что данная медиана измеряет общее время, затраченное на последние 11 блоков. Если оно превышает 12 часов, сложность майнинга снижается на 20 процентов. Таким образом поддерживается нормальная скорость решения и оптимальная сложность.

Кроме того, в случае резкого падения общего хешрейта сети она также снижается. То есть, если из 100 крупных майнеров, 5–10 уйдет, это будет отслежено, и в алгоритм автоматически внесутся поправки.

Первая дыра и латка на ней

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

Читайте также:  Биржа криптовалют Уobit (Ёбит) – как купить Биткоин, обзор и отзывы

Хотели сделать как лучше, а получилось… В общем, вместо корректировки к оптимальному значению, сложность могла изменяться от небывало легких до сверхсложных значений. Случалось так, что в один час удавалось решить всего 4 блока, а на следующий — свыше 60.

Технология блокчейн и криптовалюты. Быстрый старт

Получите книгу и узнайте все основы технологии блокчейн и криптовалюты за один вечер

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

Потому был разработан обновленный алгоритм, целью которого стало решить следующие проблемы:

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

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

Соответственно, награда за блок также уменьшилась бы намного быстрее. Такими темпами майнеры из сети BCH просто ушли бы, а эту криптовалюту в скором времени все позабыли бы.

Но обновление прошло успешно. Все ноды остались в сети, не было потери предыдущих блоков, а что самое главное — это не привело к новому расколу. А ведь это было самое большое опасение перед исправлением существующих проблем.

Преимущества

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

Кажется, что в этом алгоритме могут появиться одинаковые образы (результаты вычислений), что может навредить системе. Однако это невозможно по одной простой причине: под каждый результат возможен только один ответ. А массив данных можно сравнить с количеством песка на Земле.

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

Из этого вытекает еще одно преимущество алгоритма: обычный человек не сможет его взломать или просчитать, каким бы он ни был умным. Для такого объема работы нужно проводить тысячи вычислений в секунду, что просто неподвластно человеческому мозгу.

Недостатки

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

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

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

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

Но на практике сегодня это очень сложно, поскольку общий хешрейт сети Биткоин Кэш чрезвычайно высокий. Согласно подсчетам, дабы поддерживать работоспособность 51% мощности, ежедневно нужно тратить больше 1 миллиона долларов. Маловероятно, что люди, у которых есть такая возможность, будут ломать эту систему.

Интересные факты

Мало кто знает, но алгоритм используют не только майнеры. Каждый, кто минимально соединен с Интернетом и посещает хотя бы один сайт в день, уже является пользователем SHA-256.

Поскольку этот алгоритм обеспечивает очень высокую степень защиты и практически не поддается взлому, его включили в сертификат безопасности SSL. Именно ним обеспечен каждый сайт. Он нужен для установления и подтверждения защищенного соединения.

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

Заключение

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

Благодаря использованию этого алгоритма Биткоин Кэш можно считать одной из самых надежных и безопасных криптовалют. Но не стоит забывать, что она все еще уязвима к атаке 51%, поскольку при разработке SHA-256 этот момент просто не учитывался.

Технология блокчейн и криптовалюты. Быстрый старт

Получите книгу и узнайте все основы технологии блокчейн и криптовалюты за один вечер

Алгоритмы майнинга криптовалют

Мы отобрали все криптовалюты, капитализация которых на момент написания статьи превышает $1 000 000 и выяснили, по какому криптографическому алгоритму осуществляется их майнинг.

Узнав, как майнится та или иная криптовалюта, определите оборудование, на котором ее выгоднее майнить — таблица хешрейта для видеокарт, процессоров и ASIC.

Таблица криптовалют протокола доказательства работы (PoW, proof-of-work) и их алгоритмы майнинга (по убыванию капитализации):

НаименованиеТикерАлгоритмКапитализация, USD
1BitcoinBTCSHA256136 026 911 004
2EthereumETHEthash35 084 819 663
3Bitcoin CashBCHSHA25621 742 667 409
4DashDASHX114 343 640 613
5LitecoinLTCScrypt3 827 160 676
6MoneroXMRCryptoNight2 428 870 158
7Ethereum ClassicETCEthash1 742 612 117
8ZcashZECEquihash827 583 097
9HshareHSRX13697 168 445
10BitConnectBCCScrypt629 990 946
11KomodoKMDEquihash246 357 566
12BytecoinBCNCryptoNight240 632 049
13DecredDCRBlake256r14238 090 125
14MonaCoinMONALyra2REv2198 455 085
15DogecoinDOGEScrypt171 969 299
16VertcoinVTCLyra2REv2167 929 016
17SiacoinSCBlake (2b)156 606 895
18BitcoinDarkBTCDSHA256143 571 514
19Metaverse ETPETPEthash129 030 916
20GameCreditsGAMEScrypt124 373 797
21SyscoinSYSSHA256121 236 925
22ZCoinXZCLyra2z119 563 780
23PuraPURAX11116 991 951
24DigiByteDGBSHA256, Scrypt, Groestl, Skein, Qubit85 709 204
25VergeXVGScrypt, X17, Groestl, Blake2s, Lyra2REv279 225 581
26B3CoinB3Scrypt65 782 327
27CryptonexCNXPoW65 650 196
28ZenCashZENEquihash59 055 140
29NexusNXSSHA3 (Skein and Keccak)55 795 560
30UbiqUBQEthash50 889 136
31FeathercoinFTCNeoScrypt48 343 656
32BitdealBDLScrypt41 039 551
33PeercoinPPCSHA25639 872 774
34GroestlcoinGRSGroestl39 747 892
35AeonAEONCryptoNight-Lite38 288 265
36ViacoinVIAScrypt34 486 009
37EmercoinEMCSHA25632 966 357
38BitcoreBTXTimetravel 1031 542 375
39GuldenNLGScrypt31 414 496
40EinsteiniumEMC2Scrypt30 613 394
41MinexCoinMNXEquihash29 321 790
42LBRY CreditsLBCLBRY23 956 664
43NamecoinNMCSHA25623 301 638
44DiamondDMDНе могут быть добыты напрямую23 257 921
45ATBCoinATBSHA25622 851 970
46SIBCoinSIBX11Gost (X11ГОСТ)21 763 552
47CrownCRWSHA25621 243 896
48ToaCoinTOA POS17 095 385
49BitSendBSDX1116 826 981
50GridCoinGRCScrypt16 669 360
51MonetaryUnitMUEQuark15 848 635
52VeriCoinVRCScrypt15 326 146
53DigitalNoteXDNCryptoNight14 967 024
54ExpanseEXPEthash13 982 699
55DubaiCoinDBIXDagger-Hashimoto13 853 864
56UnobtaniumUNOSHA25612 107 920
57EnergycoinENRGScrypt11 934 235
58BitcloudBTDXQuark11 779 736
59VcashXVCBlake256r811 624 713
60BurstBURSTShabal256 (PoC)11 073 368
61NovacoinNVCScrypt10 720 826
62CasinoCoinCSCScrypt10 708 780
63NeosCoinNEOSSHA25610 695 131
64FlorinCoinFLOScrypt10 311 655
65HTMLCOINHTML5SHA2569 917 304
66KarbowanecKRBCryptoNight8 719 703
67AbjcoinABJScrypt8 512 729
68OnixONXX118 337 189
69CenturionCNTX118 194 753
70PinkCoinPINKX117 883 900
71StealthcoinXSTX137 216 288
72MooncoinMOONScrypt6 911 403
73SequenceSEQArgon2d6 679 479
74CurecoinCURESHA2566 340 659
75SuperCoinSUPERX116 326 141
76GoldCoinGLDScrypt6 229 520
77AuroracoinAURScrypt6 110 967
78BridgeCoinBCOScrypt6 092 261
79MusicoinMUSICETHash5 931 302
80RupeeRUPScrypt5 746 970
81ArtByteABYScrypt5 284 987
82Internet of PeopleIOPSHA2564 729 924
83MyriadXMYSHA256d, Scrypt, Myr-Groestl, Skein, Yescrypt4 727 008
84ChainCoinCHCC114 707 785
85ExclusiveCoinEXCLFull Proof of Stake coin4 675 375
86EarthCoinEACScrypt4 669 380
87EuropeCoinERCX114 667 079
88PesetacoinPTCScrypt4 484 013
89HempCoinTHCScrypt4 183 775
90SexcoinSXCScrypt4 138 964
91NewYorkCoinNYCScrypt4 096 894
92E-CurrencyCoinECCScrypt4 065 225
93TaoXTOX114 048 456
94DeepOnionONIONX134 044 385
95EquiTraderEQTScrypt3 915 576
96MemeticMEMEX113 760 177
97BelaBELAScrypt3 748 161
98ZClassicZCLEquihash3 671 523
99DimecoinDIMEQuark3 595 931
100PutinCoinPUTScrypt3 572 489
101TerracoinTRCSHA2563 502 483
102PrimecoinXPMПоиск длинных цепочек Куннингама3 468 761
103VeriumReserveVRMScrypt3 341 127
104GeoCoinGEOQubit3 150 439
105XPXPSHA2563 149 826
106EverGreenCoinEGCX153 137 166
107BismuthBISSHA2243 092 565
108BreakoutBRKSHA2563 035 261
1092GIVE2GIVEScrypt3 034 363
110BitmarkBTMScrypt3 011 654
111HushHUSHEquihash2 903 185
112QuarkQRKBlake, Bmw, Groestl, Jh, Keccak, Skein2 737 808
113EspersESPHMQ17252 680 719
114VIVOVIVONeoScrypt2 649 640
115RiecoinRICGroestl2 648 128
116InnovaINNNeoScrypt2 590 394
117CHIPSCHIPSSHA2562 577 464
118BlueCoinBLUX112 535 430
119CreativecoinCREAScrypt2 468 548
120CondensateRAINX112 467 553
121HunterCoinHUCSHA256, Scrypt2 447 959
122e-GuldenEFLScrypt2 401 849
123SpreadCoinSPRX112 323 071
124CannabisCoinCANNX112 211 283
125vTorrentVTRScrypt2 179 125
126WoodcoinLOGSkein2 177 441
127XGOXXGOXScrypt2 146 627
128StartcoinSTARTX112 074 752
129AudioCoinADCScrypt2 060 158
130Crypto BullionCBXScrypt2 042 096
131PandacoinPNDScrypt2 038 162
132MarteXcoinMXTX132 007 818
133MagiXMGM7M1 934 093
134WorldCoinWDCScrypt1 891 187
135MegacoinMECScrypt1 862 904
136DNotesNOTEScrypt1 785 109
137ZoinZOILyra2RE1 715 265
138PaccoinPACSHA2561 687 567
139LuckChainBASHScrypt1 655 710
140PirlPIRLDagger1 630 690
141CryptoniteXCNM7 POW1 579 446
142BitcoinZBTCZEquihash1 479 419
143TrezarCoinTZCNeoScrypt1 348 164
144ArcticCoinARCX111 345 595
145InfinitecoinIFCScrypt1 285 634
146CarboncoinCARBONScrypt1 217 583
147SHIELDXSHScrypt, x17, Groestl, Blake2s, Lyra2rev21 118 027
148InfluxcoinINFXX111 116 841
149UnitusUISLyra2re2, Skein, X11, Yescrypt, Argon2d1 104 062
150BytecentBYCPOM (Proof-of-Miner)1 066 754
151FastcoinFSTScrypt1 058 372
152OrbitcoinORBNeoScrypt1 021 871

Нашли ошибку? Будем благодарны, если сообщите нам в комментариях.

Подписывайтесь на наш Telegram канал. Будьте в курсе новых статей.

Алгоритм майнинга криптовалют: обзор основных алгоритмов хеширования

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

Алгоритм майнинга криптовалют: что это и зачем нужен

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

В Биткоине успешным хэшем считается тот, который начинается с определенного числа нулей. Сложность нахождения растет экспоненциально. На текущий момент в числе должно быть 17 нулей подряд, чтобы оно было признано подходящим. Таким образом, только один из 1.4×1020 чисел приведет к успешному результату. Найти хэш даже труднее, чем одну песчинку из всех существующих на Земле.

Посмотрите видео, которое объясняет, что такое алгоритм хеширования (включите субтитры и перевод на русский):

Алгоритм майнинга топовых криптовалют

Список популярных и перспективных криптовалют, доступных для майнинга, и их алгоритмы хеширования:

КриптовалютаТикерАлгоритм
BitcoinBTCSHA256
EthereumETHEthash
XRPXRPXRP Ledger Consensus Protocol
LitecoinLTCScrypt
Bitcoin CashBCHSHA256
EOSEOSDPoS
Bitcoin SVBSVSHA256
CardanoADADPoS
TRONTRXDPoS
MoneroXMRCryptoNight
DashDASHX11
CosmosATOMPoS
NEONEOPoS
TezosXTZDPoS
Ethereum ClassicETCEthash
NEMXEMProof-Of-Bible-Hash (POBH)
OntologyONTPoS
ZcashZECEquihash
Bitcoin GoldBTGEquihash
RavencoinRVNX16R
BeamBEAMEquihash
GrinGRINCuckoo Cycle
WavesWAVESPoS
HarmonyONEPoS
Libra FacebookLIBRALibraBFT
AlgorandALGOPoS
ElrondERDPoS
DecredDCRBlake (14r)

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

Рассмотрим наиболее распространенные на сегодняшний день алгоритмы майнинга.

SHA-256

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

В 2001 году американское Агентство Национальной Безопасности разработало алгоритм SHA-2. SHA-256 – его разновидность. Название обусловлено тем, что он работает с числами размером 256 бит. Иными словами, конкретный бит данных кодируется и трансформируется в код из 256 фрагментов. Время обработки кода в SHA-256 занимает 6-10 минут.

Scrypt

В алгоритме хеширования Scrypt используется сразу 11 логических протоколов для подтверждения работы (PoW). Самое крупное преимущество применения Scrypt – эффективность, так как с ним оборудование потребляет на 30% меньше мощности и требует меньше охлаждения.

Многоуровневое вычисление начинается с загрузки информации с помощью хеш-процесса SHA-256. В это время рассчитывается анализ структуры связей, без которого невозможно завершение хеширования. Если сравнивать с SHA-256, то Scrypt потребляет меньше энергии, но значительно больше памяти. Также в Scrypt существует возможность уменьшить размер хеша, из-за чего вычисление осуществляется быстрее.

Ethash

Ethash был разработан специально для Ethereum с целью снизить уязвимость перед ASIC-майнерами. Алгоритм основан на интеллектуальном анализе данных. Ранее Эфир применял алгоритм под названием Dagger-Hashimoto, а Ethash по сути его обновленная и улучшенная версия.

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

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

Все одиннадцать алгоритмов, входящих в состав X11, были введены в работу Национальным институтом стандартов и технологий США, чтобы разработать новую функцию SHA-3 с повышенной безопасностью по сравнению с предшественниками. Кандидатов было 64, конкурс прошли только 11.

CryptoNight

CryptoNight – алгоритм майнинга, предназначенный для применения на обыкновенных процессорах. Изначально алгоритм закодирован в базе кода CryptoNote. Cryptonight берет информацию объемом 2 Мб, извлекает базовые данные, смешивает их с последовательными и дает на выходе идеальный результат.

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

Equihash

Этот алгоритм майнинга криптовалют представляет собой асимметричную систему Proof-of-Work, ориентированную главным образом на память. Количество работы, которую может произвести устройство при работе с этим алгоритмом, определяется в основном количеством оперативной памяти, которым оно оснащено.

Алгоритм Equihash называют устойчивым к ASIC-майнерам. Память – дорогостоящий вычислительный ресурс, и поэтому ее оптимизация на асик-чипе будет дорогостоящим и невыгодным для пользователя процессом. В результате процесс майнинга на ASIC станет менее эффективным и мощным.

Decred

Криптовалюта Decred использует гибридный механизм консенсуса, сочетающий в себе принципы PoS и PoW. Такая система гарантирует, что развитие проекта на может зависеть от контроля сильных заинтересованных групп, а также в блокчейн на могут вноситься изменения без согласия сообщества.

PoW в Decred подразумевает вознаграждение в 30 монет за добытый блок, которые разделяются между майнерами, голосующими и фондом развития проекта. Далее голосующие могут отдавать свои голоса за или против предлагаемых корректировок в цепи. За то, что они защищают сеть хранением своих ставок, им отдается 30% дохода с каждого сформированного блока.

Quark

Quark – алгоритм майнинга криптовалют, базирующийся на хэш-функции с девятью уровнями шифрования. Алгоритм не требует большого количества ОЗУ, а также содержит в себе встроенную защиту от хакерских атак высокого уровня (64 бит). Отличается малым потреблением энергии. Quark разработали в 2013 году и внедрили в него шесть функций для шифрования: Grostl, Blake, Keccak и т.д.

Алгоритм Quark используется в механизмах консенсуса PoS и PoW, чтобы поддержание рабочего состояния криптовалютной системы было более определенным и безопасным. По сравнению со SHA-256, используемым в Биткоин, Quark обладает устойчивостью к возникновению SPOF (единой точки отказа), из-за которой может выйти из строя вся система.

X15 основан на X11, только вместо применения 11 функций хеширования в нем используется 15. За счет такого хода существенно повышается устойчивость к хакерским атакам. Если хакер взломает одну из пятнадцати функций, то разработчики тотчас же усовершенствуют ее, чтобы система продолжала оставаться в безопасности. Злоумышленнику, желающему взломать всю систему, необходимо будет поочередно пройти через все 15 функций, и сделать это быстро.

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

Суть заключается в том, что исходная информация разделяется на блоки после дополнения, а затем каждый из блоков делится на шестнадцать слов. Далее каждый блок сообщения пропускается через цикл, состоящий из 80 или 64 раундов перемешивается. На каждом этапе два слова трансформируются, а функция этой трансформации задается остальными 14-ю словами.

Cuckoo Cycle

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

Другие алгоритмы

Также встречаются следующие виды алгоритмов майнинга криптовалют :

  • SHA-3 (Keccak). Протокол основывается на конструкции Sponge. Чтобы получить хэш, берется исходная информация, после чего дополняется до длины, кратной R. К сообщению добавляется байт, некоторое число нулей и завершающий байт, обладающий значением 0x Затем, для получения нужного числа, к полученным данным неоднократно применяется хеш-функция.
  • Blake. Состоит из трех основных компонентов – внутренней структуры, гарантирующей защиту от коллизий, режима итерации, противодействующего внешним атакам, и алгоритма сжатия. В результате получается тщательно проанализированная безопасная функция.
  • Lyra2RE. Был разработан как замена устаревшего Scrypt-N algo для криптовалюты Vertcoin. Основная цель – снижение энергопотребления в процессе добычи токенов. Алгоритм успешно сменился в середине 2014 года.

Заключение

Чаще всего, когда речь заходит о майнинге криптовалют, то имеется в виду алгоритм SHA-256 или Scrypt, потому что на сегодняшний день они используются наиболее часто. Но знать об остальных вариантах тоже полезно и интересно, если вы хотите быть в курсе того, что происходит сейчас в криптовалютной отрасли.

Читайте также:  Приватный ключ кошелька Биткоин – как узнать и хранить
Ссылка на основную публикацию