Деньги технологически эквивалентны примитивной версии памяти.
«Блокчейн» – механизм, на котором построен биткоин, – является новым видом распределенной консенсусной системы, которая позволяет надежно сохранять и верифицировать транзакции или иные данные без какого-либо централизованного субъекта вообще.
Мы согласны с мнением Анатолия Левенчука (TechInvestClub): «Проблема в том, что сегодняшнее обсуждение растащено по разным сообществам, которые плохо знают о state-of-the-art у соседей ‹…›:
• либертарианцы (в частности, австро-анархисты…);
• нынешние правоведы по учетным системам (рынок ценных бумаг, нотариаты, электронная подпись и т. д.);
• представители блокчейн-тусовки;
• разработчики IoT;
• инженеры систем машинного обучения (deep learning);
• занимающиеся нейровебом и инженерией киберпсихики;
• философы, которым тоже зачем-то любопытно.
Все докладчики используют разную терминологию по поводу блокчейна… Можно быстро договориться – например, взять за основу терминологию из доклада…{77} Хорошо было бы перевести глоссарий оттуда на русский, обсудить и опубликовать от имени нескольких профессиональных ассоциаций»{78}.
Вот и искомая формулировка: «Блокчейн – распределенная база данных, которая содержит информацию обо всех транзакциях (более обобщенно – коммуникациях), проведенных участниками системы. Информация хранится в виде «цепочки блоков», в каждом из которых записано определенное число коммуникаций. В случае биткоина (исторически первого и наиболее известного применения блокчейн-технологии) транзакциями являются денежные переводы между кошельками пользователей. Каждый обладатель счета имеет доступ к информации о любой из… транзакций, которые когда-либо происходили в блокчейне, начиная с первого перевода, сделанного в 2009 году. Пользователи выступают в качестве коллективного нотариуса, который подтверждает истинность информации в базе данных»{79}.
Как понимает уважаемый читатель, такая формулировка далеко не единственная. Попутешествовав по просторам интернета, мы обнаружили еще целый ряд любопытных определений, каждое из которых характеризует это многогранное явление – блокчейн – с какой-либо из его сторон.
Так, Morgan Stanley определяет блокчейн как «совместное использование данных через сеть отдельных компьютеров», или «компьютеры, передающие блоки записей в хронологической цепочке». По сути, это распределенный реестр – два термина взаимозаменяемы{80}.
По мнению специалистов из Банка Англии, блокчейн – «технология, которая позволяет людям, не знающим друг друга, доверенно использовать вместе запись событий»{81}.
Согласно дефиниции Мелани Свон, блокчейн – это децентрализованный журнал записи транзакций, являющийся частью более широкой вычислительной инфраструктуры, которая также должна включать в себя функции хранения, коммуникации, обслуживания файлов и архивирования{82}.
Для Л. Паркера на самом базовом уровне блокчейн является просто коррупционностойким реестром записей, совместно используемых по сети многочисленными сторонами{83}.
Вот еще одна формулировка: «Блокчейн – это технология распределенных баз данных (реестров), основанная на постоянно продлеваемой цепочке записей и устойчивая к фальсификации, пересмотру, взлому и краже информации»{84}.
Для Д. А. Леви это «первый финансовый инструмент нарождающейся нетократии: общемировой среды, где идея сама по себе стоит дороже, чем финансы, необходимые для ее воплощения»{85}.
Свою лепту в определение блокчейна вкладывает Н. Лихачев: это «не более чем дневничок записей, который можно записывать совместно и в котором де-факто невозможно подделать старые записи»{86}.
В соответствии с докладом Управления по науке правительства Великобритании, это «база данных активов, которые могут быть разделены по сети нескольких сайтов, географических регионов или учреждений»{87}.
Н. Карп напоминает: главное при определении блокчейна все же не забывать о том, что это в первую очередь технология, которая может стать ключевой в самых разных сферах общественной жизни. По сути, он является одноранговым публичным реестром, поддерживаемым распределенной сетью компьютеров, которая не требует никакого центрального администратора или третьих лиц-посредников. Он состоит из трех ключевых компонентов: сделки, записи о транзакции и системы, которая проверяет и хранит транзакцию. Блоки генерируются через общедоступное программное обеспечение и содержат информацию о том, когда и в какой последовательности совершались транзакции. Один блок в хронологическом порядке хранит информацию обо всех сделках, которые имели место в цепочке, отсюда и название blockchain[4]. Другими словами, блокчейн – это база данных неизменной информации с меткой времени о каждой транзакции, которая растиражирована на серверах по всему миру. Эта технология лежит в основе криптовалюты биткоин{88}.
Некоторые эксперты в описании блокчейна прибегают к красочным сравнениям: «Это технология хранения данных, прав и обязательств, защищенная математическими правилами так, что никто посторонний не может завладеть ими. Права на вашу собственность не смогут украсть, подделать или удалить. Иными словами, блокчейн – это как бы параллельная реальность типа SWIFT на международном уровне. Напомним, что SWIFT играет роль посредника: если я хочу сделать трансграничный перевод, я это сделаю через SWIFT, который гарантирует, что знает банк, который переводит, знает банк, которому переводят, и тем самым выступает в качестве посредника-гаранта. И в этом смысле блокчейн может также рассматриваться как своеобразный "СВИФТ"{89}».
Еще один подобный пример: «Иногда эту технологию называют распределенным реестром, или децентрализованной верификацией. Для простоты блокчейн можно сравнить с прозрачной банковской ячейкой, cодержимое которой на виду, но забрать или модифицировать предмет может лишь владелец»{90}.
Для Э. Пишини и его соавторов блокчейн – это «демократизированное доверие», «распределенная книга, предоставляющая путь к информации, которая будет зарегистрирована и разделена сообществом»{91}.
Статья в журнале Economist под красноречивым заголовком «Великая цепь доверия» уточняет: «Блокчейн позволяет незнакомым и не доверяющим друг другу людям поддерживать реестр записей о том, кто чем владеет, изменения в котором требуют согласия всех заинтересованных сторон. Блокчейн – способ создания и сохранения правды»{92}.
В некоторых дефинициях блокчейн связывают исключительно с оборотом криптовалют, говоря, что это:
• учетная база данных, содержащая все записи об операциях с криптовалютой{93};
• цифровой реестр, в котором хронологически и публично учитываются все транзакции в сети биткоин{94};
• защищенная с помощью методов криптографии открытая база транзакций{95}.
Другие не согласны с такими формулировками: «Поскольку мы говорим о блокчейне как технологии, выходящей за рамки криптовалют и биткоина в частности, наше определение будет носить характер, не связанный с применением в транзакциях криптовалют. Блокчейн – это распределенный публичный реестр, содержащий базу данных обо всех ранее осуществленных операциях, носящий децентрализованный характер и содержащийся в публичных источниках сети интернет»{96}.
Как указал С. Харрисон в статье «Чем не является блокчейн?»{97}, сама по себе его технология комбинирует четыре другие, уже существующие. Объединив эти элементы в своей основополагающей статье о биткоине, Сатоши Накамото создал нечто большее в плане возможностей, чем просто сумма всех частей. Эти слагаемые хорошо известны:
• распределенные открытые реестры – общедоступный документ;
• кодирование посредством открытых ключей – безопасный способ передачи электронных данных;
• хеширование (дерево Меркл[5]) – лучшее решение для сохранения доказательности;
• согласованные протоколы – проверка новых записей для предупреждения случаев коррупции.
В основанной на блокчейне экономике никто не сможет взять в разных банках два кредита под залог одной и той же бабушкиной квартиры, отжать у собственника малый бизнес или вести в своей шаверменной двойную бухгалтерию.
По своей природе бухгалтерский учет, страхование, корпоративное управление, голосование – все эти системы могут быть в перспективе перемещены в технологии блокчейн. Мы в самом начале пути.
У блокчейна уже есть множество определений, данных самыми разными авторами. Часть мы приводили в начале этой главы. Но одно определение, несмотря на свой нестрогий и образный характер, нравится нам больше всего.
Итак, блокчейн подобен бисерному ожерелью. Каждая бусинка – это блок, запись действия. Например, оплаты кем-то чего-то или сдачи домашнего задания – не важно, что именно было совершено. Важно то, что совершение действия доказано, потому что сразу после него и перед ним тоже есть бусины. Такое ожерелье – или «чейн» (цепь) – не может быть уничтожено или повреждено. Следовательно, блокчейн – это нерушимая цифровая запись действий{98}.
Вот как описывает суть блокчейна С. Вильянов: «После того как данные транзакции "завизированы" несколькими майнерами (своеобразными хранителями-контролерами, работающими за умеренную плату), блок буквально отливается в граните. Его содержимое не зашифровано и доступно в открытом виде, но защищено криптографически через хеш-цепочки. База публично хранит в незашифрованном виде информацию обо всех транзакциях, подписываемых с помощью асимметричного шифрования.
В теории получаем абсолютно надежную и заведомо доверенную базу данных, в которую никто не залезет грязными лапами. Нельзя имитировать транзакцию, показав липовую платежку. Нельзя сказать, что заплатил вовремя, просто деньги долго шли. Говорят, даже с банком иногда можно договориться. А с блокчейном нельзя. Там сразу видно, кто ты есть. Все ходы записаны навеки. Причем, что характерно, вообще без участия государственных органов»{99}.
По мнению экспертов OliverWiman, технология блокчейн представляет собой совокупность инновационных решений в области организации и хранения данных. Ее суть – в создании единой точки доступа для всех участников к обширным объемам информации, значительно превышающим объемы любой из существующих на сегодняшний день систем. Это, в свою очередь, позволяет разработать новые отраслевые процессы на основе использования прозрачных актуальных данных, мгновенного совершения транзакций и продления смарт-контрактов с автоисполнением с прописанной в реестре бизнес-логикой{100}.
«Любая транзакция в блокчейне – это информация, которая впоследствии проверяется независимыми участниками, собирается в блоки и встраивается в глобальную историю транзакций. У блокчейна есть набор механизмов, которые позволяют системе оставаться независимой (от участников, от их количества и намерений) и прозрачной. По блокам транзакций можно отследить верность каждой сделки, – считает следующий источник. – Блокчейн – это не что иное, как децентрализованная база данных, позволяющая производить транзакцию (связанную с чем угодно: куплей/продажей, переходом прав, изменением статуса) анонимно, мгновенно и без участия специализированных посредников»{101}.
Все транзакции по счету продавца доступны в блокчейне для любого желающего. Каждая отражается в виде комбинации символов с указанием суммы сделки. По любой операции можно отследить получателя и отправителя, однако данные о них тоже представлены в виде комбинации символов. Система также позволяет увидеть сумму по всем совершенным сделкам. Возможна в блокчейне и установка меток времени (см. раздел 4.2).
Итак, какие же элементы характерны для блокчейна в целом?
• Блокчейн в цифровой форме распределяется по множеству компьютеров практически в режиме реального времени: он децентрализован, и копия всей записи доступна всем пользователям и участникам одноранговой сети. Это избавляет от необходимости иметь централизованные уполномоченные органы, такие как банки, а также доверять посредникам, таким как брокерские фирмы.
• Для достижения консенсуса блокчейн использует множество участников сети: они задействуют свои компьютеры, чтобы аутентифицировать и проверить каждый новый блок – например, чтобы гарантировать, что какая-либо одна транзакция не пройдет несколько раз. Новые блоки принимаются сетью, как только большинство ее участников соглашаются, что они допустимы.
• Блокчейн использует криптографию и цифровые подписи для удостоверения личности: транзакции прослеживаются вплоть до криптографических идентификационных данных, которые теоретически анонимны, но могут быть прикреплены к реальным идентификационным данным после некоторого инженерного анализа.
• У блокчейна есть механизмы, благодаря которым сложно (но не невозможно) изменять хронологические записи: даже при том, что блокчейн позволяет считывать все данные и добавлять новые, те записи, которые уже существуют, теоретически не поддаются исправлению, кроме тех случаев, когда встроенные в протокол правила позволяют изменения – например, если более 50 % участников сети договорятся об этом.
• К транзакциям, основанным на блокчейне, добавляется метка времени, что делает удобным отслеживание и проверку информации.
• Блокчейн программируем: инструкции встроены в блоки, это позволяет выполнять транзакции или иные действия только при соблюдении определенных условий и может сопровождаться дополнительными цифровыми данными{102}.
В блокчейне все участники имеют свои идентичные копии реестра с практически мгновенным обновлением; благодаря децентрализации реестр становится безопасным, его очень трудно криптографически повредить{103}.
В традиционных транзакциях, таких как денежные переводы или обмен валюты, обычно есть посредник или центральный орган, который учитывает действия такого рода. В блокчейне сам токен, или электронная монета, – носитель стоимости, которую определяет рынок. Именно это делает систему действительно децентрализованной площадкой для обмена{104}.
По мнению блокчейн-евангелиста и сооснователя сyber.fund Дмитрия Стародубцева, основными характеристиками блокчейна являются:
• доверие к алгоритму;
• неизменность данных;
• прозрачность операций;
• полный контроль над цифровым активом{105}.
Именно распределенность делает блокчейн неким цифровым нотариусом и судьей одновременно. Не существует единого места, где хранятся все записи реестродержателя или банка. Реестр хранится одновременно у всех участников системы и автоматически обновляется до последней версии при каждом внесенном изменении. Основными свойствами блокчейна, по мнению некоторых экспертов, являются:
• децентрализованность;
• публичность;
• консенсус участников;
• отсутствие посредников{106}.
По мнению А. Бубеля, «механизм действия блокчейна основывается на… консенсусе и открытой истории транзакций. Суть консенсуса заключается в том, что подтверждение сделок в сети пользователей данного блокчейна осуществляется путем периодической синхронизации согласия большинства ее участников с единой версией истории сделок. Согласие большинства необходимо в блокчейнах, основанных на консенсусе типа Proof-of-Work (PoW), как, например, в случае с биткоином. Большинство участников посредством решения математических задач доказывает сети, что их версия истории сделок легитимна. Альтернативой является Proof-of-Stake (PoS) – механизм, в котором решающую роль имеют держатели большей части активов. Открытая история трансакций означает, что каждый пользователь может просмотреть всю историю сделок от начала существования блочной цепи данных. Однако сторонами сделок являются анонимные адреса, не привязанные к конкретным физическим или юридическим лицам».
Как указывает Илья Боев, «эта технология ни к чему не принуждает… Закон блокчейна выражает общественное мнение о покупательной способности пользователя. Он прописан в коде. Код однозначен и достоверно оценен каждым человеком, который хочет оценить его в стоимостном отношении. Нет никакой возможности появления разногласий по вопросам детерминированных решений, выведенных компьютером. Этот уровень ясности и формальности защищает каждого и препятствует судебному произволу через предвзятое толкование законов»{107}.
Биткоин-блокчейн стал примером использования в системе платежей распределенного публичного реестра (Distributed Public Ledger, DPL){108}, включающего:
• формирование журнала из блоков транзакций и организацию связи между ними за счет включения в блок хеша предыдущего блока;
• формирование транзакций в виде сообщений, использующих криптографические элементы защиты и проверки того, корректна ли технология трансляции транзакций, по сети и синхронизации копий журнала в узлах сети;
• защиту цепочки блоков от модификации путем доказательства работы (Proof-of-Work) на основе технологии поиска хеша;
• использование переменной сложности при поиске хеша для поддержания заданной частоты создания блоков{109}.
В своем исходном отчете о биткоине Сатоши Накамото определил электронную монету как «цепочку цифровых подписей». В силу длительности применения биткоином блокчейна проще будет объяснить принцип действия технологии на примере именно этой криптовалюты.
Участниками такой системы являются:
• пользователи – владельцы электронных кошельков, которые могут хранить криптовалюту и переводить ее в системе другим пользователям;
• майнеры – участники, за вознаграждение обрабатывающие совершенные пользователями транзакции в сети и подбирающие хеш для формируемых блоков;
• серверы – участники, осуществляющие распределенное хранение общей книги блокчейна и выполняющие операции по проверке присылаемых блоков на соответствие правилам по сложности и допустимости{110}.
По другой классификации, в системе блокчейна фигурируют два типа участников: обычные пользователи и майнеры{111}. Первые создают записи. Вторые собирают записи, распространенные обычными пользователями, проверяют их и группируют в блоки, после чего формируют заголовок будущего блока и рассчитывают ключ блока. Найдя подходящий ключ, майнер сохраняет блок и отправляет его другим участникам сети. Обычные пользователи получают блоки и сохраняют их у себя, чтобы корректно создавать свои и достоверно проверять чужие записи.
До момента внесения записи в блок она считается недействительной. Пользователь сети блокчейн может совершать с ней действия, не имея, однако, уверенности в достоверности полученной и передаваемой информации. Гарантию достоверности предоставляет майнер, когда включает данную информацию в блок. Как только запись окажется сохранена в блоке и проверена, ее отмена уже будет невозможна{112}.
Чтобы убедиться в достоверности транзакции, майнеры автоматически прогоняют ее содержание через криптоалгоритм, тем самым верифицируя корректность цифровой подписи отправителя каждой транзакции, а также подтверждая соответствие последней транзакции условиям, заложенным в алгоритме консенсуса каждого конкретного блокчейна. Затем все накопившиеся транзакции упаковываются в блок{113}.
Функция самого блокчейна проста: регистрировать каждую транзакцию с биткоинами. Любая передача какого-то количества биткоинов подтверждается в сети (с помощью майнинга) внесением транзакционного блока. Блок добавляется к длинной цепочке, которая позволяет любому желающему отследить в сети смену собственников каждого из биткоинов от момента создания.
Технически это достигается при помощи последовательного шифрования данных о каждой очередной транзакции. Любой заносимой в блок сделке присваивается криптографический идентификатор (хеш), который добавляется в заголовок записи о следующей транзакции, и это повторяется снова и снова, так что хеш транзакции на вершине цепочки содержит зашифрованные данные обо всех предыдущих операциях, записанных в блоке. Вмешаться и изменить уже записанную транзакцию нельзя, так как это скомпрометирует всю цепочку[6].
Сам факт, что блоки корректно встраиваются в цепь, свидетельствует о том, что сделка прошла надлежащим образом. Так что блок представляет собой одновременно и подтверждение транзакции (с электронной подписью и отметкой о времени совершения), и часть общей (в масштабах всей сети) истории транзакций{114}.
Для идентификации в реестре владельцев биткоинов возможно использование шифрования с открытым ключом. При этом в базу данных записываются не имена и не данные СНИЛС, а открытый ключ. Только держатель закрытого ключа вправе дальше проводить операции с этими биткоинами. Так шифрование обеспечивает необходимую конфиденциальность, при том что одобрить транзакцию может лишь владелец закрытой половины пары ключей.
Таким образом, у пользователя есть только один ключ, и при его незнании невозможен доступ к первичной информации. Невозможен и подбор другого пакета данных, позволяющих создать такой же ключ.
Также для блокчейна характерен распределенный способ добавления в реестр новых записей. Нет централизованного хранилища или одного-единственного сервера. Кто угодно может создать следующий блок транзакций и обновить блокчейн с помощью майнинга. Это обеспечивает доверие к блокчейну, ведь в его дальнейшем расширении участвуют все пользователи сети.
Такая система хранения данных наиболее безопасна, поскольку вывести ее из строя можно лишь в случае поломки всех участвующих в системе компьютеров.
Как было показано ранее, алгоритм формирования блокчейна включает создание нового блока цепи (новой записи), который содержит защищенную криптографией информацию из предыдущего блока (хеш), то есть каждая запись создается с учетом предыдущей. Новые блоки транзакций должны быть подтверждены путем подбора хеша определенной сложности. Для подтверждения используется алгоритм на основе доказательства выполненной работы (PoW). Что это означает на практике?
Добавление новых транзакций в блокчейн стимулируется премиями. Чтобы добавить в цепочку следующий блок транзакций, надо решить сложную математическую задачу. Первый справившийся с нею получал 25 биткоинов – а это по сегодняшнему курсу много десятков тысяч долларов.
Один из экспертов пишет: «Работа узлом/майнером выгодна. Майнеры формируют из массы транзакций блоки, проверяют их и встраивают в общую цепь, за что и получают вознаграждение. Поскольку количество транзакций растет каждую минуту, для получения вознаграждения необходимо выполнить еще больше вычислений, нужно еще больше мощностей, еще больше майнеров»{115}.
Как поясняют В. Кузнецов и А. Якубов, «основа работы Bitcoin – это расчет хеш-функции майнерами, которые таким образом демонстрируют остальным пользователям, что они затратили достаточно много вычислительных мощностей на обработку текущих транзакций. Другими словами, обработка поддельных транзакций была бы им просто невыгодна (так называемая концепция Proof-of-Work). Время обработки блока транзакций всегда приблизительно одно и то же, но если поставить специальное оборудование, предназначенное для расчета конкретной хеш-функции, используемой в Bitcoin, то доля майнеров, использующих это оборудование, будет быстро расти»{116}.
Поскольку добыча криптоденег становится все более трудным занятием, индивидуальным майнерам приходится объединять вычислительные мощности, образуя крупные конгломераты{117}.
Некоторые новые протоколы, такие как Ripple, полагаются на консенсусный процесс, не требующий ни наличия майнеров, ни доказательства работы, и могут обеспечить одобрение изменений блокчейна в течение считаных секунд{118}.
Как указывает Э. Пишини, в блокчейн-сообществе каждый ведет собственную копию записей и все участники должны утверждать любые обновления коллективно. Информация может относиться к операциям, договорам, активам, персональным данным – практически ко всему, что передается в цифровой форме. Записи являются постоянными, прозрачными и доступными для просмотра истории операций. Каждое обновление становится новым блоком, добавляемым в конец цепочки. Протокол устанавливает правила того, как вносятся, утверждаются и регистрируются новые записи. В этой технологии криптография заменяет сторонних посредников, выступающих в качестве доверенных лиц, – все участники блокчейна проходят сложные алгоритмы, чтобы подтвердить целостность системы{119}.
Подобный обмен называют децентрализованным консенсусом. Как указывает Илья Боев, «противостоящий ей централизованный консенсус требует наличия единой базы данных, по записям в которой определяется валидность совершенной операции. В реальности единая база может сгореть, подвергнуться атаке злодеев… или не существовать вовсе. Кроме того, она наделяет существенными экономическими (и не только) привилегиями оператора базы, а также повышает стоимость и время осуществления самих транзакций.
Система децентрализованного консенсуса распределяет полномочия вести запись операций между машинами участников сети, позволяя сидящим за ними людям полностью доверять друг другу – ведь обман невозможен технически»{120}.
Уже появилось достаточно много популярной литературы, объясняющей, как работает биткоин-блокчейн. Чтобы убедиться, что в головах у наших читателей от множества технических терминов и различных описаний не возникло сумбура и сложилась ясная картина, воспользуемся примером от Deloitte.
Допустим, Боб должен деньги Алисе за ланч. Он устанавливает приложение на своем смартфоне, чтобы создать новый биткоин-кошелек. Приложение похоже на программу мобильного банкинга, а кошелек похож на банковский счет. Чтобы заплатить Алисе, Бобу нужны две части сведений: его приватный ключ и ее публичный ключ. Далее происходит следующее.
Боб получает открытый ключ Алисы, сканируя QR-код своим телефоном или получая от нее ее адрес электронной почты, строку случайных чисел и букв (любой, у кого есть открытый ключ, может послать деньги на соответствующий адрес биткоина, но только подпись, подтвержденная частным ключом, позволит отправить деньги с биткоин-кошелька).
Приложение «Биткоин» оповещает о сделке майнеров по всему миру. Майнеры проверяют сделку и обнаруживают, что Боб имеет достаточное количество биткоинов, что осуществить платеж.
В любое время в сети происходит множество транзакций. Все ожидающие проверки транзакции за определенный период времени группируются в блоке. Каждый блок имеет уникальный идентификационный номер, время создания и ссылку на предыдущий блок.