„Solana“ sieks užkirsti kelią būsimam tinklo išjungimui, jei vėl atsiras vykdymo triktis: išsami informacija

Šios Solana tinklas birželio 1 d., kai Solana Mainnet Beta klasteris nustojo kurti blokus dėl įstrigusio sutarimo. Tai buvo sukurta dėl veikimo laiko klaidos ilgalaikių nonce transakcijų funkcijoje, kuri nustato, kaip blokų grandinė apdoroja tam tikrą operacijos formą, skirtą naudoti neprisijungus.

Išjungę šias „patvarias neįvykdytas operacijas“, tikrintojai pradėjo iš naujo paleisti tinklą po keturių su puse valandos. Kitą dieną, 9:00 val. UTC, blokų gamyba buvo paleista iš naujo, o tinklo operatoriai toliau atnaujino klientų paslaugas per kelias ateinančias valandas.

Neseniai įvykęs gedimas parodė, kad Solana nesugebėjo susidoroti su patvariomis niekšybėmis. Tinklo tikrintojai du kartus apskaičiavo šiuos nišos įplaukimus kaip vieną operaciją dviejuose atskiruose blokų aukščiuose, o ne laikė jas vienu sandoriu. Solanos sutarimo mechanizmas buvo veiksmingai sulaužytas dėl šios neįmanomos keblios padėties.

Solana imasi iniciatyvaus žingsnio

Siekdama padidinti pralaidumą, Solana naudoja lygiagretų nesutampančių operacijų apdorojimą. Didėjantis nonce gali būti naudojamas tinkluose, kurie operacijas vykdo nuosekliai; „Solana“ taiko kitokį mechanizmą, kad užtikrintų, jog operacijos nebūtų tvarkomos du kartus. Kadangi ilgalaikių nenumatytų operacijų galiojimo laikas nesibaigia, joms reikia kitokio požiūrio, kad būtų išvengta dvigubo apdorojimo, ir jos tvarkomos nuosekliai.

skelbimai

Apdorojant ilgalaikę nenumatytą operaciją, buvo nustatyta vykdymo laiko klaida, kuri sustabdė tinklo pažangą per visą gedimą. Sėkmingas sandoris nebūtų sukėlęs šios problemos, nes ilgalaikė nonce operacija būtų žlugusi.

Patvarios operacijos funkcija buvo išaktyvinta v1.9.28/v1.10.23 leidimuose, kad tinklas nesustotų, jei vėl atsirastų ta pati aplinkybė. Ilgalaikės nenumatytos operacijos nebus vykdomos tol, kol nebus įdiegtas mažinimo priemonė ir funkcija vėl suaktyvinta būsimoje versijoje.

Šaltinis: https://u.today/solana-to-prevent-future-network-shutdown-if-runtime-bug-arises-again-details