Найти в Дзене

Важно: 5 причин НЕ использовать блокчейн в своем проекте

Оглавление

Привет! Мы в компании DeNet разрабатываем децентрализованные “Облачные решения”. В своих разработках мы стараемся использовать блокчейн по минимуму и только там, где без общего консенсуса невозможно продолжать работу. Если вы тоже стремитесь к децентрализации, но при этом опираетесь исключительно на существующие технологии, рискуете столкнуться с «подводными камнями». И вот с какими:

1. Ограничение в скорости

Мало кто захочет платить огромную комиссию, предпочитая подождать, пока желающих проводить транзакции станет меньше. Исходя из этого, предположим, что вы уже имеете ограничение в скорости. Однако это не все. Возьмите Ethereum — там блок генерируется раз в 15 секунд. Я наблюдал в блоке максимум 357 транзакций. Видите ограничение? ~23.8 транзакций в секунду, это максимум. Больше не влезет из-за размера блока. По факту вам в любом случае придется ждать минимум 3–5 секунд, чтобы загрузить транзакцию (если вам повезет сразу включиться в блок), иначе — больше времени. В Биткоине вообще 7 транзакций в секунду. В этом случае время может измеряться часами. Возможно, для вас это покажется много. Но представьте себе сеть, которая использует в качестве базы данных ethereum или bitcoin. Если со считыванием данных все относительно ясно, то для записи чего-либо придется потратить кучу времени и денег.

2. Ограничение в размерах блока

Еще недавно было модно говорить “у нас все в блокчейне”, файлы разбиваются на кусочки, мета информация отправляется в блокчейн и все!

На самом деле , это все сказки. Вы просто не можете загрузить в блокчейн данные, если их объем превышает 1мб (это практически максимум). Даже это в большинстве блокчейнов невозможно, поскольку помимо вас в сети есть люди, которые тоже хотят что-то залить в блокчейн (например, эфиры бабушке перевести). И вот из-за других участников сети, места все меньше и меньше. Чтобы загрузить нужное количество данных, вы могли бы заплатить повышенную комиссию, но цена будет слишком высока.

Рассчитывайте максимум на 1 кб данных в своих транзакции с повышенной комиссией.

3. Proof of Work & 51% Attack

В большом количестве блокчейнов используется алгоритм подтверждения работы — proof-of-work — доказательство работы, если говорить простым языком, то это тупой перебор хешей, пока не попадется удачный. В этом алгоритме всегда есть некий difficult — сложность, которая ограничивает количество успешных попыток (ну не могут же все подряд майнить успешные блоки). Рано или поздно, при увеличении стоимости определенной криптовалюты, ее начнут майнить больше майнеров, а значит возрастет и difficult, а значит меньше майнеров будут получать вознаграждения. Значит возрастет и difficult — вознаграждения будут получать меньше майнеров. То есть большая вычислительная мощность перекроет кислород домашним майнерам и они ничего не получат, если будут майнить в одиночку. Тут всегда есть риск получить результат 51-100% вычислительных мощностей, как, например, это произошло в bitcoin cash (98% сети в одних руках). Короче говоря, никакой децентрализации. А это значит, что ваши транзакции могут либо не обрабатываться, либо иметь большую задержку, если кому-то из лидеров это не понравится.

А что с эфиром? С эфиром аналогичная ситуация, топовые майнеры (ethermine, sparkPool, f2pool_2, Nanopool, miningpoolhub_1 — контролирующие 78+% мощностей эфириума) могут позволить себе:

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

Вряд ли это кому-то нужно, но уже сама возможность говорит о том, что тут не все в порядке.

4. Централизация:

Существующие "большие" блокчейны, централизованны, как показала практика, создать действительно децентрализованный сервис достаточно сложно:

  • 78% мощностей Ethereum контролируются пятью участниками сети
  • 98% мощностей BitcoinCash у одного участника сети
  • Большая часть пользователей криптовалюты хранит свои средства на бирже
  • 84% Криптовалют централизованы

5. Ограничения в размере блокчейна

Если вы когда-нибудь устанавливали ноду эфириума, то знаете, что все данные эфирчика перевалили за 1ТБ, а рано или поздно эта цифра возрастет в несколько раз. Пока Ethereum Foundation решает эту проблему, эфириум становится все менее децентрализвованным, поскольку пользователи не могут установить себе ноду и честно его майнить. Есть лайт версия ноды, где хранятся сами заголовки транзакций, но даже это в скором времени перестанет помещаться на вашем макбуке, да и грузить систему это будет достаточно сильно. Если говорить про блокчейн биткоина, там дела обстоят немного лучше — нет смарт-контрактов и все очень ограничено. К чему это может привести? Как я уже сказал выше, настоящая децентрализация (если это было целью) будет сходить на нет, будут мощные публичные ноды, которые смогут хранить огромный обьем данных. Эту проблему можно обойти, так, как это делается в lighting-network - это частное решение для платежей, что делать с другими транзакциями - другой вопрос.

Что делать?

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