Что конкретно входит в понятие «блокчейн»

в 9:28, , рубрики: bitcoin, blockchain, malanov, Proof-of-stake, Блог компании «Лаборатория Касперского», информационная безопасность

Автор статьи — Алексей Маланов, эксперт отдела развития антивирусных технологий «Лаборатории Касперского».

Вопрос, что понимать под блокчейном, не праздный. Даже блокчейн-специалисты выдадут разные определения и разные границы технологии, чего уж говорить о людях, далеких от технологий. А сейчас блокчейн обсуждается даже политиками и большими инвесторами, им-то каково?

Давайте разбираться.

Предупреждаю сразу, статья философская с пространными рассуждениями и демагогией. Хотите конкретики, читайте другую. Хотите разобраться — читайте третью.

Что конкретно входит в понятие «блокчейн» - 1
Иллюстрация из книги Мелани Свон «Блокчейн. Схема новой экономики»

Блокчейн с точки зрения максималистов

Начнем с простой точки зрения. Блокчейн — это все технологии, которые используются или будут использоваться в криптовалютах. Включая еще не изобретенные и не реализованные.

Что входит в понятие криптовалют, отходит на второй план. Чтобы не отвлекаться, для простоты мы будем считать, что криптовалюты — это валюты из списка https://coinmarketcap.com/currencies/.

Что конкретно входит в понятие «блокчейн» - 2
Топ криптовалют по капитализации (Источник)

С одной стороны, такое определение удобно, потому что позволяет делать любые заявления. Например:

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

Позволяет ли блокчейн лучше проводить генетические и медицинские исследования? Ну, не мешает точно.

С другой же стороны, такое максималистское определение позволяет многое утверждать про блокчейн, но не позволяет вести предметный разговор и утверждать что-то конкретное. Посмотрите на примеры:

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

Все они становятся ложными. Ведь мало ли что придумают? Например, в криптовалюте IOTA уже придуманы и используются направленные ациклические графы для организации транзакций — никакой цепочки блоков там нет. Или, например, когда-нибудь, вероятно, заработает Plasma, и тогда блокчейн станет масштабируемым.

Блокчейн с точки зрения минималистов

Продолжим не менее простой точкой зрения. Блокчейн — это просто база данных с инкрементальной записью. Все. Если мы умеем только дописывать в конец или выкидывать с конца и писать заново, то у нас блокчейн. Выкидывать по логике можно всегда, просто реальные блокчейн-решения стараются пользоваться такой возможностью только в исключительных случаях (например, в случае с 92 млрд биткойнов). Ни распределенности, ни консенсуса, ни блоков, ни ссылок на предыдущие блоки — ничего не требуется.

Это определение удобно тем, что на таком блокчейне действительно работают все известные мне криптовалюты.

Но такое определение еще более абсурдно и бесполезно, чем предыдущее. Более того, такой «блокчейн» известен лет 100 и называется стеком.

Базовая комплектация

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

Блокчейн предполагает, что:

1. Данные оформлены блоками, что бы из себя эти блоки ни представляли.
2. Блок либо является genesis-блоком, либо ссылается на предыдущий.
a. Блоки дописываются в конец.
b. Выкидывать блоки в рамках нормальной работы запрещено.
3. Блоки летают в коммуникационной среде независимо — можно загрузить произвольный блок.
4. Блокчейн читается как минимум двумя участниками.
5. В блокчейн пишет как минимум один участник.
6. Все пишущие достигают консенсуса — блоки соответствуют единому набору правил.
a. Очевидное следствие — блокчейн един для всех участников после достижения консенсуса.
b. Если в сети наблюдается софт-форк, то «едиными» правилами, очевидно, являются более жесткие.
Что конкретно входит в понятие «блокчейн» - 3
Шпаргалка по понятию софт-форка. Источник

Есть что добавить?

  1. А теперь посмотрим, что осталось за бортом такого определения.
  2. В понятие «блокчейн» не входят принципы достижения консенсуса: Proof-of-Work, Proof-of-Stake, Proof-of-Authority и другие. А ведь в Proof-of-Work как раз заключается львиная доля инновационности биткойна, родоначальника блокчейна.
  3. В понятие «блокчейн» не входит принцип децентрализованности. В вырожденном случае выходит, что есть сервер, он пишет в базу, один. Остальные могут читать и проверять, а могут и не проверять.
  4. В понятие «блокчейн» не входит принцип открытости: он не обязан быть доступным на чтение широкому кругу лиц, тем более на запись.
  5. В понятие «блокчейн» не входит принцип распределения доверия: участники могут быть исключительно доверенными.
  6. В понятие «блокчейн» не входит защита от злонамеренных участников: ее может и не быть.
  7. В понятие «блокчейн» никак не включена криптография. Вряд ли без нее удастся обойтись, но на каком этапе и в каком виде она будет применяться, не определено.

Что следует из нашего определения? Следует, что блокчейн-решение может быть централизованным, эффективным и даже масштабируемым. Ведь мы отбросили все «лишнее»: распределенность, недоверие, медленный консенсус — и получили конфетку, которая все еще является блокчейном.

Кстати, такая конфетка называется частным блокчейном (private/permissioned), и именно на такие блокчейны сейчас делают ставку некоторые компании (и даже госструктуры). Это частный случай давно известных распределенных реестров (не путать с распределенной базой данных), но не каждый распределенный реестр, очевидно, является блокчейном.

Продвинутая комплектация — «настоящий» блокчейн

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

Сначала определим свойства «настоящего» блокчейна:

  • Децентрализованный. Это дает неблокируемость/устойчивость, но заодно забирает эффективность (пропускная способность на единицу железа) и масштабируемость (рост пропускной способности с ростом количества железа).
  • Открытый на чтение. Это дает валидируемость, но заодно и забирает конфиденциальность (которую можно прикрутить сверху обратно).
  • Открытый на запись. Это дает доступность, но и делает запись платной. Как правило, плата символическая, но этого хватает, чтобы резко ограничить список пишущих.
  • Неизменяемый. Это дает защиту от фальсификации, но и приводит к замусоренности (чего только не пишут в публичные блокчейны).
  • С валютой. Это восхитительное свойство особенно ценится в блокчейн-решениях. Оно дает финансовые возможности, но взамен вносит неопределенность в правовой статус проекта. А заодно открывает и риски кибербезопасности.
  • Доверяемый. Не требует репутации участников.

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

Для получения описанных свойств дополнительно включим в состав «настоящего» блокчейна следующее:

  1. Каждый блок, кроме начального, содержит криптографический хеш предыдущего, а не просто ссылается, как в базовой комплектации.
  2. Консенсус между участниками достигается таким способом, чтобы минимизировать риск переписывания базы меньшинством, как правило, Proof-of-Work или вариации Proof-of-Stake. И это, на мой взгляд, самое важное. Понятие меньшинства определяется выбранным способом.
  3. Либо используется одноранговая сеть, либо право стать мастер-нодой формально есть у каждого желающего.
  4. За участие в обеспечении бесперебойной работы сети (формирование корректных блоков) полагается награда в каком-то виде. И поэтому, вероятно, в каждом открытом блокчейне есть свои «койны».
  5. Каждый участник обладает парой ключей и в том или ином виде удостоверяет свои намерения по записи в блокчейн.

Пара свойств (не требований):

  1. За валидацию корректности базы награда не полагается. Участники делают это ради собственной безопасности либо не делают.
  2. Каждый участник имеет право послать в сеть транзакцию, удовлетворяющую правилам сети, и рассчитывать, что транзакция будет включена в блокчейн за разумное время при разумной оплате.

Блокчейн с заданными нами в начале раздела свойствами часто называется открытым блокчейном (open/public/permissionless). Перспективы применения таких блокчейнов за рамками криптовалют автору кажутся куда более скромными, чем сейчас принято считать. Должны быть веские причины делать что-то децентрализованно, если ничего не мешает сделать это централизованно. Но это лишь личное мнение автора.

Дополнительные опции

Есть еще такое удобное понятие — «блокчейн-технологии». Это те технологии, которые блокчейном вовсе не являются, но имеют к нему непосредственное отношение — либо являются надстройками, либо улучшениями обычного блокчейна (в любом его определении). Половина из них вполне может использоваться и без блокчейна, просто потребности такой не возникает.

Например, Lightning Network — это привычный клиринг, но только построенный на доверии, полученном за счет уже развернутого блокчейна.

Другой пример — миксер. Отмывка «грязных» денег посредством смешивания с «чистыми» известна давно, но применительно к криптовалютам преобразилась и стала отдельной технологией с разными вариантами реализации.

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

Понятие «блокчейн-технологии» по сути означает то же самое, что максималистский подход к определению блокчейна в первом разделе. Но только мне это понятие нравится больше — это более корректно. Если упоминаются блокчейн-технологии, то это еще не значит, что блокчейн там вообще есть.

Заключение

Мы попытались определить, что же входит в понятие «блокчейн», а что — нет. Рассмотрели несколько вариантов, от абсурдных до вполне годных. Описали те свойства, которые вытекают из разных границ технологии или, наоборот, которые определяют эти границы.
Осталось дело за малым — просто четко понимать, а что же имеется в виду в каждом конкретном случае использования.

Автор: Kaspersky_Lab

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js