Midnight lança o Ledger 9.1.0.0 para o próximo hard fork da rede

O lançamento atualiza as bibliotecas usadas para gerar e verificar provas de conhecimento zero e introduz mudanças nos parâmetros de custo de transação. Alguns desenvolvedores de contratos precisarão regenerar chaves de verificação.

By SongMarketCap

Updated:

Midnight News - Midnight lança o Ledger 9.1.0.0 para o próximo hard fork da rede

Midnight lançou o Ledger 9.1.0.0, a primeira versão completa do software do Ledger destinada ao próximo hard fork da rede. A atualização adiciona suporte a assinaturas ECDSA e introduz mudanças na geração de provas, no processamento de transações e na validação de segurança.

A equipe também lançou o Proof Server 9.0.0, um serviço fora da cadeia que gera as provas de conhecimento zero usadas nas transações da Midnight. As notas de lançamento do Ledger não especificam uma data para o hard fork.

Bibliotecas de provas atualizadas e suporte a ECDSA

O software do Ledger define a estrutura das transações e as regras para atualizar o estado da rede. O Ledger 9.1.0.0 segue uma série de candidatos a lançamento e foi promovido da versão 9.1.0.0-rc.7 após aprovação de garantia de qualidade.

Sua principal mudança é a migração para midnight-zk-stdlib v2 e midnight-circuits v7, bibliotecas usadas para gerar e verificar provas de conhecimento zero. Essas provas permitem que informações sejam verificadas sem revelar os dados privados subjacentes. Provas e chaves de verificação criadas com a zk-stdlib v1 anterior continuam verificáveis na nova versão.

O Ledger 9 também oferece suporte a assinaturas ECDSA, um padrão de assinatura criptográfica usado por redes como Bitcoin e Ethereum. Além disso, o proof server oferece suporte a zkir v3, uma versão mais recente da representação intermediária usada para circuitos criptográficos.

A versão introduz uma transação de sistema chamada UnlockToTreasury, que move fundos de um pool bloqueado para o tesouro. Ela também marca a primeira publicação dos pacotes Rust do ledger 9 no crates.io, incluindo o novo pacote midnight-ledger-v9.

Midnight atualiza parâmetros de custo de transação

O Ledger 9 introduz um piso de preço explícito regido por parâmetros do ledger. Ele também substitui um fator anterior de custo computacional por fatores separados para validação, aplicação garantida e aplicação falível de transações.

As taxas de transação da Midnight são pagas usando DUST, um recurso da rede gerado ao longo do tempo a partir de tokens NIGHT registrados. A versão altera como o registro de DUST é contabilizado, usando o tempo do bloco em vez do tempo declarado na transação.

Várias correções abordam possíveis falhas no processamento do estado da carteira e no processamento de taxas da ponte. A versão também incorpora patches de segurança anteriormente entregues à mainnet por meio do Ledger 8.1.2 e 8.1.3, incluindo decodificação e validação mais rigorosas de dados usados em chamadas de contrato.

[NEWSBREAK]

Chaves de verificação e problemas conhecidos para desenvolvedores

As bibliotecas de prova atualizadas alteram as chaves de verificação para tipos específicos de circuitos. Segundo as notas de lançamento, os contratos afetados são aqueles que usam circuitos zkir v2 com hash_to_curve ou circuitos zkir v3 que codificam um escalar Jubjub. As suas chaves de verificação precisam ser regeneradas. As chaves v0 e v1 permanecem inalteradas.

Ferramentas que constroem ou serializam parâmetros do ledger devem incluir o novo piso de preço e os fatores de custo. Código que constrói manualmente envelopes de assinatura também deve migrar para o método de construção compartilhado.

As notas de lançamento listam dois defeitos conhecidos. Uma chamada de contrato que gasta uma moeda protegida e escreve o troco de volta pode ser rejeitada por exceder seu orçamento de gás em uma cadeia com uma árvore de compromissos não vazia. Outro problema pode fazer com que uma chamada de contrato paga com exatamente um gasto de DUST falhe em uma verificação de time to dismiss. As notas indicam usar dois ou mais gastos de DUST como uma forma de evitar esse problema.

Os pacotes do Ledger 9 são publicados sob o escopo npm @midnightntwrk. O escopo anterior @midnight-ntwrk continua a receber lançamentos por enquanto.