The Սոլանա ցանց հունիսի 1-ին տեղի ունեցավ իր վերջին խափանումը, երբ Solana Mainnet բետա կլաստերը դադարեց բլոկներ ստեղծել՝ ընդհատված կոնսենսուսի պատճառով: Սա ստեղծվել է տեւական nonce գործարքների հատկանիշի գործարկման ժամանակի սխալի պատճառով, որը կարգավորում է, թե ինչպես է բլոկչեյնը մշակում գործարքի որոշակի ձև, որը նախատեսված է օֆլայն օգտագործման համար:
06-01-22 Solana Mainnet Beta-ի խափանումների հաշվետվություն. երկարատև nonce գործարքի գործառույթն անջատվել է v1.9.28/v1.10.23 թողարկումներում՝ կանխելու ցանցի դադարեցումը, եթե նույն իրավիճակը նորից առաջանա: https://t.co/2HwkSWkLaR
- Wu Blockchain (@WuBlockchain) Հունիսի 5, 2022
Այս «դիմացկուն ոչ գործարքները» անջատելուց հետո վավերացնողները սկսեցին վերագործարկել ցանցը չորսուկես ժամ անց: Հաջորդ օրը, ժամը 9:00 UTC-ին, բլոկի արտադրությունը վերսկսվեց, և ցանցային օպերատորները շարունակեցին վերականգնել հաճախորդների ծառայությունները հաջորդ մի քանի ժամվա ընթացքում:
Վերջերս տեղի ունեցած խափանումը հուշում էր, որ Սոլանայի ունակության ձախողումն է եղել երկարակյաց նոնսերը: Ցանցի վավերացնողները կրկնակի հաշվում էին այս խորշի մուտքերը որպես մեկ գործարք երկու առանձին բլոկի բարձրության վրա, այլ ոչ թե դրանք դիտարկելու որպես մեկ գործարք: Սոլանայի կոնսենսուսի մեխանիզմը փաստացիորեն խախտվեց այս անհնարին իրավիճակի պատճառով:
Սոլանան նախաձեռնողական քայլ է անում
Արտադրողականությունը մեծացնելու համար Սոլանան օգտագործում է ոչ համընկնող գործարքների զուգահեռ մշակումը: Աճող նոնսը կարող է օգտագործվել ցանցերի կողմից, որոնք կատարում են գործարքներ սերիականորեն. Սոլանան օգտագործում է այլ մեխանիզմ՝ երաշխավորելու համար, որ գործարքները կրկնակի չեն կարգավորվում: Քանի որ երկարաժամկետ ոչ միանվագ գործարքները նախատեսված չեն ժամկետը լրանալու համար, դրանք պահանջում են այլ մոտեցում՝ կրկնակի մշակումից խուսափելու համար և կարգավորվում են հաջորդաբար:
Երկարատև nonce գործարքի մշակումը գործարկման ժամանակում բացահայտեց սխալ, որը դադարեցրեց ցանցի առաջընթացը ողջ անջատման ընթացքում: Հաջող գործարքը չէր առաջացնի այս խնդիրը, քանի որ երկարատև nonce գործարքը կտապալվեր:
Երկարատև nonce գործարքի գործառույթն ապաակտիվացվել է v1.9.28/v1.10.23 թողարկումներում՝ կանխելու ցանցի դադարեցումը, եթե նույն հանգամանքը նորից առաջանա: Երկարատև աննշան գործարքները չեն իրականացվի այնքան ժամանակ, քանի դեռ մեղմացումը չի գործադրվել և հնարավորությունը նորից չակտիվանա ապագա տարբերակում:
Աղբյուր՝ https://u.today/solana-to-prevent-future-network-shutdown-if-runtime-bug-arises-again-details