Мы стоим на пороге новой цифровой революции. Блокчейн, наверное, самое большое изобретение со времен самого Интернета! Это наиболее перспективная технология для следующего поколения систем, основанных на сетевых коммуникациях, и ей уделяется большое внимание во многих секторах промышленности, а также в научных кругах. Сегодня многие организации уже поняли, что им нужно быть готовыми к приходу блокчейна, чтобы сохранить свои позиции на рынке. Мы уже рассмотрели несколько вариантов использования блокчейна в этой статье, но возможности блокчейна безграничны. Хотя блокчейн не является универсальным средством для решения всех задач бизнеса, он начал оказывать влияние на большинство бизнес-функций и применяемые в них технологии.
Чтобы научиться решать реальные проблемы бизнеса с помощью блокчейна, нам необходимо глубокое понимание того, что такое блокчейн и как он работает. Для этого необходимо изучить блокчейн с разных точек зрения, таких как бизнес, технические и юридические аспекты. Эта глава — попытка понять основы блокчейна и получить полное представление о том, как он работает.
Блокчейн — это не просто компьютерная технология, он прочно связан с деловыми функциями в повседневной жизни. В виде криптовалюты он также переплетается с экономическими принципами. В этом разделе мы сосредоточимся в основном на его технических аспектах. С технической точки зрения блокчейн представляет собой блестящее объединение концепций криптографии, теории игр и информатики (рис. 1).
Давайте посмотрим, какую роль эти компоненты играют в устройстве блокчейна на общем уровне, а затем углубимся в основы. Но прежде вспомним, как работали привычные централизованные системы. Традиционный подход состоял в том, что существует централизованная система, которая поддерживает только одну историю транзакций/изменений. Она должна осуществлять параллельный контроль над всей базой данных и обеспечивать доверие системе через посредников. В чем же проблема с такой стабильной системой? В том, что приходится доверять централизованной системе, честная она или нет! Кроме того, неизбежны затраты на посредников, а время прохождения транзакции может быть большим по очевидным причинам. Теперь задумайтесь о централизации власти— полный контроль над всей системой позволяет централизованным органам правления делать практически все, что они хотят.
Рис. 1. Ядро технологии блокчейна
Теперь давайте обсудим, как блокчейн решает проблему наличия централизованных посредников с помощью криптографии, теории игр и информатики. Все транзакции блокчейна криптографически защищены независимо от их назначения. Используя криптографию, можно гарантировать, что лишь подлинный пользователь инициирует транзакцию, и никто не может выступать от его имени. Это означает, что с помощью криптографии можно гарантировать, что Алиса никоим образом не сможет совершить транзакцию от имени Боба, подделав его подпись.
Но что, если узел или пользователь пытается запустить атаку с двойным расходом (например, у кого-то есть только десять долларов, и он пытается одновременно заплатить эту сумму нескольким людям)? Обратите пристальное внимание — несмотря на отсутствие достаточных средств, двойные расходы являются криптографически допустимыми. Алгоритму шифрования абсолютно безразлично, сколько у вас денег.
Единственный способ предотвратить двойные расходы — сделать так, чтобы каждый узел знал обо всех транзакциях.
Однако это приводит к другой интересной проблеме. Поскольку каждый узел должен поддерживать базу данных транзакций, как они могут согласовать общее состояние базы данных? Опять же, как система может оставаться невосприимчивой к ситуациям, когда один или несколько вычислительных узлов намеренно пытаются подорвать систему и внедрить фальшивое состояние базы данных? Большинство таких ситуаций относится к проблеме византийских генералов (она рассмотрена далее). В общем-то, проблема византийских генералов приобрела еще большую популярность из-за блокчейна, но фактически она известна целую вечность. Если вы посмотрите на реализацию центров обработки данных или распределенных баз данных, станет ясно, что проблема византийских генералов является очевидной и распространенной проблемой, с которой они сталкиваются при обеспечении отказоустойчивости. На самом деле и подобные проблемы, и их решения пришли к нам из теории игр, которая предоставляет принципиально иной подход к определению поведения системы. Методы теории игр, пожалуй, самые жесткие и циничные. Обычно они никогда не учитывают, является ли узел честным, злонамеренным, этичным или имеет какие-либо другие подобные характеристики, и считают, что участники действуют исключительно в соответствии с выгодами, которые они получают, и не подвержены предрассудкам морали. Единственная цель теории игр в блокчейне — обеспечить стабильность системы (т. е. равновесие по Нэшу) с консенсусом среди участников.
Существуют различные виды прикладных задач и ситуаций с различной степенью сложности. Соответственно, базовые протоколы криптографии и консенсуса теории игр могут быть разными в зависимости от прикладного применения. Тем не менее, общий принцип ведения согласованного реестра или базы данных проверенных транзакций всегда один и тот же. Хотя понятия криптографии и теории игр существуют уже весьма давно, именно в области компьютерных наук эти фрагменты соединяются между собой посредством организованных структур данных и технологий одноранговой сети. Очевидно, что для реализации любых логических или математических концепций в цифровом мире необходима «умная разработка программного обеспечения», охватывающая смежные области знаний. Именно благодаря такому подходу разработчики блокчейна включают в приложения понятия криптографии и теории игр, позволяя децентрализовать и распределить вычисления между узлами.
Итак, теперь приступим к изучению первого краеугольного камня технологии Блокчейн - Криптографии.