Midnight выпустила Ledger 9.1.0.0 для следующего хардфорка сети

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

By SongMarketCap

Updated:

Midnight News - Midnight выпустила Ledger 9.1.0.0 для следующего хардфорка сети

Midnight выпустила Ledger 9.1.0.0, первый полноценный релиз программного обеспечения реестра, предназначенный для следующего хардфорка сети. Обновление добавляет поддержку подписей ECDSA и вносит изменения в генерацию доказательств, обработку транзакций и проверку безопасности.

Команда также выпустила Proof Server 9.0.0, внецепной сервис, который генерирует доказательства с нулевым разглашением, используемые в транзакциях Midnight. В примечаниях к релизу реестра не указана дата хардфорка.

Обновленные библиотеки доказательств и поддержка ECDSA

Программное обеспечение реестра определяет структуру транзакций и правила обновления состояния сети. Ledger 9.1.0.0 следует за серией кандидатов в релиз и был повышен с версии 9.1.0.0-rc.7 после одобрения контроля качества.

Его основное изменение это переход на midnight-zk-stdlib v2 и midnight-circuits v7, библиотеки, используемые для генерации и проверки доказательств с нулевым разглашением. Эти доказательства позволяют проверять информацию без раскрытия исходных приватных данных. Доказательства и ключи верификатора, созданные с использованием более ранней zk-stdlib v1, остаются проверяемыми в новом релизе.

Ledger 9 также поддерживает подписи ECDSA, криптографический стандарт подписей, используемый сетями, включая Bitcoin и Ethereum. Кроме того, сервер доказательств поддерживает zkir v3, более новую версию промежуточного представления, используемого для криптографических схем.

Релиз вводит системную транзакцию под названием UnlockToTreasury, которая перемещает средства из заблокированного пула в казну. Он также отмечает первую публикацию пакетов Rust для Ledger 9 на crates.io, включая новый пакет midnight-ledger-v9.

Midnight обновляет параметры стоимости транзакций

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

Комиссии за транзакции Midnight оплачиваются с помощью DUST, сетевого ресурса, который со временем генерируется из зарегистрированных токенов NIGHT. Релиз меняет способ учета регистрации DUST, используется время блока, а не время, указанное в транзакции.

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

[NEWSBREAK]

Ключи верификатора и известные проблемы для разработчиков

Обновленные библиотеки доказательств меняют ключи верификатора для определенных типов схем. Согласно примечаниям к релизу, затронуты контракты, которые используют схемы zkir v2 с hash_to_curve или схемы zkir v3, кодирующие скаляр Jubjub. Их ключи верификатора необходимо сгенерировать заново, ключи v0 и v1 остаются без изменений.

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

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

Пакеты Ledger 9 публикуются под пространством имен npm @midnightntwrk. Предыдущее пространство имен @midnight-ntwrk пока продолжает получать релизы.