Хриплый Биток: cайт о криптовалютах и блокчейне.

Обзор криптовалюты Zilliqa (ZIL)

Что такое Zilliqa (ZIL)?

Zilliqa – это первый публичный блокчейн, использующий шардинг. Шардинг делает возможным линейное масштабирование по мере того, как блокчейн растет в объеме.

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

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

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

Также Zilliqa обещает поддержку смарт-контрактов. Для создателей Zilliqa запуск смарт-контрактов в использующей шардинг сети – самая сложная техническая проблема.

Как работает Zilliqa (ZIL)?

Решения проблемы масштабируемости

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

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

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

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

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

Как Zilliqa (ZIL) решает эту проблему?

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

Каждые 600 новых нод пропускная способность Zilliqa увеличивается за счет разделения их работы. На практике, у сети могут возникнуть проблемы, если сеть станет слишком большой (более 1 000 000 нод). Впрочем, один миллион нод – это очень далекий показатель: в сети того же Bitcoin всего примерно 10 500 действующих нод.

Сети Bitcoin и Ethereum с десятками тысяч нод могут обрабатывать всего 3-15 транзакций в секунду. В свою очередь, испытания приватной тестовой сети (виртуальный тест AWS) показали, что сеть Zilliqa выдает 1218 транзакций в секунду при 1800 работающих нодах. При увеличении количества нод до 3600 скорость увеличивается до 2488 транзакций в секунду.

Шардинг: распределение работы по всей сети

Как Zilliqa удалось добиться такого масштабирования? Как указывалось выше, разработчики использовали решение под названием шардинг. Протокол Zilliqa разделяет количество нод для майнинга на группы по 600 нод. Каждая группа называется «shard» (дословно с англ. – «осколок»).

К примеру, в случае с тестовыми показателями выше, 1800 нод были разделены на 3 шарда. Соответственно, 3600 нод состояли из шести групп. По мере присоединения новых нод Zilliqa будет создавать новые шарды.

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

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

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

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

Достижение консенсуса: PoW + BFT

Zilliqa использует гибридный механизм консенсуса. Прежде чем начать майнинг в данной сети, пользователю необходимо будет завершить хэш proof of work. Алгоритм PoW помогает Zilliqa установить личность, усложняя создание одним пользователем нескольких личностей, что когда-то вылилось в так называемую атаку Сивиллы. Впрочем, стоит отметить, что сеть не использует proof of work для достижения консенсуса.

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

Zilliqa – не первый блокчейн, использующий BFT. NEO, Tendermint и Hyperledger также используют механизм BFT.

Контракты потока данных и шардинг по состоянию

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

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

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

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

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

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

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

Для того, чтобы сделать функциональное программирование более безопасным и стандартизированным, команда Zilliqa разработала собственный язык программирования – Scilla.

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

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

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

Запас коинов Zilliqa (ZIL)

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

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

Общее количество токенов ZIL составляет 12.6 млрд. По состоянию на февраль 2019-го в обороте находится около 8.3 млрд токенов.

Дорожная карта Zilliqa (ZIL)

На своем первоначальном приватном сборе средств в конце 2017-го года проект Zilliqa собрал эквивалент 12 млн $ в ETH. После роста ценника ETH в этот период сумма выросла до 20 млн $.

Из-за роста ETH сотрудники Zilliqa сообщили, что публичные торги она проводить не будут. Однако интерес к проекту со стороны сообщества побудил их провести публичные торги в размере 4445 ETH в январе 2018-го.

Язык программирования для смарт-контрактов Scilla появился в мае 2018-го. В ноябре была запущена тестовая сеть и проект пригласил майнеров и разработчиков для участия в тестировании платформы.

Самая недавняя крупная новость от проекта – запуск основной сети 31-го января 2019-го. Первоначальный запуск произошел в режиме начальной загрузки: майнеры могут получать вознаграждение, однако транзакции пока не доступны. Таким образом сеть оградила себя от ранних атак. Функционал смарт-контрактов и транзакции будут запущены в первой четверти 2019-го года. После этого начнется своп токена на «родную» сеть Zilliqa.

Команда Zilliqa (ZIL)

Команда Zilliqa в основном состоит из академиков и докторов в области информационных технологий.

Исполнительный руководитель Синьшу Донг, чьи исследования неоднократно цитировались на научных конференциях и в авторитетных журналах, имеет докторскую степень в области информационных технологий в Национальном университете Сингапура.

Пратик Саксена – главный научный руководитель проекта. Он также является обладателем докторской степени по информационным технологиям, полученной им в Калифорнийском университете в Беркли. Сегодня он работает профессором Национальном университете Сингапура.

Амрит Кумар – руководитель отдела исследований проекта, исполняющий должность научного сотрудника в Сингапурском университете. Также он имеет докторскую степень Гренобльского университета во Франции и диплом инженера парижской политехнической школы.

Консультативный совет Zilliqa включает в себя яркие фигуры блокчейн-индустрии. В их числе один из основателей Kyber Network Лой Луу, партнер-основатель FBG Capital Винсент Чжоу, партнер Bitcoin Suisse AG Николай Остер, а также исполнительный директор и основатель StrongHold Labs Александр Липтон.

Конкуренты Zilliqa (ZIL)

Zilliqa, будучи смарт-контрактной платформой с высокой пропускной способностью, имеет свою нишу конкурентов. Похожий функционал предлагают такие проекты, как EOS и Tron. Еще один конкурент – смарт-контракт платформа Aelf, использующая сайд чейны для решения проблемы масштабирования. К тому же, данная платформа тоже запустит свою основную сеть в начале 2019-го года.

Торговая история Zilliqa (ZIL)

За весь год с момента своего запуска курс Zilliqa (ZIL) заметно поднялся только один раз. Это произошло в мае 2018-го, что, скорее всего, было связано с объявлением о запуске нового языка программирования Scilla.

С тех пор цена токена ZIL все еще держится достойно, учитывая постоянное падение Bitcoin и других криптовалют в последние месяцы 2018-го.

Успешный запуск основной сети в конце января может спровоцировать дальнейший подъем в течение первых месяцев 2019-го.

Где приобрести Zilliqa (ZIL)?

В данный момент токен ZIL доступен на многих биржах, но активнее всего торгуется на Binance. Недавно листинг токенов ZIL подтвердила биржа Coinbase Pro (ранее GDAX).

Где хранить Zilliqa (ZIL)?

Токен ZIL, приобретенный до свопа, можно хранить в любом кошельке, поддерживающем ERC-20. Естественно, самым безопасным способом хранения являются аппаратные кошельки типа Ledger Nano S. После свопа, скорее всего, придется использовать официальный кошелек Zilliqa.

Заключение

Масштабируемость продолжает быть основной проблемой блокчейн-технологии, поэтому Zilliqa – действительно уникальный и важный проект, одним из первых решивший эту проблему. Таким образом, эта платформа может стать крайне важной разработкой в истории блокчейна. Если рассматривать проект в более широком смысле, Zilliqa может не только открыть новые возможности шардинговой технологии, но и поделиться ими с остальными представителями блокчейна.

Дисклеймер: не рассматривайте эту статью как рекомендацию по инвестиции. Проведите тщательный анализ, прежде чем инвестировать в какую-либо криптовалюту.