Участниками такой системы являются:
• пользователи – владельцы электронных кошельков, которые могут хранить криптовалюту и переводить ее в системе другим пользователям;
• майнеры – участники, за вознаграждение обрабатывающие совершенные пользователями транзакции в сети и подбирающие хеш для формируемых блоков;
• серверы – участники, осуществляющие распределенное хранение общей книги блокчейна и выполняющие операции по проверке присылаемых блоков на соответствие правилам по сложности и допустимости {110} 110 Вотинов М. В., Мартьянова И. В., Шокин Г. О. Цит. соч.
.
По другой классификации, в системе блокчейна фигурируют два типа участников: обычные пользователи и майнеры {111} 111 Носов Н. Перспективы блокчейн в России // https://www.pcweek.ru/idea/article/detail.php?ID=182389 // 2016. – 8 февраля.
. Первые создают записи. Вторые собирают записи, распространенные обычными пользователями, проверяют их и группируют в блоки, после чего формируют заголовок будущего блока и рассчитывают ключ блока. Найдя подходящий ключ, майнер сохраняет блок и отправляет его другим участникам сети. Обычные пользователи получают блоки и сохраняют их у себя, чтобы корректно создавать свои и достоверно проверять чужие записи.
До момента внесения записи в блок она считается недействительной. Пользователь сети блокчейн может совершать с ней действия, не имея, однако, уверенности в достоверности полученной и передаваемой информации. Гарантию достоверности предоставляет майнер, когда включает данную информацию в блок. Как только запись окажется сохранена в блоке и проверена, ее отмена уже будет невозможна {112} 112 Воронцова Е. А., Мелешенко Е. Г. Блокчейн: панацея или угроза для хранения и передачи информации // Синергия Наук. – 2016. – № 5.
.
Чтобы убедиться в достоверности транзакции, майнеры автоматически прогоняют ее содержание через криптоалгоритм, тем самым верифицируя корректность цифровой подписи отправителя каждой транзакции, а также подтверждая соответствие последней транзакции условиям, заложенным в алгоритме консенсуса каждого конкретного блокчейна. Затем все накопившиеся транзакции упаковываются в блок {113} 113 Стародубцев Д. Цит. соч.
.
Функция самого блокчейна проста: регистрировать каждую транзакцию с биткоинами. Любая передача какого-то количества биткоинов подтверждается в сети (с помощью майнинга) внесением транзакционного блока. Блок добавляется к длинной цепочке, которая позволяет любому желающему отследить в сети смену собственников каждого из биткоинов от момента создания.
Технически это достигается при помощи последовательного шифрования данных о каждой очередной транзакции. Любой заносимой в блок сделке присваивается криптографический идентификатор (хеш), который добавляется в заголовок записи о следующей транзакции, и это повторяется снова и снова, так что хеш транзакции на вершине цепочки содержит зашифрованные данные обо всех предыдущих операциях, записанных в блоке. Вмешаться и изменить уже записанную транзакцию нельзя, так как это скомпрометирует всю цепочку [6] Приведем пример хеш-функции. Представим слово «кит» в виде числа. Каждой букве дадим порядковый номер (а = 1… я = 33), получится: 12, 10, 20. Перемножив все числа, получаем свертку (хеш) слова «кит»: 2400. После передачи основного сообщения этот хеш необходимо передать получателю информации как подтверждение, что все сходится. Если сообщение в процессе передачи изменилось и стало звучать как «кот», то свертка изменится и примет вид: 12 × 16 × 20 = 3840, но тогда получатель, зная изначальный хеш, догадается о фальсификации данных (Носов Н. Перспективы блокчейн…).
.
Сам факт, что блоки корректно встраиваются в цепь, свидетельствует о том, что сделка прошла надлежащим образом. Так что блок представляет собой одновременно и подтверждение транзакции (с электронной подписью и отметкой о времени совершения), и часть общей (в масштабах всей сети) истории транзакций {114} 114 Mod. Ch. Цит. соч.
.
Для идентификации в реестре владельцев биткоинов возможно использование шифрования с открытым ключом. При этом в базу данных записываются не имена и не данные СНИЛС, а открытый ключ. Только держатель закрытого ключа вправе дальше проводить операции с этими биткоинами. Так шифрование обеспечивает необходимую конфиденциальность, при том что одобрить транзакцию может лишь владелец закрытой половины пары ключей.
Читать дальше