Midnight rilascia Ledger 9.1.0.0 per il prossimo hard fork della rete

La release aggiorna le librerie utilizzate per generare e verificare le prove a conoscenza zero e introduce modifiche ai parametri dei costi di transazione. Alcuni sviluppatori di contratti dovranno rigenerare le chiavi di verifica.

By SongMarketCap

Updated:

Midnight News - Midnight rilascia Ledger 9.1.0.0 per il prossimo hard fork della rete

Midnight ha rilasciato Ledger 9.1.0.0, la prima release completa del software del ledger destinata al prossimo hard fork della rete. L'aggiornamento aggiunge il supporto per le firme ECDSA e introduce modifiche alla generazione delle prove, all'elaborazione delle transazioni e alla convalida della sicurezza.

Il team ha inoltre rilasciato Proof Server 9.0.0, un servizio off-chain che genera le prove a conoscenza zero utilizzate nelle transazioni Midnight. Le note di rilascio del ledger non specificano una data per l'hard fork.

Librerie di prove aggiornate e supporto ECDSA

Il software del ledger definisce la struttura delle transazioni e le regole per l'aggiornamento dello stato della rete. Ledger 9.1.0.0 segue una serie di release candidate ed è stato promosso dalla versione 9.1.0.0-rc.7 dopo l'approvazione del controllo qualità.

La sua principale modifica è il passaggio a midnight-zk-stdlib v2 e midnight-circuits v7, librerie utilizzate per generare e verificare prove a conoscenza zero. Queste prove consentono di verificare le informazioni senza rivelare i dati privati sottostanti. Le prove e le chiavi di verifica create con la precedente zk-stdlib v1 restano verificabili con la nuova release.

Ledger 9 supporta anche le firme ECDSA, uno standard di firma crittografica utilizzato da reti tra cui Bitcoin ed Ethereum. Inoltre, il proof server supporta zkir v3, una versione più recente della rappresentazione intermedia utilizzata per i circuiti crittografici.

La release introduce una transazione di sistema chiamata UnlockToTreasury, che sposta fondi da un pool bloccato alla tesoreria. Segna anche la prima pubblicazione dei pacchetti Rust di Ledger 9 su crates.io, incluso il nuovo pacchetto midnight-ledger-v9.

Midnight aggiorna i parametri dei costi di transazione

Ledger 9 introduce una soglia minima di prezzo esplicita governata dai parametri del ledger. Sostituisce inoltre un precedente fattore di costo computazionale con fattori separati per la validazione, l'applicazione garantita e l'applicazione fallibile delle transazioni.

Le commissioni di transazione su Midnight sono pagate utilizzando DUST, una risorsa di rete generata nel tempo a partire dai token NIGHT registrati. La release cambia il modo in cui viene contabilizzata la registrazione di DUST, utilizzando l'ora del blocco invece dell'ora dichiarata nella transazione.

Diverse correzioni affrontano potenziali errori nell'elaborazione dello stato del wallet e nell'elaborazione delle commissioni del bridge. La release include inoltre le patch di sicurezza già distribuite alla mainnet con Ledger 8.1.2 e 8.1.3, tra cui una decodifica e una convalida più rigorose dei dati utilizzati nelle chiamate ai contratti.

[NEWSBREAK]

Chiavi di verifica e problemi noti per gli sviluppatori

Le librerie di prove aggiornate modificano le chiavi di verifica per tipi specifici di circuiti. Secondo le note di rilascio, i contratti interessati sono quelli che utilizzano circuiti zkir v2 con hash_to_curve oppure circuiti zkir v3 che codificano uno scalare Jubjub. Le loro chiavi di verifica devono essere rigenerate, le chiavi v0 e v1 restano invariate.

Gli strumenti che costruiscono o serializzano i parametri del ledger devono includere la nuova soglia minima di prezzo e i fattori di costo. Il codice che costruisce manualmente le buste di firma deve inoltre passare al metodo di costruzione condiviso.

Le note di rilascio elencano due difetti noti. Una chiamata di contratto che spende una coin schermata e scrive il resto può essere rifiutata per superamento del budget di gas su una catena con un albero delle commitment non vuoto. Un problema separato può causare l'esito negativo di un controllo time-to-dismiss per una chiamata di contratto pagata con esattamente una spesa di DUST; le note indicano che l'uso di due o più spese di DUST è un modo per evitare tale problema.

I pacchetti di Ledger 9 sono pubblicati sotto lo scope npm @midnightntwrk. Il precedente scope @midnight-ntwrk continua a ricevere release per ora.