Solana bo preprečil prihodnji izklop omrežja, če se bo napaka med izvajanjem znova pojavila: podrobnosti

O Mreža Solana je doživel zadnji izpad 1. junija, ko je gruča Solana Mainnet Beta prenehala ustvarjati bloke zaradi zastoja soglasja. To je ustvarila napaka v času izvajanja v funkciji trajnih nonce transakcij, ki ureja, kako veriga blokov obravnava določeno obliko transakcije, namenjene uporabi brez povezave.

Potem ko so te "trajne nonce transakcije" onemogočili, so validatorji štiri ure in pol pozneje začeli znova zagnati omrežje. Naslednji dan, ob 9:00 UTC, se je proizvodnja blokov znova zagnala, omrežni operaterji pa so nadaljevali z obnavljanjem storitev odjemalca v naslednjih nekaj urah.

Nedavni izpad je nakazal neuspeh v Solanini sposobnosti obvladovanja trajnih nonces. Omrežni validatorji so te nišne vhode dvakrat šteli kot eno transakcijo na dveh ločenih višinah bloka, namesto da bi jih obravnavali kot eno samo transakcijo. Solanin mehanizem soglasja je bil zaradi te nemogoče težave dejansko prekinjen.

Solana sprejme proaktiven korak

Za povečanje prepustnosti Solana uporablja vzporedno obdelavo transakcij, ki se ne prekrivajo. Naraščajočo nonce lahko uporabljajo omrežja, ki serijsko izvajajo transakcije; Solana uporablja drugačen mehanizem za zagotovitev, da se transakcije ne obravnavajo dvakrat. Ker trajne enkratne transakcije ne potečejo, zahtevajo drugačen pristop, da se izognemo dvojni obdelavi, in se obravnavajo zaporedno.

oglasi

Obdelava trajne transakcije nonce je razkrila napako v času izvajanja, ki je preprečila napredovanje omrežja med izpadom. Uspešna transakcija ne bi povzročila te težave, ker trajna transakcija nonce ne bi uspela.

Trajna funkcionalnost nonce transakcij je bila deaktivirana v izdajah v1.9.28/v1.10.23, da bi preprečili zaustavitev omrežja, če bi se ista okoliščina znova pojavila. Trajne enkratne transakcije se ne bodo izvajale, dokler ni uvedena ublažitev in funkcija ponovno aktivirana v prihodnji različici.

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