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

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

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

Принцип работы блокчейна

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

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

Схема формирования транзакций и блоков на примере блокчейна BTC.

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

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

Майнинг и вознаграждение

Какой смысл участникам сети брать на себя функции сервера — спросите вы. Конечно же, эта работа оплачивается:

  1. Участники могут заниматься поиском новых монет. Этот процесс называется майнингом;
  2. За то, что транзакция попадет в блокчейн, они берут с ее отправителя комиссию.

Генерация биткоинов заключается в поиске нового блока, который будет добавлен в блокчейн. Блокчейн принимает не все блоки, а только те, хэши которых начинаются с нулевых битов. Ищется такой методом перебора. Кто найдет его первым, тот получит награду в 25 BTC.

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

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


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

Эмиссия биткоинов ограничена, всего планируется выпустить их 21 млн. Ожидается, что последняя монета будет выпущена в 2140 году. Тогда майнеры станут не нужны, и заработок узлов будет зависеть только от комиссий за проведение платежей.

Как работает сеть

Алгоритм работы сети bitcoin выглядит следующим образом:

  1. Когда возникает потребность выполнить перевод средств, всем узлам рассылается новая транзакция;
  2. Каждый узел добавляет ее в свой блок;
  3. Узел начинает поиск хэша, удовлетворяющего условиям сети;
  4. При успешном нахождении такого хэша узел рассылает свой блок всем остальным узлам;
  5. Если транзакции в блоке не просрочены, узлы принимают его. Блок считается принятым, если узел начнет генерировать новый на основе его хэша.

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

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

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

Особенности SHA256

Биткоин — самая первая криптовалюта в мире, а SHA256 достаточно стар. Есть алгоритмы, разработанные специально для криптовалют, но SHA256 существовал еще до появления биткоина и использовался в SSL, SSH, PGP и т.д. Он был разработан агентством национальной безопасности США в 2002 году. США законодательно разрешает его использование для защиты сведений, составляющих государственную тайну. Поэтому выбор этого алгоритма для биткоина не вызывает удивления.

SHA256 дробит входящую информацию по 512 бит или 64 байта, криптографически «смешивает» ее и выдает 256-битный хэш-код. Если разобрать его работу пошагово, он выполняет следующие операции:

  • «and» — побитовая операция «И»;
  • «shr» — перемещение значения на требуемое количество бит вправо;
  • «rots» — команда, аналогичная предыдущей, но с осуществлением циклического сдвига;
  • «||» (конкатенация) — операция соединения, чаще всего строк;
  • «xor» — исключающее «ИЛИ»;
  • «+» — сложение.

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

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

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

Ссылка на основную публикацию
Похожие публикации