Масштабируемость блокчейнов – это проблема, которая будет продолжать обсуждаться, особенно в отношении публичных блокчейнов и биткоинов. Проблема масштабируемости двоякая:
1. Как правило, существует более одного способа масштабирования любой технологии, и блокчейн в этом смысле ничем не отличается. Соответственно некоторые инженеры могут не согласиться с наилучшим методом масштабирования, что может привести к длительным дискуссиям и отсрочкам реализации.
2. Начиная с 2016 года некоторые аспекты масштабируемости блокчейнов по-прежнему требуют постоянных научных исследований, поскольку это новая приграничная территория вблизи новой границы.
Масштабирование технических систем – это никогда не прекращающийся процесс. Это движущаяся цель, потому что потребности в масштабировании развиваются по мере роста; поэтому вам не нужно решать проблему, которой пока не существует. Обычно вы решаете ее в нужное время, непосредственно перед тем, как она встанет перед вами в полный рост. Вы не создаете решение для одного миллиона пользователей, когда вы все еще обслуживаете только первую тысячу.
Для справки: спустя более тридцати лет после ее первоначального изобретения мы все еще разрабатываем и совершенствуем собственную масштабируемость интернета.
Если посмотреть на ожидаемые 50 миллиардов узлов в 2020 году, то, разумеется, это цифра, о которой и не мечтали в 1983 или 1995 годах. Но сейчас размер сети значительно вырос, и мы преодолели порог в несколько миллиардов пользователей и теперь сможем легче решать новые задачи масштабируемости.
Концептуально масштабирование блокчейнов не будет отличаться от того, как мы продолжаем масштабировать интернет. Есть много умных инженеров, ученых, исследователей и веб-дизайнеров, которые займутся этой задачей и справятся с ней.
Что дополнительно усложняет масштабируемость блокчейнов, так это необходимость соблюдать баланс между децентрализацией и безопасностью. Масштабирование децентрализованной сети с экономической моделью, привязанной к ее безопасности, – это новый рубеж, которого ранее не достигали.
Как правило, существуют две проблемы, относящиеся к устаревшим системам на местах:
1. Интеграция с существующими приложениями.
2. Знание того, какие части нужно заменить.
Технически интеграция с устаревшими или сильно отличающимися приложениями всегда будет проблемой внедрения, стоящей перед IT-сотрудниками. Поэтому легче разрабатывать варианты использования и проекты за пределами существующих систем, чтобы избежать кошмаров интеграции, по крайней мере, на начальном этапе.
Понимание компромиссов и мудрых предпочтений, связанных с базами данных и блокчейнами, является ключевым навыком, который должен постоянно совершенствоваться. Он начинается с четкого осознания сильных и слабых сторон каждого подхода (см. главы 1 и 2).
Поиски правильного баланса между преимуществами блокчейна и унаследованными выгодами баз данных и существующих приложений – это часть той магии, которой вам предстоит постоянно заниматься. Мы до сих пор изучаем, что собой представляют границы между ними, и, подобно маятнику, мы можем слишком сильно отклоняться то в одну сторону, то в другую, прежде чем найдем точку равновесия.
Наряду с этой темой стоит вопрос хранения данных блокчейнов для транзакционных, исторических, аналитических отчетов и иных потребностей.
В общедоступном блокчейне режимом по умолчанию для любой транзакции является ее открытость и прозрачность. Это означает, что каждый может отследить путь транзакции, а также ее содержание, адрес отправителя и получателя. Этот уровень прозрачности не был реализован в частных имплементациях блокчейнов. Однако теперь можно добиться конфиденциальности в транзакциях, зашифровав их содержание, а также можно скрыть личные данные с помощью схем доказательства с нулевым знанием.
Вопрос о безопасности блокчейнов будет вечным. Мы все еще привыкаем к завершению транзакции консенсусом (вне зависимости от его формы) вместо «фиксации базы данных», которая является более детерминированным методом.
Крупные организации, особенно банки, не слишком заинтересованы в принятии общественных блокчейнов для удовлетворения своих внутренних потребностей, ссылаясь на потенциальные проблемы с безопасностью. Технически аргумент против полной безопасности публичных блокчейнов можно легко состряпать в тот момент, когда вы упомянете тень сомнения по потенциальному сценарию, который может нанести ущерб завершению транзакции. Это опасение само по себе может быть сдерживающим фактором, подтверждающим, что лучше держаться подальше от публичного блокчейна, хотя тот же аргумент мог бы пойти и на пользу их безопасности.