Утверждено: Стакинг на eth2 #0
По мере того, как запуск цепочки Маяков (PoS протокол eth2 - прим. KTChampions) приближается, и eth2 становится все более завершенным, пришло время быстро сообщить сообществу последние новости о внутренней работе eth2, о конкретных требованиях, стимулах и опыте работы валидатором. В этой статье будет представлен общий обзор eth2, который послужит основой для серии статей обо всех аспектах eth2, относящихся к валидаторам. eth2 находился в разработке в течение долгого времени и значительно улучшился за эти годы. То, что первоначально было отдельной работой по шардингу и Proof of Stake (PoS), осуществляемой посредством умных контрактов трансформировались в сильно взаимосвязанный дизайн, который дает существенные улучшения в отношении эффективности, масштабируемости и безопасности.
ЭтапыПоскольку составляющие eth2 стали более взаимосвязанными, другие детали реализации были разделены на этапы, чтобы обеспечить лучшее введение различных аспектов eth2. На момент написания статьи (27 ноября 2019 - прим. KTChampions) этап 0 близок к запуску, так как разработчики вносят последние штрихи в программное обеспечение клиента. Тем временем спецификация для Этапа 1 завершается, а Этап 2 находится в стадии активных исследований и разработок.
- Этап 0 связан с цепочкой Маяков, ядром eth2, который управляет валидаторами и координацией шардов. Цепочка Маяков является источником основной истины, на которую завязаны все остальные аспекты eth2.
- Этап 1 основывается на этом, позволяя помещать данные в шарды. Сложность реализации этого компонента намного меньше, чем других, так как этап 0 содержит набольшую часть работы по шардам.
- Этап 2 является запуском eth2, фактически обновляя eth2 из надежной базы данных до полностью децентрализованной вычислительной платформы.
Чем конкретно является Этап 0?Как упоминалось ранее, цепочка Маяков отслеживает состояние как набора валидаторов, так и шардов. На практике это означает, что если вы (периодически) следите за тем, что происходит в цепочке Маяков, вы будете знать достаточно, чтобы верифицировать все что происходит в пределах eth2. Доверяй, но проверяй.
Для того чтобы система PoS функционировала, должен быть достигнут консенсус относительно того, кто является валидаторами и каковы их доли, чтобы знать, вес их голоса, и соответствующим образом вознаграждать и/или наказывать за их работу. Цепочка Маяков также управляет шард аспектами eth2, распределяя обязанности валидатора в шардах, а также отслеживая текущее состояние каждого шарда.
Одно из отличий eth2 от других систем PoS, - огромное количество валидаторов, которые могут участвовать в протоколировании. В отличие от 10, 100 и 1000 участников, которые возможны в других системах, eth2 масштабируется до сотен тысяч или даже миллионов валидаторов. Такой уровень децентрализации возможен только благодаря промежуточным уровням консенсуса, достигнутого группами валидаторов, называемыми комитетами. Цепочка Маяков использует одноименный случайный маяк как ядро, чтобы назначать валидаторы для комитетов, которым поручено оценить, что является и что не является частью цепей Маяка и шардов. Затем голоса комитета криптографически объединяются в аттестацию, означающую, что проверка голосов всего комитета осуществляется лишь с чуть бодее незначительным усилием, чем проверка одного голоса.
Цепочка Маяков также отслеживает цепочку eth1 и внесенные в нее депозиты, так что новые валидаторы могут присоединиться к eth2, отправив 32 ETH на контракт-депозит в eth1. Голосование цепочки Маяков в результате повлияет на цепочку eth1, eth2 в какой-то момент в будущем повысит безопасность eth1, предоставив экономическую гарантию, в смысле блокировки элементов, являющихся частью канонической цепи eth1.
Ноды и Клиентыeth2 проводит различие между нодами Маяка и клиентами валидатора, и валидаторам понадобятся они оба для выполнения своих обязанностей. Нода Маяка (или просто нода) заботится о поддержании просмотра цепочки Маяка, а также того, какие сегменты могут понадобиться пользователю или валидатору.
Как следует из их названия, клиенты валидатора (или просто клиенты) обрабатывают логику одного валидатора. Это достигается путем связи с нодой Маяка, чтобы понять текущее состояние цепи, путем подтверждения и предложения блоков когда это необходимо, и, наконец, запросом к ноде Маяка отправить эту информацию другим нодам.
Если валидатор не в работе, то нода Маяка содержит всю информацию, необходимую вам для того, чтобы безошибочно взаимодействовать с eth2, подобно полной ноде в eth1.Ниже приведены некоторые из многих аргументов для этого разделения:
- Каждый валидатор должен быть инициирован депозитом ровно 32 ETH, и поэтому людям, которые хотят застекать больше ETH, нужно будет запустить несколько экземпляров валидатора. Разделение ноды-клиента позволяет таким пользователям запускать только одну ноду Маяка с несколькими подключенными к нему валидаторами, тем самым снижая требования к процессору, памяти и занимаемому месту.
- Поскольку ноды валидатора являются отдельными модулями, они, вероятно, будут более безопасными, поскольку их легче кодить, анализировать и проверять код меньших модулей.
- Для пользователей, которые особенно обеспокоены надежностью, несколько нод могут работать параллельно, что снижает вероятность того, что валидатор отключится.
- Поскольку клиенты валидатора могут взаимодействовать с остальной частью сети eth2 только через ноду Маяка, и даже тогда только через ограниченный API, поверхность атаки ноды валидатора значительно уменьшается.
- Для пользователей, которые хотят взаимодействовать с eth2, но не хотят быть валидатором: им нужно только управлять нодой Маяка, который предоставит им доступ к цепочке Маяка и всем необходимым им шардам.
Философия дизайнаФилософия дизайна eth2 обеспечивает полезный контекст для всех решений, принятых в рамках eth2, и во многих случаях кратко выражает различия между eth2 и другими протоколами.
-
Протокол превыше всего: Признание того, что все является компромиссом, безопасность и жизнеспособность протокола имеют приоритет над другими пожеланиями.
-
Надейтесь на лучшее, но ожидайте худшего: eth2 предполагает, что валидаторы будут ленивы, будут брать взятки и будут пытаться атаковать систему, если не будут мотивированы действовать иным образом. Кроме того, предполагается, что сеть не совсем надежна, и что катастрофические события могут заставить большое количество валидаторов отключиться. По этим причинам eth2 должен быть в состоянии пережить 3 мировую войну.
-
Минимально жизнеспособная сложность: везде, где это возможно, eth2 был упрощен, поскольку это облегчает обсуждение, объяснение другим, аудит, написание безошибочных клиентов и, как правило, позволяет избежать острых случаев.
-
Максимально децентрализованный: PoS протоколы обычно содержат компромисс количество валидаторов, которые могут участвовать, eth2 предназначен для масштабирования до миллионов валидаторов, поощряя эти валидаторы работать независимо друг от друга.
-
Ожидайте неожиданного: все компоненты eth2 устойчивы к квантовым компьютерам или могут быть заменены на те, которые появятся в случае квантового апокалипсиса.
-
Люди для людей: eth2 должен быть в состоянии работать на потребительском ноутбуке. Чем ниже барьер для входа, тем больше людей могут участвовать, что приводит к более высокой степени децентрализации.
ЗаключениеТеперь, когда у вас есть основы eth2 за плечами, в следующих статьях этой серии будут рассмотрены сочные детали того, что делает eth2 правильным выбором.
Оригинал:
https://blog.ethereum.org/2019/11/27/Validated-Staking-on-eth2-0/Автор: Carl Beekhuizen
Перевод: KTChampions
Буду благодарен за помощь в исправлении ошибок и неточностей.