सोलाना फ्यूचर नेटवर्क शटडाउन को रोकने के लिए यदि रनटाइम बग फिर से उठता है: विवरण

RSI सोलाना नेटवर्क 1 जून को अपने नवीनतम आउटेज का अनुभव हुआ, जब सोलाना मेननेट बीटा क्लस्टर ने आम सहमति के कारण ब्लॉक बनाना बंद कर दिया। यह टिकाऊ गैर लेनदेन सुविधा में रन-टाइम बग द्वारा बनाया गया था, जो यह नियंत्रित करता है कि ब्लॉकचेन ऑफ़लाइन उपयोग के लिए लेनदेन के एक विशिष्ट रूप को कैसे संभालता है।

इन "टिकाऊ गैर लेनदेन" को अक्षम करने के बाद, सत्यापनकर्ताओं ने साढ़े चार घंटे बाद नेटवर्क को फिर से शुरू करना शुरू कर दिया। अगले दिन, 9:00 बजे यूटीसी पर, ब्लॉक उत्पादन फिर से शुरू हुआ, और नेटवर्क ऑपरेटरों ने अगले कई घंटों तक ग्राहक सेवाओं को बहाल करना जारी रखा।

हालिया आउटेज ने सोलाना की टिकाऊ नॉन्स को संभालने की क्षमता में विफलता का सुझाव दिया। नेटवर्क के सत्यापनकर्ताओं ने इन आला इनबाउंड को एकल लेनदेन के रूप में मानने के बजाय दो अलग-अलग ब्लॉक ऊंचाइयों पर एकल लेनदेन के रूप में गिना। इस असंभव परिस्थिति से सोलाना का सर्वसम्मति तंत्र प्रभावी रूप से टूट गया।

सोलाना ने सक्रिय कदम उठाया

थ्रूपुट बढ़ाने के लिए, सोलाना नॉनओवरलैपिंग लेनदेन के समानांतर प्रसंस्करण का उपयोग करता है। एक वृद्धिशील नॉन का उपयोग उन नेटवर्कों द्वारा किया जा सकता है जो लेनदेन को क्रमिक रूप से निष्पादित करते हैं; सोलाना यह सुनिश्चित करने के लिए एक अलग तंत्र का उपयोग करता है कि लेनदेन को दो बार नियंत्रित नहीं किया जाए। क्योंकि टिकाऊ गैर-लेनदेन समाप्त होने के लिए नहीं होते हैं, उन्हें दोहरे प्रसंस्करण से बचने के लिए एक अलग दृष्टिकोण की आवश्यकता होती है और उन्हें क्रमिक रूप से नियंत्रित किया जाता है।

विज्ञापन

एक टिकाऊ गैर लेनदेन के प्रसंस्करण से रनटाइम में एक बग का पता चला जिसने नेटवर्क को पूरे आउटेज के दौरान आगे बढ़ने से रोक दिया। एक सफल लेन-देन इस समस्या का कारण नहीं बनता क्योंकि टिकाऊ गैर लेन-देन विफल हो जाता।

यदि वही परिस्थिति दोबारा उत्पन्न होती है तो नेटवर्क को रुकने से रोकने के लिए टिकाऊ गैर लेनदेन कार्यक्षमता को रिलीज़ v1.9.28/v1.10.23 में निष्क्रिय कर दिया गया था। टिकाऊ गैर लेनदेन तब तक निष्पादित नहीं होंगे जब तक कि शमन लागू नहीं किया जाता है और भविष्य के संस्करण में सुविधा पुनः सक्रिय नहीं हो जाती है।

स्रोत: https://u.today/solana-to-prevent-future-network-shutdown-if-runtime-bug-arises-again-details