Midnight iznosi detalje sigurnosnih ispravaka u verziji Ledger 9.1.0.1

Verzija aktivirana na mainnetu rješava probleme koji uključuju naknade za transakcije, ograničenja blokova i stanja novčanika. Također uvodi strožu provjeru valjanosti za razvijatelje koji grade na Midnight.

By SongMarketCap

Updated:

Midnight News - Midnight iznosi detalje sigurnosnih ispravaka u verziji Ledger 9.1.0.1

Midnight je objavio izvorni kod i bilješke uz izdanje za Ledger 9.1.0.1, verziju aktiviranu na mainnetu tijekom nadogradnje mreže 6. studenoga. Izdanje navodi 13 ispravaka, uključujući promjene u izračunu naknada za transakcije, ograničenjima blokova i načinu na koji novčanici prikazuju kovanice.

Prema bilješkama uz izdanje, operatori čvorova dobili su softver 3. studenoga. Izvorni kod i opisi ispravaka objavljeni su 7. studenoga. Ažuriranje također odbacuje neke transakcije koje su ranije inačice Ledger 9 prihvaćale.

Promjene u naknadama za transakcije i ograničenjima blokova

Ledger je dio softvera Midnight koji određuje jesu li transakcije valjane i koliko koštaju. Midnight je prešao na Ledger 9 bez uobičajenog razdoblja najave na testnoj mreži Preprod. Projekt je objasnio da koristi kontroliraniji proces izdavanja kada to zahtijevaju sigurnosni ispravci.

Jedan je problem utjecao na način na koji čvorovi obrađuju ponovljene unose u dijeljenim podatkovnim strukturama. Prema bilješkama uz izdanje, mala transakcija mogla je prisiliti čvor da obavi eksponencijalno rastuću količinu posla prije provjere svoje naknade. Ažurirani Ledger odbacuje ponovljene unose prije izračuna naknade i obrađuje podatke u vremenu razmjernom njihovoj veličini.

Dvije druge ispravke bave se ograničenjima blokova. Transakcija je ranije mogla prijaviti brisanja koja nikada nije izvršila, smanjujući naknade za druge dijelove transakcije i zaobilazeći ograničenje na neto broju zapisanih bajtova. Odvojen problem u izračunu dopuštao je da prijavljeno računsko vrijeme od najmanje 2⁶³ pikosekundi bude naplaćeno kao nula. Obje vrste transakcija sada se odbacuju kao nevaljane.

DUST, novčanici i Cardano Bridge

Midnight naknade za transakcije plaćaju se koristeći DUST, resurs generiran iz NIGHT posjeda. Bilješke uz izdanje opisuju problem u kojem je pametni ugovor mogao preuzeti višak resursa za naknadu pripisan tijekom registracije, dok je registrant i dalje primao puni iznos. Pozivi ugovora koji prenose resurs za naknadu kao javni ulaz ili izlaz sada se odbacuju.

Još jedan ispravak odnosi se na način na koji novčanici reproduciraju događaje s lanca. Valjan izlaz mogao je sadržavati šifrirani zapis koji nije odgovarao svojoj kriptografskoj obvezi. To je moglo uzrokovati da novčanik prikaže kovanice koje nije mogao potrošiti ili prepiše položaj kovanice koju je već držao. Bilješke uz izdanje navode da stanje na lancu nije bilo pogođeno.

Ažuriranje također temeljitije čisti iz memorije osjetljive podatke izvedene iz seedova novčanika. Neki od navedenih ispravaka odnose se na nalaze revizije, a bilješke uz izdanje upućuju na devet GitHub sigurnosnih priopćenja čije stranice nisu bile javno dostupne ujutro 8. studenoga.

Poseban ispravak odnosi se na protokol bridge namijenjen prijenosu tokena s Cardano na Midnight. Zahtjevi s vrijednošću nula ranije su mogli proći validaciju bez plaćanja naknade. Zahtjevi sada moraju ispuniti traženi minimum ili pokriti cijeli preostali saldo. Bridge je prisutan u kodu Ledger 9, ali ostaje onemogućen na mainnetu dok ga ne omogući zasebna odluka upravljanja.

[NEWSBREAK]

Razvojni paketi i preostali problemi

Izdanje uključuje @midnight-ntwrk/ledger-v9 1.0.1, onchain-runtime-v4 4.0.1 i Proof Server 9.0.1. Proof server generira dokaze bez znanja koji se koriste u transakcijama. Dokumentacija za nadogradnju mainneta za Midnight zasebno navodi Proof Server 9.0.0 među kompatibilnim komponentama.

Ledger 9.1.0.1 odbacuje transakcije s duplikatima potpisa odbora ili duplikatima registracije naknada. Ugovor može sadržavati najviše 256 operacija, svako postavljanje se naplaćuje za svoje potpuno stanje, a deklarirani gas mora ostati unutar ograničenja bloka.

Nekoliko Rust funkcija za izračun troška sada vraća pogrešku umjesto vrijednosti. Razvijatelji koji izravno računaju naknade moraju u svojim integracijama uzeti u obzir tu promjenu.

Dva poznata problema iz verzije 9.1.0.0 ostaju otvorena. Jedan može uzrokovati da se poziv ugovora odbije kada se njegova naknada plati točno jednim DUST spendom. Dokumentacija za Midnight navodi korištenje dvaju ili više DUST spendova kao privremeno rješenje, dok je ispravak planiran za kasnije izdanje.