filvadim
filvadim

Hi

Обновление SCRT Labs: секрет масштабирования

Обновление SCRT Labs: секрет масштабирования

Последнее обновление SCRT Labs охватывает четыре основных недавних улучшения масштабирования и предстоящие инициативы, призванные значительно улучшить работу пользователей и валидаторов в Secret!

В этом посте рассматриваются основные недавние и предстоящие улучшения сети в ответ на высокий спрос в сети, который привел к некоторым проблемам масштабирования, с которыми столкнулись пользователи Secret. Прочтите, чтобы узнать о наших четырех крупнейших недавних улучшениях сети, работе SCRT Labs над предстоящими обновлениями и о том, почему мы никогда не были так взволнованы потенциалом Secret Network как универсального центра конфиденциальности для Web3!


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

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

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

Тем не менее, поскольку наша технология является новой и необычной, мы постоянно решаем проблемы, которые не были решены где-либо еще. Имея это в виду, сама Secret Network не остановилась и не сломалась. Многие из этих проблем можно было ожидать с увеличением спроса. Наша главная цель в настоящее время — справиться с этим колоссальным ростом путем внедрения краткосрочных и долгосрочных улучшений, ориентированных на масштабируемость сети и значительно улучшенный UX.

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

Обновления до сих пор

Недавно были реализованы четыре немедленных улучшения. Мы уже видели положительные результаты с некоторыми из последних событий с высоким трафиком (включая монетные дворы NFT):

  1. Узлы запроса
  2. Улучшенная инфраструктура для Keplr
  3. Ончейн-предложения для лучшего контроля времени блока
  4. Корректировка цен на газ в Keplr

Узлы запроса

В периоды высокой нагрузки на сеть, например, во время захватывающего падения NFT, пользователи сообщали, что не могут просматривать свои балансы на Keplr.

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

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

Вверху: наглядный пример улучшений узла запроса.

Ярко-синий — кластер A, обслуживающий 20 тыс. запросов в час со средней скоростью 1,79 с на запрос.


Красный — кластер B, обслуживающий 20 тыс. запросов в час со средней скоростью 1,62 с на запрос.


Темно-синий — один узел запросов, обслуживающий в среднем 20 тыс. запросов в час. 0,213 с на запрос

Для получения дополнительной информации см. https://github.com/scrtlabs/SecretNetwork/releases/tag/v1.2.5 .

Важно, чтобы программное обеспечение кошелька оставалось отзывчивым даже при возникновении проблем с приложением или сетью. Keplr — это стандарт кошелька для блокчейна Cosmos, поэтому SCRT Labs сотрудничала с другими партнерами по экосистеме Cosmos, чтобы решить проблему, затрагивающую всю сеть, с этим конкретным кошельком.

Keplr исторически использовала одного поставщика инфраструктуры для своих узлов Secret Network. Это приводило к ситуациям, когда поставщик инфраструктуры не мог справиться с пиковыми нагрузками как от Keplr, так и от других сетевых приложений, что приводило к простоям. Хуже того, поскольку пострадали и Keplr, и приложения, эти ситуации оказались дефектом всей сети.

Чтобы решить эту проблему, мы и наши партнеры внедрили новое инфраструктурное решение для Keplr. Это решение включает в себя глобальную балансировку нагрузки, оптимизацию кэширования и интеллектуальное ограничение скорости. Эти исправления снижают нагрузку на сами узлы.

Внедрение этой улучшенной инфраструктуры Keplr вместе с нашими новыми узлами запросов привело к сокращению трафика на 30-50%, что привело к более быстрому и более приемлемому времени отклика.

Ончейн-предложения для лучшего контроля времени блока

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

  1. Протокол Shinobi использует проверку подписи ed25519 для проверки блока секретной сети и подпись сообщения secp256k1 для подписи транзакции биткойнов.
  2. Shade Protocol использует проверку подписи secp256k1 для обработки раздачи кроссчейн-токена SHD.

Эти два приложения сами по себе заставляли время блока растягиваться от целевого времени блока в 6 секунд до 90 секунд и более. Это подчеркнуло тот факт, что наш механизм учета газа должен быть лучше настроен, чтобы отражать реальное потребление ресурсов (а именно, время обработки).

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

В ответ на этот запрос мы представили внутрисетевое предложение по снижению лимита блочного газа с 10 млн до 4 млн: https://www.mintscan.io/secret/proposals/76 .

Однако ограничение оказалось слишком строгим при попытке загрузить новый контракт NFT. Чтобы исправить ситуацию, команда ChameleonVille предложила увеличить лимит блочного газа до 6M:  https://www.mintscan.io/secret/proposals/80

Корректировка цен на газ в Keplr

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

Keplr в настоящее время не обновлял свои цены на газ, чтобы они отражали текущий рынок — в последний раз эти значения обновлялись в 2020 году. Это заставляет пользователей платить комиссию, которая намного превышает то, что необходимо для принятия их транзакции. Рынок резко изменился с тех пор, как были установлены эти цены. Сеть развивалась, и валидаторы снизили свои приемлемые цены на газ. Чтобы отразить эту реальность, мы отправили в Keplr запрос на снижение цены на газ по умолчанию в 2,5 раза. Изменения должны вступить в силу в ближайшие дни.

Мы в Secret Labs хотели бы выразить огромную благодарность всем членам сообщества, которые исследовали принятые в настоящее время цены на газ с помощью валидаторов!

Улучшение будущих обновлений

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

Еще в ноябре 2021 года во время обновления Supernova мы также добавили модуль x/upgrade, который позволяет отправить предложение по обновлению программного обеспечения. Если предложение по обновлению программного обеспечения принято, цепочка останавливается на высоте/времени, указанных в предложении. В дополнение к этому, cosmovisorэто диспетчер процессов для цепочек Cosmos SDK, который можно использовать для автоматического обновления цепочки, когда принимается предложение по обновлению программного обеспечения.

В результате поток будущих обновлений должен выглядеть так:

  • Предложение по обновлению программного обеспечения представлено с указанной высотой/временем обновления X
  • Предложение принято
  • На высоте/времени X цепочка останавливается в ожидании установки новых двоичных файлов.
  • Управляющие узлами заменяют старые двоичные файлы новыми и перезапускают свои узлы.
  • Узлы, настроенные с использованием космовизора в качестве диспетчера процессов, могут устанавливать новые бинарные файлы с помощью космовизора в любое время до высоты/времени X. Затем, когда наступает высота/время X, они могут сидеть сложа руки, пока космовизор заменяет бинарник и перезапускает узел.

Некоторые последствия этого нового метода обновления:

  1. Нет необходимости экспортировать состояние и импортировать его с новыми двоичными файлами — более быстрые обновления
  2. Нет налогового события для участников SCRT — вознаграждения за ставки останутся нетронутыми (поскольку нет экспорта и импорта состояния)
  3. Идентификатор цепочки останется секретным-4
  4. Высота блока не сбрасывается

Пользовательский опыт для валидаторов тоже важен!

Резервное копирование криптографических API из CosmWasm v1

Пока мы работаем над добавлением CosmWasm v1 в Secret Network, быстрый шаг, который мы можем предпринять для повышения производительности контрактов v0.10, — это бэкпорт криптографических API из CosmWasm v1. Эти новые API-интерфейсы делегируют тяжелые криптографические вычисления вне механизма WASM, что хорошо для производительности по нескольким причинам:

  1. Движок WASM от Secret Network работает медленнее по сравнению с ванильным CosmWasm. Еще в 2020 году движок WASM ванильного CosmWasm плохо работал с SGX, поэтому мы решили использовать более медленный, но совместимый с SGX движок WASM.
  2. Криптоящики, которые сегодня используются для выполнения этих вычислений, обычно большие, что, в свою очередь, делает большими бинарные файлы WASM.
  3. Механизм WASM измеряет каждый выполняемый опкод. Эти накладные расходы усугубляются тяжелыми вычислениями.

Новые функции, которые будут доступны контрактам:

deps.api.ed25519_verify()

deps.api.ed25519_batch_verify()

deps.api.secp256k1_verify()

deps.api.secp256k1_recover_pubkey()

deps.api.ed25519_sign()

deps.api.secp256k1_sign()

Обратите внимание, что & ed25519_sign()уникальны для секретной сети , поскольку секретные контракты позволяют генерировать и использовать закрытые криптографические ключи!secp256k1_sign()

Добавление этих новых функций API означает более быстрое выполнение разрешений для будущих токенов SNIP20, токенов SNIP721 и межсетевых раздач. Это также означает значительный прирост производительности для таких приложений, как Shinobi Protocol, которые активно используют проверку подписи ed25519 и подпись сообщений secp256k1.

Мы намерены обновить цепочку с помощью этих новых API где- то в апреле.

Замените наш двигатель WASM

При первоначальной разработке секретных контрактов нам нужно было сделать выбор, какой движок WebAssembly (WASM) использовать. Мы решили использовать wasmi — более медленный и старый движок, созданный для SGX (основная технология, обеспечивающая конфиденциальность), — вместо того, чтобы проводить длительную разработку для адаптации более производительного движка. В то время это было хорошее решение, так как оно позволило нам запускать быстрее, хотя теперь нам придется наверстать упущенное в технологии, чтобы соответствовать требованиям внедрения.

(Источник: https://medium.com/wasmer/benchmarking-webassembly-runtimes-18497ce0d76e )

Мы намерены заменить наш текущий движок WASM, Wasmi, на движок WASM ванильного CosmWasm, Wasmer. Это будет сложной задачей, поскольку, как вы можете себе представить, механизм, который запускает наши смарт-контракты, тесно интегрирован со многими компонентами системы. Тем не менее, мы уверены, что сможем осуществить этот переход, и стремимся выпустить эту функцию в четвертом квартале.

Что дальше?

Все эти сетевые улучшения являются частью нашего видения Shockwave , о котором было объявлено в начале января 2022 года. Благодаря созданию большего количества продуктов и инструментов, большему количеству авторов, запускающих Secret Network, и большему количеству сторонников и партнеров, чем когда-либо, которые помогают обеспечить наш глобальный рост, будущее никогда не было лучше для конфиденциальности Web3.

Если вы разработчик, вы также можете ознакомиться с нашими последними объявлениями о новом секретном фонде экосистемы на сумму 225 млн долларов , в которых содержится подробная информация о том, как связаться с командой SCRT Labs и остальной частью нашей экосистемы разработчиков. Кроме того, ознакомьтесь с грантами Secret Network и начните строить уже сегодня!

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

Спасибо за вашу поддержку - Shockwave только начинается! 🤫

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论