Гид по EOS для начинающих. Часть 1

in #blockchain6 years ago (edited)

Социальные сети и форумы кишат новостями про EOS по вполне понятным причинам. Их ICO длиною в год побило все рекорды, собрав шокирующую сумму в $4 миллиарда. К тому же вся та драма, что развернулась вокруг релиза основной сети, однозначно привлекла к ним всеобщее внимание. Вместе с EOSIO Dawn 4.0 появилось множество интересных нововведений и тем для обсуждения. В этом гиде мы проведем тщательный анализ этих интересных фич.

Так что же из себя представляет EOS?

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

Звучит это очень здорово, но по-настоящему приковали к себе внимание публики следующие 2 заявления:

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

Итак, как они планируют это осуществить? Можете ознакомиться с нашим всеобъемлющим гидом, чтобы узнать все подробности. Но мы также быстро пробежимся по ним в этой статье.

Команда, стоящая за EOS

Изображение предоставлено Medium

Костяк команды, стоящей за EOS - это “Block.one”, который находится на Каймановых островах. Их директор Брендон Блумер работает в сфере блокчейн с 2014 года. Ранее он принимал участие в деятельности компаний, которые имели дело с обменом валюты в MMORPG (от англ. massive multiplayer online role playing game - глобальная многопользовательская онлайновая ролевая игра) и в сделках с недвижимостью.

Дэн Лаример - технический директор. Создатель делегированного доказательства долей и децентрализованных автономных организаций также известных как DAO. Он также стоит за BitShares и Steem.

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

Миллионы транзакций в секунду

Масштабируемость EOS достигается благодаря делегированному доказательству долей - механизму консенсуса, который является разновидностью традиционного доказательства долей.

Вот как работает традиционное доказательство долей:

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

Чем  DPOS отличается от традиционного POS?

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

Как это работает?

  • Блоки производятся в раундах 21.
  • В каждом раунде автоматически выбираются 20 лучших кандидатов, а последний производитель выбирается пропорционально количеству голосов по сравнению с другими производителями.
  • Затем продюсеры перемешиваются с помощью псевдослучайного числа, полученного из времени блока. Это делается, чтобы убедиться, что соблюдается баланс взаимосвязи с другими продюсерами.
  • Чтобы гарантировать регулярное производство блоков и что время на производства  блока составляет 3 секунды, за невыполнение обязательств продюсеров удаляют из кандидатов в производители блоков. Продюсер должен производить как минимум один блок каждые 24 часа, чтобы быть кандидатом.

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

Отсутствие комиссий за транзакции 

EOS работает на модели долевого участия, согласно которой пользователи имеют право использовать ресурсы пропорционально своей доле. Если у вас N токенов EOS, вы можете провести N*k транзакций, что сводит на нет комиссии за транзакции.

Цена Gas за запуск и размещение приложений на Эфириум на ранних этапах разработки может быть достаточно высокой и отпугнуть новых разработчиков.

Основное различие между Эфириум и EOS в том, что Эфириум дают в аренду свои вычислительные мощности разработчикам, а EOS предоставляют свои ресурсы в качестве собственности. Если вы владеете 1/1000 доли в EOS, у вас во владении будет 1/1000 вычислительной мощности и ресурсов EOS.

Как утверждают в обзоре ICO:

Модель долевого участия EOS дает разработчикам dapps прогнозируемые цены на хостинг, требуется лишь соблюдать определенный процент или уровень доли, и дает возможность создавать условно бесплатные приложения. Более того, поскольку держатели EOS смогут давать в аренду/делегировать свою долю ресурсов другим разработчикам, эта модель привязывает стоимость токенов EOS к спросу и предложению пропускной способности и хранилища”.

Итак, это 2 самых интересных предложения EOS. Сейчас, когда мы немного разобрались с планами EOS, давайте взглянем на некоторые фичи Dawn 4.0.

EOS Dawn 4.0

EOS Dawn 4.0 - последняя тестовая версия сети, выпущенная Block.One перед запуском основной сети. Благодаря ее запуску появилось много вопросов. Одно из самых важных нововведений - изменение текущего времени с “времени главного блока” на “время текущего блока”. Все проблемы, связанные со временем, сразу отпадают.

Кроме того, есть еще несколько заманчивых фич, которые уже были представлены и над которыми ведется работа:

  • Рынок оперативной памяти (ОП)
  • Параллельная обработка DPOS в будущем
  • Подтверждение только заголовков
  • Вознаграждение блок продюсеров
  • Исчезновение голосов
  • Алгоритм последнего необратимого блока

Как видите, предстоит рассмотреть много материала, поэтому мы сочли целесообразным разделить этот гид на 2 части.

№1 Рынок ОП

Как мы упоминали ранее, когда вы закладываете свои токены EOS, вы взамен получаете право на владение такими ресурсами как ОП, пропускная способность сети и пропускная способность процессора. Итак, в сущности вы можете использовать токены EOS не только в качестве простого платежного токена, но и как средство предоставления определенных ресурсов. При этом ресурсов этих очень мало, и поэтому токены EOS нельзя держать, не используя их, в течение 3 лет.

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

Однако, когда дело касается ОП, все не так просто.

Видите ли, даже с учетом редкости этих ресурсов, ОП - ресурс еще более редкий и ценный. И вот что самое удивительное, спрос на ОП всегда будет высоким, несмотря на то, что это редкий ресурс.

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

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

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

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

Однако,  в EOS, если вы заложили определенное количество ресурсов и приобрели пропорциональное количество, вы можете продать их и получить то же самое количество токенов, которые заложили. Вот оно - первое препятствие. Этот механизм не сработает в экономическом плане для ОП.

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

  • ОП - и так редкий ресурс, поэтому предложение будет низким.
  • С возросшим спросом, цена на ОП возрастет.

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

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

Помимо этого, Block.One признали другое препятствие. Различные тесты показали, что то, как EOSIO System Contract распределял ОП между держателями впоследствии неизбежно приведет к дефициту.

Нужно было решение проблемы.

Выйти на рынок ОП.

Используя алгоритм Банкор, EOSIO использует рыночный подход для распределения ОП. Вот как он будет работать:

Предположим, кто-то хочет продать или купить ОП. Комиссия в 0,5% будет взиматься и с покупателя и с продавца. Эта комиссия дает экономическую мотивацию для продавцов ОП. К тому же, EOS также планируют снизить спекуляции на рынке и инфляцию, когда собранные комиссии сгорят.

Дэн Лаример продемонстрировал в посте Medium, это будет работать:

“Наши вычисления указывают, что если 1 ТБ ОП был пропорционально распределен среди держателей токенов, тогда стоимость за байт будет составлять $0,018 (при условии $20 за токен). Правда в том, что у большинства держателей токенов на самом деле нет необходимости использовать ОП; поэтому мы изначально  оцениваем ОП в $0,000018 за байт (при условии $20 за токен). Новым аккаунтам нужно 4 КБ ОП, т.е. они будут стоить около $0,10. Поскольку ОП резервируется, цена автоматически возрастет до небес, прежде чем в системе закончится ОП.”

Примечание: В своих вычислениях он использовал 1% комиссию с продавца и с покупателя, не 0,5%.

Также имейте ввиду, что Block.One хотели решить еще один вопрос - наличие ОП. Рынку придется проделать долгий путь, чтобы обеспечить стабильное наличие ОП. Цена ОП также будет основываться на текущем доступном предложении и будет устанавливаться системой.

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

Планируемое расширение

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

“Закон Мура - это наблюдение, сделанное сооснователем Intel Гордоном Муром в 1965 году. Он заметил, что число транзисторов на квадратный дюйм в интегральных схемах с момента их изобретения удваивалось каждый год. Закон Мура предсказывает, что этот тренд продолжится в обозримом будущем. Хотя темп снизился, число транзисторов на квадратный дюйм с тех пор удваивалось примерно каждые 18 месяцев. Это используется как актуальное определение закона Мура.”

Согласно Ларимеру в соответствии с законом Мура блок продюсеры EOS должны иметь возможность апгрейдиться до 4 ТБ или даже 16 ТБ ОП. Такой рост предложения снизит цену ОП на рынке.

№ 2 Планируемая параллельная обработка

Одна из наиболее интересных фич, которые EOSIO Dawn 4.0 надеются представить - параллельная обработка. Сейчас главная цель - масштабируемость, и все, кто что-то представляет в крипто сообществе поглощены ее поиском.

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

Сайдчейны

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

Разработчики EOS планируют использовать сайдчейны, чтобы убить двух зайцев:

  • Масштабироваться
  • Создать конкуренцию между сайдчейнами

Как это будет работать?

Блок продюсеры EOS работают на сайдчейне, который они выбрали, и используют токены для покупки ОП из сайдчейна. Сайдчейны будут подчиняться правовым протоколам, сформулированным основным блокчейном EOS. Каждый из этих сайдчейнов теоретически может иметь более 1 ТБ собственной ОП.

ПРИМЕЧАНИЕ: Дэн Лаример сказал следующее в посте на Medium:

“Некоторые члены сообщества опасаются, что кто-то необоснованно получит прибыль от покупки дешевой ОП, прежде чем кто-либо получит доступ к цепи. Чтобы нивелировать это, мы рекомендуем тем, кто запускает сеть, начинать с очень ограниченного запаса ОП и затем постепенно увеличивать ОП в течение первых месяцев. Если предложение ОП начнётся с 32 ГБ и затем вырастет до 1 ТБ в течение нескольких месяцев, тогда цена ОП может с течением времени быстро упасть до 3% от начальной цены. Только те, кому действительно нужна ОП или кто принимает в расчет предложение ОП при предложении цены будут изначально приобретать ее. В любом случае, никто не получит “дешевую” ОП или “прибыль из ничего”.

Эти сайдчейны будут интероперабельны благодаря возможности “разговаривать” друг с другом с помощью Межблокчейновой коммуникации (далее IBC от англ. Inter-Blockchain Communication). Используя IBC, децентрализованные приложения смогут приобретать неиспользованную ОП у других сайдчейнов, что повысит использование ОП.

Помните, как мы сказали, что EOS планируют также создать конкуренцию между всеми этими сайдчейнами? Хотите узнать как?

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

Inter Blockchain Communication (IBC)

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

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

Чтобы понять, как она работает, нужно знать про дерево хешей.

Что такое дерево хешей?

Изображение любезно предоставлено Wikipedia

Диаграмма выше показывает как оно выглядит. В дереве хешей каждая нелистовая нода является хешем значений своих дочерних нод.

Листовые ноды - ноды в нижнем ряду (на диаграмме - L1, L2, L3 и L4).

Дочерние ноды - ноды, находящиеся на ряд ниже и относящиеся к ней. Ноды “Hash 0-0” и “Hash 0-1” - дочерние ноды “Hash 0”.

Корневая нода - единственная нода в самом верхнем ряду “Top Hash”.

Так как дерево хешей связано с блокчейнами?

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

Давайте рассмотрим это на примере.

Изображение любезно предоставлено Coursera

Предположим, я хочу узнать, относится ли определенная транзакция к блоку или нет:

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

Это значительно сократит время поиска.

Возвращаясь к IBC

Итак, как мы увидели, дерево хеша - очень хорошо демонстрирует тонким клиентам доказательства действий пользователя (с помощью корней). В IBC блокчейны выступают в роли тонких клиентов друг для друга. Представьте себе что есть 2 цепи - А и Б. Если цепь А принимает и загружает транзакцию, тогда с помощью IBC, цепь Б может подтвердить осуществление этого события. Она делает это, получая сообщения из цепи А и следуя по ее заголовкам блоков и обрабатывая все доказательства дерева хешей. Доказательства имеют определенные последовательные числа, которые цепь Б может использовать, чтобы убедиться в отсутствии пробелов в обработке.

IBC включает в себя подтверждение доказательств дерева хеша из обеих цепей, размер которых равен или превышает 1 КБ и включает в себя множество криптографических хэш функций и/или  более 15 проверок подписи. В силу этого стоимость подтверждения для одной IBC в 15, а иногда и в 30 раз выше, чем для обычной транзакции.

Сейчас вам, наверное, интересно вот что: весь смысл этого заключался в масштабировании, а это все выглядит не очень-то масштабируемым. К счастью, оказывается, что эти доказательства очень легко обрабатывать параллельно, поскольку они не зависят от состояния блокчейна.

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

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

Так как это значит, что IBC эффективны только тогда, когда есть гарантия выполнения и порядка транзакций, протокол EOS создал канал взаимодействия между цепями подобный TCP. Используя это простое нововведение, можно легко обнаружить отсутствующие и неисправные доказательства. Чтобы доказать выполнение к данному конкретному моменту, нужно сгенерировать транзакцию и затем получить доказательство для демонстрации, что транзакция была подтверждена соответствующим порядковым номером.

Дэн Лаример о параллельной обработке:

“В EOSIO Dawn 3.0 мы разработали много проектных решений относительно потенциала будущего многопоточного выполнения WASM. К сожалению, пока вы не протестируете это на практике, невозможно знать, все ли углы сглажены. Т.е. в архитектуре EOSIO Dawn 3.0 было много сложных моментов, которые не дали немедленного результата.”

На самом деле, для полной эффективности нужно устранить еще много вещей.

№3 Подтверждение только заголовков

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

Чтобы ускорить процесс и сделать его более эффективным, EOS Dawn 4.0 будет поддерживать подтверждение только заголовков. Эта фича чрезвычайно важна, потому что дает возможность:

  • Распространять блоки в сети без ожидания полной верификации каждой ноды
  • Беспрепятственно использовать IBC.
  • Предотвращать различные виды атаки.

Продолжение следует...

Оригинал статьи: https://blockgeeks.com/guides/eos-beginners-guide-part-1/

Sort:  

Ёшки-кошки! Информация очень полезная и важная, но её много:)
Нужно время, что бы всё уложилось по полочкам.
Вопросы задавать можно будет?
Здесь или в следующих постах?

Как вам удобно) Если что, перевод второй и последней части этого гида будет в начале следующей недели.

Понял, спасибо.
Будем ждать.

Отличная статья, давно этого перевода ждал, спасибо Вам за труды!!!

Рады быть полезными, на днях вторая часть :)

Отличная статья, давно этого перевода ждал, спасибо Вам за труды!!!

"Как это работает?
Блоки производятся в раундах 21."
Правильно я понимаю, что 20 делегатов в пуле автоматически подтверждают блоки и под невыполнением обязательств подразумевается отключение от пула на 24 часа по разным причинам ? Меня путают фразы " что когда они находят блок, который по их мнению может быть добавлен к цепи, " - это означает, что не они находят блок , а их программное обеспечение находит блок и добавляет".

И тогда следующий вопрос , продолжающий предыдущий.
Что такое "находить блок" в POS ? В POW - как я понимаю, нужно найти - и это означает просчитать - соответствующее число. Здесь - это добавление транзакции в блок, пока он не достигнет нужного размера или не истечет время для создания следующего блока ?

Благодарим за комментарии и вопросы :)

Раунд - это очередь, по которой Блок Продюсеры подписывают блоки. Называется раундом, потому что очередь формируется вперед на 21 блок, и каждый БП знает, какой блок в этом раунде он будет подписывать. 20 БП берутся из ТОПа и 1 - случайно из общего количества БП. Таким образом БП из топа подписывает 1 блок на каждый раунд (10,5 секунд), и все остальные БП по очереди подписывают за 21-е место.

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

Чтобы подписать блок его не надо искать, БП EOS просто подписывает транзакции в свою очередь. Блоки в EOS подписываются каждые 0,5 секунды. Кто именно будет подписывать блок на раунд (21 блок) вперед известно. В POW все ищут сложный хэш, тратят кучу ресурсов, кто нашел - тот и подписал. Поэтому в Биткоине это занимает ~10 минут, в Эфириум ~10 секунд, но бывает и 40 секунд...

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