MPOS механизм ETHERZERO

(источник, 10 августа 2018)

https://etzscan.com/witnessList

“Быть или не быть”? Как появился MPOS

В 2008 году Сатоши Накамото (Satoshi Nakamoto) опубликовал технический документ (white paper) под названием “Биткойн: Одноранговая электронная денежная система” (“Bitcoin: A Peer-to-Peer Electronic Cash System”), в котором впервые была предложена концепция блокчейна и создан биткойн. В последующее десятилетие грандиозный эффект от возможностей биткойна привел индустрию блокчейна к неимоверно быстрому развитию. В течение этого периода появилось огромное количество различных концепций и приложений. Базовый алгоритм консенсуса был отделен от традиционной распределенной системы и стал независимым, смещаясь и быстро превращаясь в поле научного исследования.

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

После изучения текущих основных подходов в развитии технологии блокчейн команда EtherZero предложила инновационный алгоритм консенсуса под названием MPoS, который является аббревиатурой Masternode + PoS. Алгоритм MPoS реализует целевые характеристики публичной цепи EtherZero, такие как нулевые транзакционные комиссии (zero transaction fees) и автономия сообщества (community autonomy). На следующем рисунке показаны основные структурные элементы проекта Ether Zero:

В чем заключается MPoS алгоритм?

Ethereum имеет долгосрочную стратегию реализации POS в рамках решения Casper, но слишком томительно ждать так долго и полагаться, пока с его помощью решится проблема перегрузки сети и задержки транзакций. Именно поэтому мы предлагаем алгоритм консенсуса MPoS, особенностью которого является использование сети из множества мастернод, в отличие от 21 узла в сети EOS. До тех пор пока у участника есть 20 000 монет ETZ и один сервер, на котором запущена мастернода, он может присоединиться к процессу майнинга на мастерноде и пользоваться правом голоса в автономном сообществе.

Чтобы лучше понять логику MPoS EtherZero мы должны разобраться в механизме доказательства полномочий Rinkeby в Ethereum. В нем есть два подхода синхронизации блокчейна в целом. Один – это брать первый блок (genesis block) и перебирать все транзакции одна за одной. Это опробовано и доказано, что работает, но в сетях с уровнем сложности как у Ethereum это быстро оказывается очень дорогостоящим вычислением.

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

Алгоритм MPoS EtherZero основан на втором подходе, который описан выше, а именно блок должен быть завершен (completed) доверенным подписывающим лицом (signer). Поскольку каждый блок может быть просмотрен каждым узлом, он должен быть подтвержден списком доверенных свидетелей. Один из вызовов, с которой мы сталкиваемся, заключается в том, как поддерживать изменяющийся список авторизованных свидетелей, поэтому мы применяем систематический смарт-контракт, чтобы гарантировать, что каждый раунд обслуживания списка авторизованных свидетелей будет включен в обработку блока и прописан в экстра-данных заголовка. С другой стороны это также повышает безопасность основной учетной записи мастерноды и делает недействительным заголовок блока адреса майнера (invalidates the block header of the miner address). Ниже показано наше схема хранилища блокчейн:

Для того, чтобы убедиться, что авторизованные свидетели из активного списка мастернод меняются динамически и выбираются случайным образом, мы используем хэш-значение и ID мастерноды для вычисления и их сортировки в соответствии с результатом расчета, поэтому этот механизм может не только гарантировать непредсказуемость и случайность выбора свидетелей из списка, но также устойчивость консенсуса (consensus consistency) и одинаковый результат вычислений мастернод.

Стратегия авторизации

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

  • Рассчитывать лучшее время подписи для следующего блока (parent + BLOCK_PERIOD)
  • Если наступила очередь выполнения работы, дождаться точного времени получения задания, подписывать и немедленно транслировать блок в сеть
  • Если задание не получено, отложить подписание на время rand(SIGNER_COUNT * 500 ns). Эта стратегия обеспечит, чтобы текущие свидетели имели небольшое преимущество в плане подписи и распространения по сравнению с другими свидетелями.

Еще один вызов и следующий шаг

Еще один фактор, который влияет на производительность сети: наше текущее время обработки блока составляет примерно 1 секунду, и мы должны учитывать скорость обмена данными между узлами по всему миру (EVM’s world state) при выполнении смарт-контрактов.

В биткойн-системе время выполнения биткойн-скриптов никогда не учитывается, т.е. такой проблемы задержки транзакций в биткойн-сетях особо не стоит главным образом потому, что биткойн-скрипты не-тьюринг полные (non-turing complete) и очень короткие, а функции, реализованные естественным образом, очень просты.

Ethereum использует модель ведения учетной записи, и это есть машина состояний, которая поддерживает полный тьюринг смарт-контрактов. Это очень мощная реализация по сравнению со биткоин-скриптами. “Общемировое состояние” (WorldState)на базовом уровне Ethereum использует MPT (Merkle Patricia tree) для записи всех переходов состояний Ethereum. EVM Ethereum (вируальная машина этериум) тратит большую часть времени на чтение состояния сети по всему миру (reading WorldState) при выполнении смарт-контрактов.

На следующей схеме показано хранилище корневого хэша дерева состояний MTP (MTP state tree root hash).

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

В настоящее время майнеры Ethereum уделяют больше внимания вычислительной мощности сети (HashRate) для того чтобы обеспечить желаемую скорость обработки блока. Тем не менее, так как чаще всего работа выполняется на видеокартах (GPU), нет большой обеспокоенности общей производительностью чтения состояния всей сети при выполнении смарт-контрактов. Решение этой проблемы и повышение скорости обработки и стабильности сети будет целью следующего шага для EtherZero.

Разница между ETHERZERO и EOS

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

С точки зрения эффективности мы используем только около одного процента от стоимости EOS и достигаем TPS 1400+, что почти эквивалентно текущей производительности EOS и может полностью соответствовать нормальной работе существующих DApp приложений. EtherZero значительно снижает барьер для входа, позволяя почти всем участвовать в великом блокчейн эксперименте.

Безопасность MPOS

В консенсусе PoW чрезмерная концентрация вычислительной мощности больше 51% приводит к возможности реализаций скрытых опасностей. Если вы хотите начать атаку в сети EtherZero, вы должны также контролировать 51% всей сети для достижения цели фальсификации транзакции. При увеличении количества мастернод безопасность сети EtherZero будет всё более укрепляться. Теперь, когда есть уже больше 200 активных мастернод, и в будущем, когда их будет все больше и больше, безопасность сети будет на очень высоком уровне.

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

Так как каждая мастернода вносит свой вклад в работу EtherZero, то все они должны получать эквивалентное вознаграждение согласно консенсусу. EtherZero будет выпускать около 12 миллионов монет в год, и вознаграждение за каждый новый блок будет составлять 0.45 ETZ. Из этих 12 миллионов монет 75% быть присуждаться мастернодам, то есть примерно 9 миллионов ETZ в год будет распределяться среди работающих мастернод, а оставшиеся 25% будут зарезервированы для автономного сообщества. Поэтому чем раньше Вы станете владельцем мастерноды, тем выше скорость возврата ваших инвестиций.

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