Автор статьи — Алексей Маланов, эксперт отдела развития антивирусных технологий «Лаборатории Касперского».
Вопрос, что понимать под блокчейном, не праздный. Даже блокчейн-специалисты выдадут разные определения и разные границы технологии, чего уж говорить о людях, далеких от технологий. А сейчас блокчейн обсуждается даже политиками и большими инвесторами, им-то каково?
Давайте разбираться.
Предупреждаю сразу, статья философская с пространными рассуждениями и демагогией. Хотите конкретики, читайте другую. Хотите разобраться — читайте третью.
Иллюстрация из книги Мелани Свон «Блокчейн. Схема новой экономики»
Блокчейн с точки зрения максималистов
Начнем с простой точки зрения. Блокчейн — это все технологии, которые используются или будут использоваться в криптовалютах. Включая еще не изобретенные и не реализованные.
Что входит в понятие криптовалют, отходит на второй план. Чтобы не отвлекаться, для простоты мы будем считать, что криптовалюты — это валюты из списка https://coinmarketcap.com/currencies/.
Топ криптовалют по капитализации (Источник)
С одной стороны, такое определение удобно, потому что позволяет делать любые заявления. Например:
- Блокчейн: новая нефть России.
- Технология блокчейн, на мой взгляд, — это новый Интернет. Это идея такого же уровня, как Интернет.
- Как бы то ни было, экосистема блокчейна открывает много новых возможностей в самых разных областях и позволяет проводить масштабные расчеты генетических последовательностей, используя концепции децентрализации.
- Агрегирование персональных медицинских данных в блокчейне, то есть хранение в цепочках блоков указателей на внешние данные, позволяет сделать медицинские исследования в целом более эффективными.
- И многие другие.
Ведь трудно спорить, что лет через пятьдесят наличные деньги выйдут из обращения и мы будем платить некими цифровыми деньгами. Наверняка в этих цифровых деньгах будут играть роль какие-то технологии, которые сейчас используются или будут использоваться в криптовалютах. Значит, выходит, блокчейн-деньги заменят обычные деньги, верно?
Позволяет ли блокчейн лучше проводить генетические и медицинские исследования? Ну, не мешает точно.
С другой же стороны, такое максималистское определение позволяет многое утверждать про блокчейн, но не позволяет вести предметный разговор и утверждать что-то конкретное. Посмотрите на примеры:
- Решения на блокчейне не масштабируются.
- Решения на блокчейне медленнее централизованных аналогов.
- Решения на блокчейне не требуют доверия между участниками.
- Решения на блокчейне открыты и валидируемы.
- Блокчейн представляет собой цепочку блоков.
Все они становятся ложными. Ведь мало ли что придумают? Например, в криптовалюте IOTA уже придуманы и используются направленные ациклические графы для организации транзакций — никакой цепочки блоков там нет. Или, например, когда-нибудь, вероятно, заработает Plasma, и тогда блокчейн станет масштабируемым.
Блокчейн с точки зрения минималистов
Продолжим не менее простой точкой зрения. Блокчейн — это просто база данных с инкрементальной записью. Все. Если мы умеем только дописывать в конец или выкидывать с конца и писать заново, то у нас блокчейн. Выкидывать по логике можно всегда, просто реальные блокчейн-решения стараются пользоваться такой возможностью только в исключительных случаях (например, в случае с 92 млрд биткойнов). Ни распределенности, ни консенсуса, ни блоков, ни ссылок на предыдущие блоки — ничего не требуется.
Это определение удобно тем, что на таком блокчейне действительно работают все известные мне криптовалюты.
Но такое определение еще более абсурдно и бесполезно, чем предыдущее. Более того, такой «блокчейн» известен лет 100 и называется стеком.
Базовая комплектация
Закончим с вырожденными определениями, составим минимальный разумный пакет того, что смогут назвать блокчейном многие специалисты.
Блокчейн предполагает, что:
1. Данные оформлены блоками, что бы из себя эти блоки ни представляли.
2. Блок либо является genesis-блоком, либо ссылается на предыдущий.
a. Блоки дописываются в конец.
b. Выкидывать блоки в рамках нормальной работы запрещено.
3. Блоки летают в коммуникационной среде независимо — можно загрузить произвольный блок.
4. Блокчейн читается как минимум двумя участниками.
5. В блокчейн пишет как минимум один участник.
6. Все пишущие достигают консенсуса — блоки соответствуют единому набору правил.
a. Очевидное следствие — блокчейн един для всех участников после достижения консенсуса.
b. Если в сети наблюдается софт-форк, то «едиными» правилами, очевидно, являются более жесткие.
Шпаргалка по понятию софт-форка. Источник
Есть что добавить?
- А теперь посмотрим, что осталось за бортом такого определения.
- В понятие «блокчейн» не входят принципы достижения консенсуса: Proof-of-Work, Proof-of-Stake, Proof-of-Authority и другие. А ведь в Proof-of-Work как раз заключается львиная доля инновационности биткойна, родоначальника блокчейна.
- В понятие «блокчейн» не входит принцип децентрализованности. В вырожденном случае выходит, что есть сервер, он пишет в базу, один. Остальные могут читать и проверять, а могут и не проверять.
- В понятие «блокчейн» не входит принцип открытости: он не обязан быть доступным на чтение широкому кругу лиц, тем более на запись.
- В понятие «блокчейн» не входит принцип распределения доверия: участники могут быть исключительно доверенными.
- В понятие «блокчейн» не входит защита от злонамеренных участников: ее может и не быть.
- В понятие «блокчейн» никак не включена криптография. Вряд ли без нее удастся обойтись, но на каком этапе и в каком виде она будет применяться, не определено.
Что следует из нашего определения? Следует, что блокчейн-решение может быть централизованным, эффективным и даже масштабируемым. Ведь мы отбросили все «лишнее»: распределенность, недоверие, медленный консенсус — и получили конфетку, которая все еще является блокчейном.
Кстати, такая конфетка называется частным блокчейном (private/permissioned), и именно на такие блокчейны сейчас делают ставку некоторые компании (и даже госструктуры). Это частный случай давно известных распределенных реестров (не путать с распределенной базой данных), но не каждый распределенный реестр, очевидно, является блокчейном.
Продвинутая комплектация — «настоящий» блокчейн
Но чтобы блокчейну можно было приписать его популярные преимущества (а заодно и недостатки), необходимо дописывать в определение новые условия.
Сначала определим свойства «настоящего» блокчейна:
- Децентрализованный. Это дает неблокируемость/устойчивость, но заодно забирает эффективность (пропускная способность на единицу железа) и масштабируемость (рост пропускной способности с ростом количества железа).
- Открытый на чтение. Это дает валидируемость, но заодно и забирает конфиденциальность (которую можно прикрутить сверху обратно).
- Открытый на запись. Это дает доступность, но и делает запись платной. Как правило, плата символическая, но этого хватает, чтобы резко ограничить список пишущих.
- Неизменяемый. Это дает защиту от фальсификации, но и приводит к замусоренности (чего только не пишут в публичные блокчейны).
- С валютой. Это восхитительное свойство особенно ценится в блокчейн-решениях. Оно дает финансовые возможности, но взамен вносит неопределенность в правовой статус проекта. А заодно открывает и риски кибербезопасности.
- Доверяемый. Не требует репутации участников.
То, что блокчейн-решение должно быть с валютой, конечно, опциональное свойство. Но без валюты не так просто мотивировать участников обслуживать сеть, а значит, не так просто обеспечить децентрализацию — обязательное свойство «настоящего» блокчейна.
Для получения описанных свойств дополнительно включим в состав «настоящего» блокчейна следующее:
- Каждый блок, кроме начального, содержит криптографический хеш предыдущего, а не просто ссылается, как в базовой комплектации.
- Консенсус между участниками достигается таким способом, чтобы минимизировать риск переписывания базы меньшинством, как правило, Proof-of-Work или вариации Proof-of-Stake. И это, на мой взгляд, самое важное. Понятие меньшинства определяется выбранным способом.
- Либо используется одноранговая сеть, либо право стать мастер-нодой формально есть у каждого желающего.
- За участие в обеспечении бесперебойной работы сети (формирование корректных блоков) полагается награда в каком-то виде. И поэтому, вероятно, в каждом открытом блокчейне есть свои «койны».
- Каждый участник обладает парой ключей и в том или ином виде удостоверяет свои намерения по записи в блокчейн.
Пара свойств (не требований):
- За валидацию корректности базы награда не полагается. Участники делают это ради собственной безопасности либо не делают.
- Каждый участник имеет право послать в сеть транзакцию, удовлетворяющую правилам сети, и рассчитывать, что транзакция будет включена в блокчейн за разумное время при разумной оплате.
Блокчейн с заданными нами в начале раздела свойствами часто называется открытым блокчейном (open/public/permissionless). Перспективы применения таких блокчейнов за рамками криптовалют автору кажутся куда более скромными, чем сейчас принято считать. Должны быть веские причины делать что-то децентрализованно, если ничего не мешает сделать это централизованно. Но это лишь личное мнение автора.
Дополнительные опции
Есть еще такое удобное понятие — «блокчейн-технологии». Это те технологии, которые блокчейном вовсе не являются, но имеют к нему непосредственное отношение — либо являются надстройками, либо улучшениями обычного блокчейна (в любом его определении). Половина из них вполне может использоваться и без блокчейна, просто потребности такой не возникает.
Например, Lightning Network — это привычный клиринг, но только построенный на доверии, полученном за счет уже развернутого блокчейна.
Другой пример — миксер. Отмывка «грязных» денег посредством смешивания с «чистыми» известна давно, но применительно к криптовалютам преобразилась и стала отдельной технологией с разными вариантами реализации.
Кольцевые подписи или доказательства с нулевым разглашением — известные криптографические протоколы, которые, будучи применены в криптовалютной сфере, тоже становятся «блокчейн-технологиями».
Понятие «блокчейн-технологии» по сути означает то же самое, что максималистский подход к определению блокчейна в первом разделе. Но только мне это понятие нравится больше — это более корректно. Если упоминаются блокчейн-технологии, то это еще не значит, что блокчейн там вообще есть.
Заключение
Мы попытались определить, что же входит в понятие «блокчейн», а что — нет. Рассмотрели несколько вариантов, от абсурдных до вполне годных. Описали те свойства, которые вытекают из разных границ технологии или, наоборот, которые определяют эти границы.
Осталось дело за малым — просто четко понимать, а что же имеется в виду в каждом конкретном случае использования.
Автор: Kaspersky_Lab