Как определить, нужен ли вам блокчейн

Карл Вуст и Артур Жерве из ETH Zurich недавно опубликовали научную статью, в которой представлена методология, призванная помочь определить подходящее техническое решение для конкретной проблемы приложения. Рассмотрим предложенный подход.

Сравнение технологий


Сравнение различных типов сохранения состояния

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

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

Базы данных

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

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

Блокчейн с открытым доступом

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

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

Поскольку бесплатно ничего не бывает, приходится идти на компромисс: страдает пропускная способность и время отклика. Например, что касается биткоина, то здесь «тормозом» выступает протокол POW ( подтверждение выполнения работы), который и не может быть быстрым. Но любой блокчейн со свободным доступом проигрывает в скорости обычной базе данных, потому что, чтобы поддерживать согласованность в распределенной сети, нужно поддерживать связь между географически разнесенными узлами.

Блокчейн с закрытым доступом

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

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

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

Нужен ли вам блокчейн?


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

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

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

Если же их больше одного, дело другое: тогда встает вопрос, можем ли мы позволить себе положиться на постоянно доступного доверенного посредника — если нет, нам нужна защита от исправления записей. Если не может, идем дальше. Если может, блокчейн не требуется, а централизация всегда быстрее.

Следующий вопрос: знаем ли мы всех «писателей»? Если нет (пример: интернет), то стоит выбрать блокчейн с открытым доступом.

Если же все «писатели» известны, встает следующий вопрос: доверяют ли они друг другу? Если да, блокчейн опять не нужен, достаточно базы данных с общим доступом на запись. Если же «писатели» друг другу не доверяют, вам действительно нужен блокчейн, причем с ограниченным доступом.

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

Приложения, которым не нужен блокчейн


  • Система управления цепочкой поставок
  • Интернет вещей

Приложения, которым подходит блокчейн

  • Межбанковские и международные платежи
  • Торговые и обменные протоколы
  • Электронное голосование

Заключение

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

Leave A Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *