Читать книгу Блокчейн: Как это работает и что ждет нас завтра - Артем Генкин - Страница 25

Глава 2
Блокчейн: великий и ужасный
2.2. Организационно-техническая суть блокчейна
Техника в основе блокчейна

Оглавление

Биткоин-блокчейн стал примером использования в системе платежей распределенного публичного реестра (Distributed Public Ledger, DPL){108}, включающего:

• формирование журнала из блоков транзакций и организацию связи между ними за счет включения в блок хеша предыдущего блока;

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

• защиту цепочки блоков от модификации путем доказательства работы (Proof-of-Work) на основе технологии поиска хеша;

• использование переменной сложности при поиске хеша для поддержания заданной частоты создания блоков{109}.

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

Участниками такой системы являются:

• пользователи – владельцы электронных кошельков, которые могут хранить криптовалюту и переводить ее в системе другим пользователям;

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

• серверы – участники, осуществляющие распределенное хранение общей книги блокчейна и выполняющие операции по проверке присылаемых блоков на соответствие правилам по сложности и допустимости{110}.

По другой классификации, в системе блокчейна фигурируют два типа участников: обычные пользователи и майнеры{111}. Первые создают записи. Вторые собирают записи, распространенные обычными пользователями, проверяют их и группируют в блоки, после чего формируют заголовок будущего блока и рассчитывают ключ блока. Найдя подходящий ключ, майнер сохраняет блок и отправляет его другим участникам сети. Обычные пользователи получают блоки и сохраняют их у себя, чтобы корректно создавать свои и достоверно проверять чужие записи.

До момента внесения записи в блок она считается недействительной. Пользователь сети блокчейн может совершать с ней действия, не имея, однако, уверенности в достоверности полученной и передаваемой информации. Гарантию достоверности предоставляет майнер, когда включает данную информацию в блок. Как только запись окажется сохранена в блоке и проверена, ее отмена уже будет невозможна{112}.

Чтобы убедиться в достоверности транзакции, майнеры автоматически прогоняют ее содержание через криптоалгоритм, тем самым верифицируя корректность цифровой подписи отправителя каждой транзакции, а также подтверждая соответствие последней транзакции условиям, заложенным в алгоритме консенсуса каждого конкретного блокчейна. Затем все накопившиеся транзакции упаковываются в блок{113}.

Функция самого блокчейна проста: регистрировать каждую транзакцию с биткоинами. Любая передача какого-то количества биткоинов подтверждается в сети (с помощью майнинга) внесением транзакционного блока. Блок добавляется к длинной цепочке, которая позволяет любому желающему отследить в сети смену собственников каждого из биткоинов от момента создания.

Технически это достигается при помощи последовательного шифрования данных о каждой очередной транзакции. Любой заносимой в блок сделке присваивается криптографический идентификатор (хеш), который добавляется в заголовок записи о следующей транзакции, и это повторяется снова и снова, так что хеш транзакции на вершине цепочки содержит зашифрованные данные обо всех предыдущих операциях, записанных в блоке. Вмешаться и изменить уже записанную транзакцию нельзя, так как это скомпрометирует всю цепочку[6].

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

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

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

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

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

Блокчейн: Как это работает и что ждет нас завтра

Подняться наверх