Обратите внимание, чего нет в этом определении:
░ финансовых терминов вроде «реестр», «деньги» или «транзакции» и вообще каких-либо терминов, намекающих на конкретные сценарии использования;
░ упоминания каких-либо конкретных алгоритмов консенсуса и вообще технических подробностей работы блокчейна (за исключением того факта, что он «криптоэкономичен» – этот технический термин сообщает о блокчейне, что «он децентрализован, а также использует криптографию с открытым ключом и экономические стимулы, чтобы все работало без сбоев»);
░ ограничений на какие-либо функции перехода состояния.
В этом определении конкретно сказано только одно – на что способен блокчейн, и этого достаточно, чтобы любой разработчик смог достаточно четко, хотя бы на интуитивном уровне, понять, чем может быть ценна эта технология. Что касается практики, иногда язык, на котором выполняются программы, очень ограничен. Язык Bitcoin можно рассматривать как последовательность DESTROY COIN: <txid> <index> <scriptsig>, за которой следует последовательность CREATE COIN: <scriptpubkey> <value>, где scriptpubkey – ограниченная математическая формула, а scriptsig – присваивание переменной в соответствии с этой формулой (например, [x = 5, y = 7] удовлетворяет 2 × x – y = 3). Попытка уничтожить несуществующую монету, или уничтожить монету, не указав действительный scriptsig для scriptpubkey этой монеты, или указать бóльшую ценность монеты, которую вы уничтожили, выдает ошибку. В то же время другие языки программирования могут быть куда более выразительными. Разработчик должен сам решать, какой язык подойдет для его конкретной задачи, точно так же как ему приходится выбирать между Python, C++, Node.js и Malbolge.
Это определение очень хорошо подчеркивает, что цель блокчейна – не привнести в этот мир какой-то конкретный набор правил, будь то валюта с ограниченной эмиссией, реестр имен с 200-дневным сроком перерегистрации, конкретный тип децентрализованного обмена или что-то еще. Суть блокчейна – в свободе очень быстро создавать новые механизмы с новым набором правил и запускать их. Это своего рода Lego Mindstorms[27] для построения экономических и социальных институтов.
В этом суть более умеренной и популярной сегодня в индустрии позиции «интересен блокчейн, а не валюта». Валюта действительно необходима для работы криптоэкономических блокчейнов (но не структур данных, подобных блокчейну и работающих на субъективной модели консенсуса Stellar), однако она скорее выполняет функцию экономического водопровода для стимулирования участия в консенсусе, хранения депозитов и оплаты комиссий за транзакции – и уж точно не задумана как объект спекулятивной мании, потребительского интереса и ажиотажа.
Итак, чем же могут быть полезны блокчейны? Подведем итог.
░ В них можно хранить данные, и эти данные гарантированно будут иметь очень высокую степень доступности.
░ В них можно запускать приложения, и у них будет гарантированно чрезвычайно высокое время безотказной работы.
░ В них можно запускать приложения, и у них будет гарантированно чрезвычайно высокое время безотказной работы в далеком будущем.
░ В них можно запустить приложение и гарантировать пользователям, что логика его работы основана на честности и оно будет работать именно так, как вы обещаете.
░ В них можно запустить приложение и гарантировать пользователям, что оно всегда будет соблюдать заданные условия, даже если вы потеряете к нему интерес, если вас подкупом или угрозами заставят его изменить или если вы захотите подзаработать, манипулируя его функционалом.
░ В них можно запускать приложения и при острой необходимости создавать для себя бэкдор[28], НО накладывать «конституционные» ограничения на его использование – например, предварять каждое обновление месяцем публичного ожидания или, если обновление срочное, немедленно уведомлять о нем пользователей.
░ В них можно запускать приложения и создавать бэкдор для отдельного алгоритма управления (например, голосования, футархии, сложной многопалатной парламентской архитектуры), объясняя пользователям, что этот алгоритм управления подчиняется приложению.
░ В них можно запускать приложения, и эти приложения могут взаимодействовать друг с другом со стопроцентной надежностью – даже если надежность их базовой платформы будет равняться 99,999 %.
░ Группы пользователей и компании могут создавать на блокчейне собственные приложения, и эти приложения могут взаимодействовать друг с другом невероятно быстро, без каких-либо сетевых сообщений, при этом каждая компания сможет быть уверена, что полностью контролирует свое приложение.
░ В них можно создавать приложения, которые будут с максимальной эффективностью использовать данные, произведенные другими приложениями (пожалуй, лучший пример здесь – комбинация систем платежей и репутаций).
Все это может помочь миллиардам людей по всему миру, особенно в тех регионах, где сегодня еще не сложилась высокоразвитая экономическая, финансовая и социальная инфраструктура (хотя решение многих проблем требует сочетания технологии с политическими реформами). Блокчейн может стать основой для такой инфраструктуры. Очевидно, что наибольшую ценность он представляет для финансовой сферы – самой требовательной индустрии в вопросах вычислений и доверия, – но он может пригодиться и в других областях интернет-инфраструктуры. Конечно, существуют и другие архитектуры, способные предоставить такие возможности, но они в большей или меньшей степени уступают блокчейну. Гэвин Вуд начал описывать эту идеальную вычислительную платформу как «мировой компьютер» – компьютер, состояние которого распределено между всеми элементами системы и работу которого поддерживает огромная группа людей, куда может войти любой желающий.