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

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

Zilliqa фундаментально меняет то, как в блокчейне достигается консенсус. Технология Sharding организует сеть в соответствии с её размерами. Теоретически нет никаких ограничений в количестве транзакций в секунду, которые могут быть обработаны блокчейном Zilliqa. На практике скорость зависит от количества нод в сети; Zilliqa способна обрабатывать десятки и сотни тысяч транзакций в секунду.

Zilliqa также планирует запустить в своей сети смарт-контракты. Запуск смарт-контрактов в сети с такой структурой, как Zilliqa — это очень серьезный технологический вызов. В данной статье мы исследуем как они собираются добиться масштабирования и запуска смарт-контрактов. Мы также изучим команду разработчиков и roadmap (дорожную карту) проекта.

Проблема масштабируемости блокчейн

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

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

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

Другие решения проблемы масштабируемости, представляют собой вынос транзакций за пределы базы блокчейна (off-chain). Или разработчики стремятся увеличить размер блока, чтобы установить консенсус для большего количества транзакций. Эти решения могут быть эффективны в какой-то момент развития, но они — не более чем «латание дыр» и фундаментально не решают проблему масштабируемости.

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

Zilliqa предлагает решение

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

В теории, каждые 600 нод в сети Zilliqa, увеличивают пропускную способность, за счет дробления сети. На практике, возможны проблемы, если сеть будет очень большой (более 1 млн. нод). Но такое количество пока трудно представить в обозримом будущем, так например сеть Bitcoin поддерживается приблизительно 11 тысячами нод, а в сети Ethereum (самой крупной из существующих) почти 25 тысяч нод.

Сети Bitcoin и Ethereum содержат десятки тысяч узлов, но все еще обрабатывают всего лишь 3-15 транзакций в секунду. Для сравнения, тестирование прототипа сети Zilliqa, показало, что её архитектура способна обрабатывать 1,218 транзакций в секунду, когда в сети будет всего лишь 1,800 нод. Если количество узлов увеличить до 2,400, то можно будет обрабатывать до 1,752 транзакций в секунду, а если узлов в сети будет 3,600, то пропускная способность сети будет равна 2,488 транзакций!

Скорость обработки транзакций в сети Zilliqa

Sharding — дробление сети

Как конкретно криптовалюта Zilliqa предлагает реализовать масштабирование?

Проект будет использовать решение, которое называется Sharding — дробление. Протокол сети Zilliqa будет делить сеть на части по 600 узлов, каждый уз которых называется шард.

В примере, приведенном выше, когда производили замеры прототипа сети, сеть Zilliqa состояла из трех шардов в начале и разделилась на шесть шардов, когда количество узлов стало равно 3,300.

Каждый шард обрабатывает часть транзакций в сети. Иными словами, если в сети 6 шардов, то каждый из них будет обрабатывать 1/6 общего количества транзакций в сети. Чем больше шардов в сети, тем больше сеть разгружена в целом и тем легче достигать консенсуса, сохраняя вычислительные способности сети.

zilliqa sharding

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

DS комитет: управление шардами

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

Поиск консенсуса: PoW + BFT

Zilliqa использует гибридный механизм консенсуса. Когда вы начинаете майнинг, сперва нужно вычислить PoW хэш. PoW требует вычислительной мощности, гарантирующей, что именно этот компьютер управляет нодой. Таким образом, протокол PoW помогает сети Zilliqa идентифицировать узлы в сети. Этот механизм позволяет избежать атаки, известной как «Атака Сивиллы», когда один владелец управляет несколькими узлами. Но тем не менее, PoW не используется в сети для нахождения консенсуса.

После того, как узел идентифицирован, он назначается в один из шардов. Внутри шарда, Zilliqa использует протокол Practical Byzantine Fault Tolerance. Это технология консенсуса с очень высокой пропускной способностью, которая является окончательной. Это значит, что большинство узлов в шарде должны принять окончательное решение и согласовать миниблок. Как только блок подтвержден DS комитетом, он записывается в блокчейн в след за предыдущим блоком. При таком алгоритме невозможно разветвление сети.

Zilliqa не является пионером в применении протокола BFT. В той или иной степени его используют NEO, Tendermint и Hyperledger.

Обмен данными между разными частями сети

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

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

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

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

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

Новый язык программирования

Чтобы сделать функциональное программирование более стандартным и безопасным, команда Zilliqa создала новый язык, который называется Scilla. Язык Scilla разделяет состояние и функцию. Этот язык описывает различие между коммуникативными аспектами контракта: передача монет или вызов другого контракта и собственная вычислительная задача контракта.

Криптовалюта Zilliqa (ZIL)

В экосистеме Zilliqa есть собственный токен. Также, как вдругих платформах для децентрализованных приложений, таких как Ethereum, EOS и NEO, токен ZIL выплачивается майнерам, является способом оплаты за выполнение контрактов и используется для комиссий для совершения транзакций.

С начала проекта, токен ZIL является обычным ERC-20 токеном, работающим в блокчейне Ethereum, так как основная сеть Zilliqa еще не запущена. Однако, когда это произойдет, токен будет обменян на собственную криптовалюту в собственном блокчейне.

Во время закрытого раунда продаж в конце 2017, Zilliqa собрали эфира на 12$ млн. Однако из за возросшей цены эфира в следующие несколько месяцев, эта сумма увеличилась до 20$ млн. после этого Zilliqa объявили, что проект собрал достаточно средств и они не будут проводить публичную продажу. Однако из за высокого интереса крипто сообщества к проекту, они все же провели публичную продажу в январе 2018.

На данный момент, купить криптовалюту ZIL можно на биржах Huobi, Binance, Kucoin и других. Кстати, у нас есть чарт, где собраны лучшие биржи криптовалют.

Команда Zilliqa

За проектом стоит команда, которая в основном состоит из ученых в области информатики и докторов наук.

Синшу Донг

Генеральный директор Zilliqa Синшу Донг имеет докторскую степень в области информатики от Национального Университета Сингапура. Он также курирует несколько национальных проектов по кибер безопасности в Сингапуре. Очень часто его выступления и статьи можно увидеть на конференциях и в журналах. Prateek Saxena

Пратик Сасена — это главный научный советник. Он имеет стпень доктора наук по информатике от University of California, Berkeley. В настоящий момент, он профессор информатики в Национальном университете Сингапура.

Amrit Kumar

Амрит Кумар — ведущий специалист по криптографии. Он является научным сотрудником в НУС. Также имеет докторскую степень в Université Grenoble-Alpes во Франции и диплом инженера в Ecole Polytechnique, Франция.

Группа советников проекта Zilliqa включает в себя сильные фигуры, такие как: Loi Luu, сооснователь Kyber Network; Vincent Zhou, партнер сооснователь of FBG Capital; Nicolai Oster, партнер Bitcoin Suisse AG; and Alexander Lipton, основатель и CEO StrongHold Labs.

Zilliqa roadmap

Курс криптовалюты Zilliqa (ZIL)


Заключение. Прогноз на будущее

В будущем, масштабирование  будет проблемой для блокчейна и распределенных реестров. Криптовалюта Zilliqa является важным проектом, решающим эту проблему для всей отрасли. Платформа сама по себе является серьезным прорывом для всего сообщества. Следует ожидать новых успешных проектов на основе открытого исходного кода Zilliqa в технологии Sharding, которые изменят технологию блокчейн.

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

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

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here