Midnight выпустила Ledger 9.1.0.0 для следующего хардфорка сети
Релиз обновляет библиотеки, используемые для генерации и проверки доказательств с нулевым разглашением, и вводит изменения в параметры стоимости транзакций. Некоторым разработчикам контрактов потребуется заново сгенерировать ключи верификатора.
By SongMarketCap
Updated:
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 пока продолжает получать релизы.