Перейти к публикации

Рекомендованные сообщения

Аваланч для чайников

 

Кратенький конспект статьи от автора этого поста:

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

 

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

 

***

 

Полный перевод статьи:

Разбираемся в документе «От Snowflake до Avalanche»

 
Введение

В сфере распределенных систем не каждый день происходит ситуация, когда появляется кто-то, кто говорит «У меня есть новая революционная технология, о которой я хочу вам рассказать». Однако это именно то, что недавно сказал профессор Эмин Гюн Сирер (Emin Gün Sirer) из Корнельского университета. В данной статье мы собираемся описать новый вид протоколов консенсуса, который появился лишь несколько месяцев назад. Team Rocket совместно с A pseudonymous team и профессором Сирером опубликовали документ под названием «От Snowflake до Avalanche: новый вид метастабильных протоколов консенсуса для криптовалют» (Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies) на IPFS. Документ содержит множество комплексных низкоуровневых деталей и доказательств, которые не особо понятны тем, кто не занимается научной работой. В этой статье мы опишем данный протокол и принцип его работы более простым языком, так чтобы вам стал понятен новый подход к решению проблемы консенсуса.

 
Два класса протоколов консенсуса

 

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

 

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

 

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

 

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

 


Классические протоколы консенсуса

 

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

 

Однако у всего есть своя цена:

  • Такой протокол плохо масштабируется при количестве нод от десяти до тысяч. Это происходит потому, что протокол требует больших затрат на передачу данных между нодами, равных квадрату количества нод, т.е. O(n²).

  • В такой сети каждый участник должен знать всех других участников.

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

 


Протокол консенсуса Накамото

 

В 2009 появился совершенно новый класс протоколов. Сатоши Накамото предложил новый подход к достижению консенсуса, и этот механизм оказался удивительно устойчивым:

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

  • Сеть подходит для большого количества нод и участников.

Но и за эти преимущества приходится расплачиваться следующими недостатками:

  • Bitcoin работает очень медленно. В среднем, пользователям нужно ждать 10-60 минут, прежде чем они получат подтверждение, что их операции попали в новый блок.

  • Пропускная способность тоже очень ограничена. Bitcoin может обработать 3-7 операций в секунду, что, конечно же, совершенно не подходит для системы, которая претендует на роль мировой валюты.

  • Наконец, Bitcoin потребляет огромное количество энергии. Для поддержания работы Bitcoin уходит примерно столько же энергии, сколько могли бы произвести 4 Чернобыльских атомных станции. Это слишком большие затраты для хранения и учета данных.

 
Avalanche

Avalanche сочетает в себе лучшее от двух систем, описанных выше, а именно:

  • Быстрое завершение операций и короткое время ожидания: в среднем, на проведение операции по всему миру уходит 2 секунды. Это означает, что через 2 секунды ваш платеж будет обработан и верифицирован.

  • Высокая пропускная способность: 1000 – 10000 транзакций в секунду.

  • Надежность: сети не нужно выбирать участников для достижения неоспоримого консенсуса.

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

 
Основополагающая идея: Метастабильность

1_pbr3Rr3Syjixnb4cirQE5Q.gif
Протокол Avalanche в работе1. Базовая идея основана на выборочном голосовании.

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

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

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

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

  • Процесс повторяется для каждой из нод, и система приходит к единому решению.

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

 
Примечания к протоколу

  • Эффективная масштабируемость: протокол не имеет высокой нагрузки на сеть, что определяет его масштабируемость и быстродействие.

  • Устойчивость к проблеме византийских генералов: данный протокол может эффективно работать и при большом количестве злонамеренных участников без негативного влияния на безопасность. Количество мошеннических нод может доходить до 50%.

  • Экосистема, основанная на принципах равенства: Avalanche создает экосистему, основанную на принципах равенства, то есть, все ноды в сети одинаковы. Майнеры отсутствуют, и у них нет каких-то особых привилегий.

  • Отсутствие гарантий жизнеспособности для конфликтующих транзакций: если атакующий попытается потратить те же деньги дважды, создав две различные транзакции (двойное расходование), то Avalanche не сможет сделать выбор в пользу одной из транзакций, что приведет к потере средств. Классический консенсус и консенсус Накамото стали бы пытаться выбрать одну из транзакций, но в Avalanche такого может и не произойти. Это очень интересная характеристика протокола, так как система естественным образом наказывает мошенников, не создавая никаких проблем для самого протокола.

 
Токен Avalanche: AVA

AVA – сокращенное от Avalanche, является новым токеном данного протокола.

  • Устойчивость к атакам Сивиллы путем механизма доли владения: в протоколе Avalanche защита от атак Сивиллы реализована путем применения механизма доли владения токенами AVA. Это означает, что ноды владеют некоторым количеством токенов AVA для подтверждения факта владения активами системы. В отличие от Ethereum и подобных систем, эта доля не является залогом и никогда не будет потеряна. Даже если вы будете дурно себя вести, то ваши деньги никто не сможет забрать. Таким образом, доля владения используется только лишь для проверки того, что вы не выдаете себя за другого. Этот механизм является одним из прекрасных нововведений протокола Avalanche. Доля владения не используется для достижения консенсуса, она полностью независима.

  • Экономическое управление путем голосования: полное управление системой является еще одной интересной особенностью протокола. Основная идея, представленная выше, заключалась в том, что голосование использовалось для достижения консенсуса. Мы можем использовать этот же механизм для достижения единого мнения насчет основных параметров самого протокола. Например, сеть может сама решить увеличить объем генерации новых токенов, если существует недостаток участников с долей владения. Или сеть может прийти к противоположному решению: уменьшить объем генерации новых токенов с целью повышения их стоимости и уменьшения общего количества монет. Этот подход сильно отличается от Накамото, который установил порог генерации новых монет, равный 21 миллиону. Avalanche коллективно управляется людьми, которые заинтересованы в успешном развитии системы.

 

 
Заключение

 

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

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

 
Примечания:

  1. Cryptoconf 2018, Emin Gün Sirer talk — Snowflake to Avalanche
  2. Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies, Team Rocket, 2018

 

***

Данный материал является переводом статьи от Mohammed ElSeidy: https://medium.com/zkcapital/demystifying-snowflake-to-avalanche-966f56c33fd7

Перевод подготовлен Mia, специально для телеграм-канала @miacoins и конечно для коммьюнити cp0x.com, подписывайтесь, если вам интересны материалы про блокчейн.

Поделиться сообщением


Ссылка на сообщение

Немного об Аваланше/Snowflake от Алистеира, главного ученого в пэрити:

Цитата

I'm not a big fan. Snowflake or whatever the binary consensus protocol was called was great, but not avalanche itself.

The model most DAG protocols follow, that we can identify conflicting transactions and then agree which one to go with.

Is very different from that of Polkadot, when we are dealing with arbitrary state machines and so everything conflicts.

And I've no idea what Avalanche would use for weighting nodes in practice, but it's probably broken.

Avalanche definitely wouldn't work with Polkadot, for much the same reason as HoneyBadgerBFT doesn't.

The problem for Polkadot is not ordering transactions quickly.

You can definitely get a much higher throughput for agreeing on transactions on a single chain/DAG.
Than we do with substrate chains.

But this is useless without scalability because the storage costs become high really quickly then.

Polkadot aims to get scalability by moving things into parachains. Sharding/parachains has much better storage requirements and so will have a better throughput in the end.

 

Поделиться сообщением


Ссылка на сообщение

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


×
×
  • Создать...