vaultman
Copper Member
Full Member
 
Offline
Activity: 493
Merit: 170
BountyMarketCap
|
 |
July 07, 2020, 03:43:24 PM Last edit: July 08, 2020, 08:14:54 AM by vaultman Merited by xandry (6), zasad@ (4), Symmetrick (2) |
|
Обновление Eth 2.0 для разработчиков # 50 - «Перезапуск многоклиентной тестовой сети + улучшения Slasher»Это наше 50-е обновление! Спасибо всем за поддержку! Многоклиентная тестовая сеть Schlesi уходит в закат, тестовая сеть Witti увенчалась успехомМногоклиентная тестовая сеть Schlesi была абсолютно феноменальной для того, чтобы заставить разработчиков сосредоточиться на её многоклиентной работе. Teku, Lighthouse, Nimbus, Lodestar и Prysm активно синхронизируются в сети с действующими валидаторами Lighthouse, Teku и Prysm!
Тем не менее, 15 мая около 11:00 времени по UTC было замечено, что Schlesi был почти в 50 эпохах от окончания. Хотя первоначальная причина окончательной задержки не была установлена, они нередки в тестовой сети, где участники не обязаны/не заинтересованы в том, чтобы их валидаторы работали. Отсутствие окончательности в конечном итоге приводит к нестабильности в цепочке, вызывая несколько временных вилок в сети.Дерево блоков в момент незавершенности. После почти 300 незавершенных эпох был блок, который разделил цепочку между Lighthouse и Prysm в слоте 150496. Был представлен блок, у которого был слэшинг аттестатора, который выявил различия в том, как все клиенты подсчитывают вознаграждения и штрафы за слэшированные валидаторы. Это выявило 2 различных ошибки расчета штрафов в Prysm! После этого разрыва цепи было решено, что лучшим вариантом будет перезапуск с нового листа. Несмотря на то, что цепь еще можно было восстановить на этом этапе, мы решили, что лучше всего немедленно использовать то, что было усвоено из этого события, и начать работу в новой многоклиентной тестовой сети! Уже предпринимались усилия по запуску тестовой сети Witti Eth2.0, но имейте в виду, что это неофициальная многоклиентная сеть. Более подробная информация будет опубликована, когда она будет готова, но перезапуск тестовой сети для разработчиков позволяет всем разработчикам проводить дальнейшие тесты и быть максимально подготовленными.Инцидент с низким уровнем участия/завершенности в тестовой сети Topaz теперь разрешенМы столкнулись с инцидентом завершенности из-за ошибки и падения величины участия 19 мая, о чем свидетельствуют общедоступные диаграммы на beaconcha.in и etherscan. Эти инциденты привели к тому, что все валидаторы накапливали штрафы за весь период незавершенности. У нас были веские доказательства того, что проблема возникла из-за этого пулл-запроса, влияющего на то, как валидаторы вычисляют свои обязательства при объединении с мастером.
Проблема, которая у нас была, заключалась в небольшом расхождении во времени при запросе обязательств. Валидатор получит неправильные обязательства вместо того, что они ожидали, поскольку достаточно небольшое расхождение во времени может привести к полному отклонению в запросе правильных обязательств. Мы вернули использование отсчёта времени, вместо использования эпохи, указанной в запросе RPC валидатора, чтобы вычислить обязательства по устранению проблемы.
Наряду с вышеупомянутой проблемой, участие также было низким, так как один из наших товарищей по команде, которому принадлежит 15% валидаторов, отключил свои валидаторы из-за того, что его система выполняла автоматическое обновление. Цепочка с тех пор отлично восстановилась, и ошибка была устранена. Preston также пометил всех членов нашего сообщества, чтобы убедиться, что они вносят свой вклад. Спасибо всем! Объединенный код, пулл-запросы и проблемыБольшие улучшения в расширенном управлении состоянием в узлах BeaconМногочисленные улучшения были внесены в новую функциональность управления состоянием, чтобы сделать ее более удобной для пользователя. Один из исправленных недостатков заключается в том, что если архивный слот во время перемещения оказывается пропущенным блоком, то в архивном слоте не будет сохранено архивное состояние. Это было исправлено в # 5950. Каждый заархивированный слот будет иметь заархивированное состояние. Мы также улучшили новое управление состоянием, чтобы лучше обрабатывать случаи происхождения, а также крайние случаи, о которых сообщалось при поддержке slasher. Еще одна замечательная вещь, которую мы сделали, - сделать `SlotsPerArchivedPoint` настраиваемой. Значение «SlotsPerArchivedPoint» по умолчанию было обновлено с 256 слотов до 2048 слотов, чтобы лучше соответствовать отзывам сообщества. После получения отзывов от пользователей мы добавили новый флаг 'skip-regen-historical-states', этот флаг позволяет узлу пропускать восстановление и сохранять все исторические состояния. Это позволяет легко переключаться на эксперименты по управлению новым состоянием и одновременно сокращать использование памяти.Улучшения в сети P2PУчастие Prysm в Schlesi и Topaz позволило нам протестировать наш сетевой код с другими клиентами. Раньше все одноранговые коммуникации были Prysm -> Prysm, что облегчало запуск и тестирование, а также скрывало множество неуловимых ошибок и способов, которые отделили Prysm от текущей спецификации сети. Prysm охотно общался с другими клиентами и связывался с ними, в то время как спецификация требовала, чтобы только вызывающий абонент инициировал рукопожатие. Мы также неправильно обрабатывали сообщения о состоянии от разветвленных пиров, внезапно отключаясь от них.
Это лишь некоторые из немногих улучшений, которые мы осуществляли в последние пару недель. Следите за новыми улучшениями, так как мы обновляем версию спецификации до v0.12!Улучшения среды выполнения Slasher и прогресс промежуточного программного обеспеченияЧлен нашей команды Иван сосредоточил свое внимание на улучшении производительности клиентов Slasher, чтобы призвать большее количество людей запускать их. Во время осуществления исторического обнаружения слэшинга в сети, были обнаружены более 1400 уникальных валидаторов, способных к слешингу. Однако, в нашем последнем выпуске alpha8 есть ошибка обработки, которая не позволяет получать исторические аттестаты, это будет исправлено в следующем выпуске! Мы отослали несколько таких слэшингов, с одним заявителем, получающим почти полный GöETH от предложения блока со слэшированным аттестатором. Имейте в виду, что 90% этих валидаторов - это пользователи, умышленно пытающиеся быть слэшированными, а не честные пользователи.Валидатор 7104 выиграл джекпот! Многие из этих замечательных улучшений будут доступны в следующем выпуске, так что будьте готовы к обновлению!
Фантастический «Отчет о ставках Ethereum 2.0», разработанный Consensys, показал, что функция, о которой заботится большинство игроков, - это слэшинг защиты, и мы согласны!Рисунок 11: Предпочтительные функции управления узлами среди респондентов, которые планируют запустить свои собственные узлы валидатора На нашем клиенте-валидаторе уже установлена локальная защита от слэшинга базы данных, однако локальная защита имеет свои недостатки (ограниченные локальной историей клиентов). Необходимость всезнающего узла, который может с уверенностью ответить, что аттестация или блок не подлежат слэшингу, очень важна для защиты валидаторов.
К счастью, у нас уже есть «официант-слэшер», который сервирует данную функцию. До сих пор этот слэшер использовался только для поиска слэшинга в сети и отправки их на узел beacon для включения блока. Слэшер предназначен для этого, поскольку в нем хранятся все блоки и аттестаты, которые когда-либо публиковались в сети, и этот функционал можно также использовать для защиты валидатора от слэша. Вы уже сейчас можете попробовать новую функцию из нашей главной ветки, используя флаг «- enable-external-slasher-protection». Дополнительные улучшения для этой функции будут в ближайшее время.Улучшения клиента валидатора от вкладчиковКоличество вкладчиков в Prysm увеличивается, и мы ценим любую помощь, оказанную в этой огромной работе! В этом обновлении мы хотим поблагодарить пользователей michaelhly и rkapka за их потрясающий вклад в клиент валидатора. Michael добавил новую клиентскую команду валидатора, которая позволяет пользователям выводить данные о публичных ключах и статусах любых ключей валидатора, которые у них имеются в локальном виде. Он также сделал еще один вклад, который заключается в том, чтобы конечная точка нашего API могла принимать список индексов валидатора, а не только публичные ключи. Спасибо, Michael!
Огромное спасибо rkapka за добавление новой замечательной команды, которая позволяет пользователям менять пароли для своих ключей валидаторов, что является отличной функцией для удобства, если вы когда-либо захотите изменить свои пароли хранилища ключей валидатора! Говоря о паролях, наш ручной ввод паролей теперь проверен благодаря connerwstein, спасибо Conner!
Если кто-то заинтересован в участии, не стесняйтесь присоединяться к нашему Discord каналу для обращений!Оптимизация начального процесса синхронизацииНачальная синхронизация получила еще один цикл обновлений, где нашей главной целью было убедиться, что мы можем ускорить весь процесс без ущерба для надежности. Член нашей команды Victor сделал несколько важных пулл-запросов на оптимизацию, которые уже были объединены с нашим основным репо: # 5853, # 5881, # 5887.
Эти пулл-запросы позволяют нам более эффективно использовать пропускную способность сети, полагаясь на взвешенный циклический перебор при опросе одноранговых узлов (так, чтобы ни один одноранговый узел не был несправедливо перегружен), и все это, при этом оставаясь на безопасной стороне требований ограничителя скорости одноранговых узлов.
Ускорение синхронизации является значительной, так как в тестах, которые мы проводили на этой неделе, общая производительность составляла около 90100 блоков/сек. Несмотря на то, что наши текущие модульные тесты проходят, нам все еще нужно немного больше времени и нужны более подробные тесты, прежде чем окончательный пулл-запрос на оптимизацию будет объединен с главной веткой. Если вы хотите отслеживать прогресс, пожалуйста, следите за пулл-запросом # 5798.Предстоящая работа
Обновление спецификации до v0.12.0Исследователи фонда эфириума выпустили последнюю версию спецификации v0.12.0! Этот релиз включает в себя важные обновления стандарта BLS (BonehLynnShacham) и несколько улучшений спецификации, которые являются результатами открытий тестовой сети Schlesi. Обновление в основном состоит из исправлений и улучшений штрафов/вознаграждений, в том числе того, что обеспечивает оптимальную производительность валидаторов, которые не уменьшают баланс во время отсроченной завершенности. Это очень востребованное улучшение в последнее время, так что приятно видеть, что оно сделано! Мы уже добились большого прогресса в необходимых изменениях.
|