Всего за 249 руб. Купить полную версию
Каждый блок, содержащий информацию о транзакциях в сети блокчейн, идентифицируется с помощью криптографического ключа хэша (hash) который генерируется с использованием криптографических алгоритмов, таких как SHA256 (используется в сети Биткоин)[16], SHA-3 (Ethereum) и другие. Инструмент хэширования информации является неотъемлемой частью технологии блокчейн оно используется для адресации в блокчейн-сетях, для формирования электронной «подписи» транзакций, а также для создания новых блоков т. е. «майнинга». Хэширование это алгоритмический метод преобразования набора данных произвольного размера в стандартизированную строку фиксированной длины. Алгоритм преобразования, используемый в блокчейн-сетях, не допускает повторения одного и того же хэша в различных блоках, который свойственен более простым хэш-таблицам. Использование хэширования позволяет удостовериться в целостности информации, содержащейся в каждом последующем блоке в сети блокчейн, путем так называемой проверки «контрольной суммы», расчет которой основан на алгоритме хеширования. Для реализации этого подхода блокчейн-системы могут использовать, например, распределенные хэш-таблицы[17] или хэш-таблицы с прямым связыванием.
Использование такого механизма позволяет также гарантировать неизменность предыдущих блоков, поскольку хеширование каждого блока делает невозможным изменения содержания каждого предыдущего без изменения содержания каждого последующего блока такое действие потребует такого количества времени и вычислительных мощностей систем, что делает такое действие нерациональным с экономической точки зрения (даже несмотря на привлекательную стоимость Биткоина в настоящий момент). Безусловно, когда речь идет о «неизменности» информации в сети блокчейн, это, в первую очередь, теоретическое предположение. Чем больше участников в блокчейн-системе, тем сложнее изменить содержание тех блоков, информация в которых возникла раньше, или вмешаться в процесс создания новых блоков. Вместе с тем существует возможность захвата контроля над блокчейн-сетью лицами, обладающих большими вычислительными мощностями так называемая атака 51 %[18], при которой захват контроля над 51 % вычислительной мощности сети, необходимой для достижения консенсуса, позволит изменять как содержание предыдущих блоков, так и изменять информацию в создаваемых блоках. Такая ситуация произошла 25 апреля с блокчейн-сетью Bitcoin Gold было похищено 18 миллионов долларов в результате атаки 51 %[19]. Более того, как уже отмечалось, каждый из участников сети хранит как минимум часть всей базы данных следовательно, единовременно в популярных блокчейн-системах может существовать десятки тысяч копий всей информации, что еще больше усложняет попытки как-то изменить информацию о транзакциях.
Следует отметит, что майнинг, т. е. процесс добавления информации в сеть блокчейн, является основой функционирования этой технологии. На практике существуют различные способы организации майнинговой деятельности: соло-майнинг, при котором майнер добывает криптовалюту самостоятельно; майнинг через пулы через серверы, которые могут объединять мощности персональных компьютеров многих майнеров; облачный майнинг, при котором майнер платит деньги какой-либо компании за оборудование, после чего данная компания берет на себя ответственность за установку оборудования и его настройку для работы[20].
Важным механизмом, обеспечивающим безопасность и надежность хранения информации в сети блокчейн, является асимметричное шифрование, которое используется в этой системе. Под шифрованием понимается процесс превращения открытого текста в зашифрованный с помощью шифра пары алгоритмов для шифрования и дешифрования соответствующей информации[21]. Ассиметричное шифрование, или шифрование с открытым ключом, позволяет устанавливать «доверительные» отношения между пользователями блокчейн-сети путем предоставления механизма для подтверждения целостности и достоверности транзакций, притом что сами транзакции фиксируются в публичной книге транзакций. В отличие от симметричного шифрования, в котором для кодирования и декодирования используется один и тот же ключ, в ассиметричном шифровании отправитель использует открытый ключ (public key) для шифрования сообщения, которое можно расшифровать только с помощью закрытого ключа (private key). Применительно к блокчейн-системам частные ключи используются для того, чтобы совершить (sign) транзакцию, которая будет отправлена на адрес, закрепленный за публичным ключом (см. рис. 5).
Рис. 5. Совершение транзакции в сети блокчейн
Ключевой и самой часто упоминаемой особенностью блокчейн-технологии является отсутствие какого-либо центра контроля и управления за транзакциями, осуществляющимися в сети блокчейн, поскольку транзакции подтверждаются с помощью особого криптографического механизма. Основной способ подтверждения транзакций состоит в обеспечении их публичности каждая проведенная операция в системе передается всем устройствам сети, и только после подтверждения с их стороны запись о ней заносится в публичную книгу транзакций (shared public ledger). В этой связи разработчики этой технологии, теоретически, не могут воздействовать на целостность и достоверность транзакций. Механизм, с помощью которого подтверждаются транзакции и происходит их добавление в блоки информации и в систему блокчейн механизм консенсуса. В настоящее время в блокчейн-системах используются несколько механизмов консенсуса: доказательство работы[22], доказательство владения[23], циклический механизм[24] достижения консенсуса и другие. Каждый из этих механизмов по-своему обеспечивает надежность и достоверность информации, содержащейся в системе блокчейн. К примеру, механизм доказательства работы, который используется в системе Биткоин, в основе своей имеет выполнение участниками сети блокчейн вычислительной задачи по нахождению соответствующего требованиям системы хэша.