Проект Avalanche – как он работает и чем он лучше других блокчейнов

in #avalabs4 years ago

Простой Мейкап Инструкция YouTube Миниатюра (2).png

Приветствую всех зрителей и подписчиков моего крипто валютного блога! В последнее время я много рассказывал вам о проекте Kleros, но сегодня предлагаю отвлечься от этой темы и прочитать крайне интересный и насыщенный материал о таком блокчейн проекте, как Avalanche.

Данный проект является довольно сложным в техническом плане, и хотя я постараюсь расписать всё максимально простыми словами, советую вам читать статью внимательнее, чтобы не упустить сути проекта Avalanche. Материал обещает быть крайне интересным, поэтому усаживайтесь поудобнее и начинаем!

Что представляет собой проект Avalanche?

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

Opera Снимок_2020-08-31_124905_www.avalabs.org.png

Возможности Avalanche для сторонних разработчиков

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

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

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

network-infrastructure.png

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

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

Текущее состояние Avalanche и его разработка

Точнее, Avalanche будет являться идеальной средой разработки, так как сейчас Avalanche еще не вышел в полноценный релиз. На данный момент запущен только так называемый release candidate (кандидат на релиз) под названием Everest, который уже включает в себя все основные функции Avalanche, но по факту является еще тестнетом, и если в нем не будет обнаружено критических ошибок, то уже в сентябре команда объявит официальный релиз майннета Avalanche.

image.png

Разработка, правда, на этом не закончится, потому что в будущем проект будет активно развиваться и дополняться новыми функциями.

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

image.png

К тому же, разработку и тестирование приложений на Avalanche, является его, скажем так, «близость» с блокчейном Ethereum.

Avalanche и Ethereum – как они связаны?

Во-первых, разработчиками Avalanche заявлена полная поддержка языка программирования Solidity. Того самого, который сейчас используется как основной (скорее даже единственный) язык, для создания приложений на базе блокчейна Ethereum. А также поддержу совместимых с Ethereum технологий и приложений, например таких, как web3.JS кошелек Meta Mask.

image.png

И как заявлено в анонсе от разработчиков по поводу запуска release candidate, уже он имеет возможность переноса в сеть Avalanche любых приложений, работающих на базе Ethereum. Причем такой переход, как я понял (простите, я всё-таки не разработчик, могу что-то не так понять в моментах связанных с кодом), можно осуществить буквально в пару кликов, без переписывания кода.

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

Каким бы медленным он не был, всё равно сотни проектов создаются именно на нем, а новыми, более масштабируемыми и мощными блокчейнами, пользуются лишь единицы. А функция поддержки Solidity и других фишек Эфира, позволит Avalanche конкурировать с главным монополистом отрасли.

А во-вторых, у Avalanche имеется такое решение как Athereum. Это своего рода форк сети Ethereum, в котором воплощено большинство особенностей сети Avalanche. То есть Athereum является своего рода имплементацией блокчейна Avalanche на базе Ethereum.

image.png

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

Консенсус Avalanche

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

Как я уже сказал в начале, Avalanche работает на совершенно уникальном консенсусе, отличном от классических BFT консенсусов, типа HotStuff, и отличном от группы консенсусов Накамото, например Proof of Work. Точнее не совсем отличном, а объединяющем плюсы обоих этих вариантов.

1_GVN9s_5dQCtl84bTBo0k9g.png

Идея консенсуса Avalanche, также как и идея консенсуса Накамото, была создана анонимной группой авторов, которые имеют себя TeamRoket. Их видение, описанное в белой бумаге, было опубликовано в 2018 году и позже, команда исследователей из Корнельского института решила использовать эту идею, для создания революционной блокчейн системы Avalanche, работающей на этом уникальном консенсусе.

Сравнение Avalanche с классическими консенсусами и консенсусами Накамото

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

Классический BFT консенсус, появившийся еще в 90х годах, основывается на 100-процентном и абсолютном подтверждении каждой транзакции.

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

Консенсус же, который предложил Сатоши Накамото в 2009 году, допускает минимальную погрешность в согласии от всех валидаторов, то есть не является абсолютным, но при этом минимальные требования BFT в нем все равно соблюдаются.

1_JhIfqlrarsLeM0vxW7TQXA.png

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

А как происходят дела в Avalanche? Рассказываю максимально упрощенно.

Когда виртуальная машина Avalanche получает от пользователя или смарт контракта транзакцию, она передает её на рассмотрение случайному набору валидаторов. Каждый из этих валидаторов проверяет транзакцию и принимает решение – верная она, или поддельная (спам-транзакция, двойная трата с несуществующими монетами и тд).

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

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

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

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

А если часть какая-то часть нод будет скомпрометирована, система просто запустит больше циклов проверки для того, чтобы достичь консенсуса, и таким образом ноды мошенники не смогут продавить своё решение на голосовании. То есть система имеет византийскую отказоустойчивость.

Proof of Stake в Avalanche и отличие от других PoS блокчейнов

Механизмом защиты от атак Сибиллы и захвата злоумышленниками контроля над сетью Avalanche является Proof of Stake. Каждый валидатор, чтобы получить право подтверждения транзакций в сети, не должен иметь мощного оборудования – подойдет даже слабенький ПК или ноутбук – но обязан иметь на балансе некоторое количество монет AVAX.

При этом не стоит говорить, что Avalanche, раз работает на Proof of Stake, является таким же, как Tron, NEO и прочие «аналоги Эфира» на PoS алгоритме. В этих сетях высокая масштабируемость и скорость обработки достигается не за счет случайных цикличных выборок, а за счет большей централизации сети через введение делегатов или других ограничений. В Avalanche же, каждый валидатор является самостоятельными и способен принимать своё решения по поводу того, является транзакция верной или нет.

Подводя итоги

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

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

🔥Telegram RU - https://t.me/Avalanche_ru
🔥Сайт - https://www.avalabs.org
🔥Whitepapers - https://www.avalabs.org/whitepapers
🔥Twitter - https://twitter.com/avalancheavax
🔥Discord - https://discord.com/invite/RwXY7P6
🔥GitHub - https://github.com/ava-labs
🔥Документация - https://docs.avax.network
🔥Explorer - https://explorer.avax.network
🔥Avalanche-X - https://www.avalabs.org/avalanche-x
🔥Facebook - https://www.facebook.com/avalancheavax
🔥LinkedIn - https://www.linkedin.com/company/avalancheavax/
🔥Reddit - https://www.reddit.com/r/Avax/
🔥YouTube - https://www.youtube.com/c/AVALabsOfficial