सोलाना प्रोग्रामिंग मॉडल का संक्षिप्त विवरण: ETH से क्या अंतर है?
मूल लेखक: फ़ोरसाइट न्यूज़, एलेक्स लियू
सोलाना एक उच्च-प्रदर्शन ब्लॉकचेन प्लेटफ़ॉर्म है जिसे dApps का समर्थन करने के लिए डिज़ाइन किया गया है, जो अपनी गति और मापनीयता के लिए जाना जाता है, जिसे एक अद्वितीय सहमति तंत्र और वास्तुशिल्प डिज़ाइन के माध्यम से प्राप्त किया जाता है। यह लेख सोलाना के स्मार्ट कॉन्ट्रैक्ट प्रोग्रामिंग मॉडल की विशेषताओं को संक्षेप में पेश करने के लिए तुलनात्मक वस्तु के रूप में एथेरियम का उपयोग करता है।
स्मार्ट अनुबंध, ऑन-चेन कार्यक्रम:
एथेरियम पर चलने वाले प्रोग्राम को स्मार्ट कॉन्ट्रैक्ट कहा जाता है, जो एथेरियम पर एक विशिष्ट पते पर स्थित कोड (फ़ंक्शन) और डेटा (स्थिति) की एक श्रृंखला है। (अरे नहीं, कोड और डेटा युग्मित हैं) स्मार्ट कॉन्ट्रैक्ट भी एथेरियम खाते हैं, जिन्हें कॉन्ट्रैक्ट अकाउंट कहा जाता है, जिनमें बैलेंस होता है और जिनका व्यापार किया जा सकता है, लेकिन मनुष्यों द्वारा उनमें हेरफेर नहीं किया जा सकता है और उन्हें प्रोग्राम के रूप में चलाने के लिए नेटवर्क पर तैनात किया जाता है।
सोलाना पर चलने वाले निष्पादन योग्य कोड को ऑन-चेन प्रोग्राम कहा जाता है, जो प्रत्येक लेनदेन में भेजे गए निर्देशों की व्याख्या करता है। इन प्रोग्रामों को सीधे नेटवर्क के कोर में मूल प्रोग्राम के रूप में तैनात किया जा सकता है, या किसी के द्वारा SPL प्रोग्राम के रूप में प्रकाशित किया जा सकता है।
- निर्देश: निर्देश सोलाना ऑन-चेन प्रोग्राम के लिए एक विशेष शब्द है। ऑन-चेन प्रोग्राम निर्देशों से बने होते हैं, जो विशिष्ट संचालन करने के लिए सबसे छोटी इकाई हैं: प्रत्येक सोलाना लेनदेन में एक या अधिक निर्देश होते हैं। निर्देश निष्पादित किए जाने वाले संचालन को निर्दिष्ट करते हैं, जिसमें एक विशिष्ट ऑन-चेन प्रोग्राम को कॉल करना, खाते पास करना, इनपुट सूचियाँ और बाइट एरे प्रदान करना शामिल है। निर्देशों की कम्प्यूटेशनल सीमाएँ होती हैं, इसलिए ऑन-चेन प्रोग्राम को कम संख्या में कम्प्यूटेशनल इकाइयों का उपयोग करने के लिए अनुकूलित किया जाना चाहिए, या महंगे संचालन को कई निर्देशों में विभाजित किया जाना चाहिए।
- नेटिव प्रोग्राम: एक नेटिव प्रोग्राम जो सत्यापन नोड द्वारा आवश्यक फ़ंक्शन प्रदान करता है। इनमें से सबसे प्रसिद्ध सिस्टम प्रोग्राम है, जो नए खातों के निर्माण और दो खातों के बीच SOL के हस्तांतरण के प्रबंधन के लिए जिम्मेदार है।
- एसपीएल कार्यक्रम: निर्माण, विनिमय, उधार, स्टेकिंग पूल का निर्माण, ऑन-चेन डोमेन नाम समाधान सेवाओं का रखरखाव आदि सहित ऑन-चेन गतिविधियों की एक श्रृंखला को परिभाषित करता है। उनमें से, एसपीएल टोकन प्रोग्राम का उपयोग टोकन संचालन के लिए किया जाता है, जबकि एसोसिएटेड टोकन अकाउंट प्रोग्राम का उपयोग अक्सर अन्य कस्टम प्रोग्राम लिखने के लिए किया जाता है।
आप इसे स्मार्ट कॉन्ट्रैक्ट कहते हैं, मैं इसे चेन प्रोग्राम कहता हूँ। सबके पास अलग-अलग शब्द हैं, लेकिन वे सभी ब्लॉकचेन पर चलने वाले कोड को संदर्भित करते हैं। झांग सैन, ली सी और वांग माज़ी सभी लोगों के नाम हैं। उनकी गुणवत्ता की अभी भी अन्य पहलुओं में जांच की जानी चाहिए।
खाता मॉडल और डेटा वियोजन:
एथेरियम के समान, सोलाना भी एक खाता मॉडल पर आधारित ब्लॉकचेन है, लेकिन सोलाना एथेरियम से अलग खाता मॉडल प्रदान करता है और डेटा को अलग तरीके से संग्रहीत करता है।
सोलाना में, खाते वॉलेट की जानकारी और अन्य डेटा संग्रहीत कर सकते हैं। किसी खाते द्वारा परिभाषित फ़ील्ड में लैम्पॉर्ट्स (खाता शेष), स्वामी (खाता स्वामी), निष्पादन योग्य (चाहे वह निष्पादन योग्य खाता हो) और डेटा (खाते में संग्रहीत डेटा) शामिल हैं। प्रत्येक खाता अपने स्वामी के रूप में एक प्रोग्राम को निर्दिष्ट करता है ताकि यह पता लगाया जा सके कि खाते का उपयोग किस प्रोग्राम के रूप में स्टेट स्टोरेज के रूप में किया जाता है। ये ऑन-चेन प्रोग्राम केवल पढ़ने के लिए या स्टेटलेस होते हैं: प्रोग्राम खाते (निष्पादन योग्य खाते) केवल BPF बाइटकोड संग्रहीत करते हैं और कोई भी स्टेट स्टोर नहीं करते हैं। प्रोग्राम स्टेट को अन्य स्वतंत्र खातों (गैर-निष्पादन योग्य खातों) में संग्रहीत करेगा, अर्थात, सोलाना का प्रोग्रामिंग मॉडल कोड और डेटा को अलग करता है।
एथेरियम खाते मुख्य रूप से EVM स्थितियों के संदर्भ हैं, और उनके स्मार्ट अनुबंधों में कोड लॉजिक और उपयोगकर्ता डेटा संग्रहीत करने की आवश्यकता दोनों शामिल हैं। इसे आम तौर पर EVM इतिहास से बचा हुआ डिज़ाइन दोष माना जाता है।
इस अंतर को कम मत समझिए! सोलाना स्मार्ट कॉन्ट्रैक्ट्स पर हमला करना मूल रूप से एथेरियम जैसे युग्मित प्रोग्रामिंग मॉडल वाले ब्लॉकचेन की तुलना में कठिन है:
एथेरियम में, स्मार्ट कॉन्ट्रैक्ट का मालिक एक वैश्विक चर है जो एक-एक करके स्मार्ट कॉन्ट्रैक्ट से मेल खाता है। इसलिए, फ़ंक्शन को कॉल करने से कॉन्ट्रैक्ट का मालिक सीधे बदल सकता है।
सोलाना में, स्मार्ट कॉन्ट्रैक्ट का स्वामी एक खाते से जुड़ा डेटा होता है, न कि एक वैश्विक चर। एक खाते में एक-से-एक एसोसिएशन के बजाय कई मालिक हो सकते हैं। स्मार्ट कॉन्ट्रैक्ट में सुरक्षा भेद्यता का फायदा उठाने के लिए हमलावर को न केवल समस्याग्रस्त फ़ंक्शन को खोजने की आवश्यकता होती है, बल्कि फ़ंक्शन को कॉल करने के लिए सही खाता तैयार करने की भी आवश्यकता होती है। यह कदम आसान नहीं है क्योंकि सोलाना स्मार्ट कॉन्ट्रैक्ट में आमतौर पर कई इनपुट खाते शामिल होते हैं और बाधाओं (जैसे `खाता 1.स्वामी==खाता 2.कुंजी`) के माध्यम से उनके बीच संबंधों को प्रबंधित करते हैं। सही खाता तैयार करने से लेकर हमला शुरू करने तक की प्रक्रिया सुरक्षा मॉनिटर के लिए संदिग्ध लेनदेन का पता लगाने के लिए पर्याप्त है जो हमले से पहले स्मार्ट कॉन्ट्रैक्ट से जुड़े नकली खाते बनाते हैं।
एथेरियम स्मार्ट कॉन्ट्रैक्ट एक अद्वितीय पासवर्ड के साथ एक तिजोरी की तरह है। जब तक आपको पासवर्ड मिलता है, तब तक आप पूर्ण स्वामित्व प्राप्त कर सकते हैं। सोलाना कई पासवर्ड के साथ एक तिजोरी है, लेकिन अनुमति प्राप्त करने के लिए, आपको न केवल पासवर्ड प्राप्त करने का एक तरीका खोजना होगा, बल्कि लॉक खोलने से पहले पासवर्ड से संबंधित संख्या का भी पता लगाना होगा।
प्रोग्रामिंग भाषा
सोलाना पर स्मार्ट कॉन्ट्रैक्ट विकसित करने के लिए रस्ट प्राथमिक प्रोग्रामिंग भाषा है। अपने प्रदर्शन और सुरक्षा सुविधाओं के कारण, यह ब्लॉकचेन और स्मार्ट कॉन्ट्रैक्ट के उच्च जोखिम वाले वातावरण के लिए उपयुक्त है। सोलाना C, C++ और अन्य भाषाओं (बहुत ही असामान्य) का भी समर्थन करता है। ऑन-चेन प्रोग्राम के विकास का समर्थन करने के लिए रस्ट और C के लिए आधिकारिक SDK प्रदान किए जाते हैं। डेवलपर्स बर्कले पैकेट फ़िल्टर (BPF) बाइटकोड (.so एक्सटेंशन वाली फ़ाइलें) में प्रोग्राम संकलित करने के लिए टूल का उपयोग कर सकते हैं, फिर उन्हें सोलाना चेन में तैनात कर सकते हैं, और सीलेवल समानांतर स्मार्ट कॉन्ट्रैक्ट रनटाइम के माध्यम से स्मार्ट कॉन्ट्रैक्ट के तर्क को निष्पादित कर सकते हैं।
चूंकि रस्ट भाषा को सीखना कठिन है और इसे ब्लॉकचेन विकास के लिए अनुकूलित नहीं किया गया है, इसलिए कई आवश्यकताओं के लिए पुनः आविष्कार और अनावश्यक कोड की आवश्यकता होती है। (उत्पादन में कई परियोजनाएं विकास को सरल बनाने के लिए बैकपैक के सह-संस्थापक अरमानी द्वारा बनाए गए एंकर फ्रेमवर्क का उपयोग करती हैं) ब्लॉकचेन विकास के लिए समर्पित कई नई बनाई गई प्रोग्रामिंग भाषाएँ रस्ट पर आधारित हैं, जैसे कि काइरो (स्टार्कनेट) और मूव (सुई, एप्टोस)।
उत्पादन में कई परियोजनाएं एंकर फ्रेमवर्क का उपयोग करती हैं
एथेरियम स्मार्ट कॉन्ट्रैक्ट मुख्य रूप से सॉलिडिटी में विकसित किए जाते हैं (सिंटैक्स जावास्क्रिप्ट के समान है, और कोड फ़ाइल में .sol एक्सटेंशन है)। अपेक्षाकृत सरल सिंटैक्स और अधिक परिपक्व विकास उपकरण (हार्डहैट फ्रेमवर्क, रीमिक्स आईडीई…) के कारण, हम आमतौर पर सोचते हैं कि एथेरियम का विकास अनुभव सरल और अधिक ताज़ा है, जबकि सोलाना विकास शुरू करना मुश्किल है। इसलिए भले ही सोलाना अब बहुत लोकप्रिय है, वास्तव में, एथेरियम डेवलपर्स की संख्या अभी भी सोलाना से कहीं अधिक है।
कुछ खास सड़क स्थितियों में, एक शीर्ष-स्तरीय रेसिंग कार संशोधित कार जितनी तेज़ नहीं चल सकती। रस्ट एक शीर्ष-स्तरीय रेसिंग कार की तरह है, जो सोलाना के प्रदर्शन और सुरक्षा की प्रभावी रूप से गारंटी देता है। हालाँकि, इसे ऑन-चेन प्रोग्राम डेवलपमेंट के लिए डिज़ाइन नहीं किया गया है, जो ड्राइविंग (विकास) को और अधिक कठिन बनाता है। रस्ट पर आधारित एक सार्वजनिक श्रृंखला का उपयोग करना और ऑन-चेन विकास के लिए भाषा को अनुकूलित करना रेसिंग कार को सड़क की स्थितियों के लिए अधिक अनुकूल बनाने के लिए संशोधित करने के बराबर है। इस संबंध में सोलाना नुकसान में है।
संक्षेप
सोलाना का स्मार्ट कॉन्ट्रैक्ट प्रोग्रामिंग मॉडल अभिनव है। यह एक स्टेटलेस स्मार्ट कॉन्ट्रैक्ट डेवलपमेंट विधि प्रदान करता है, मुख्य प्रोग्रामिंग भाषा के रूप में रस्ट का उपयोग करता है, और एक आर्किटेक्चर जो तर्क को राज्य से अलग करता है, डेवलपर्स को स्मार्ट कॉन्ट्रैक्ट बनाने और तैनात करने के लिए एक शक्तिशाली वातावरण प्रदान करता है, सुरक्षा और प्रदर्शन सुनिश्चित करता है, लेकिन विकास मुश्किल है। सोलाना उच्च थ्रूपुट, कम लागत और स्केलेबिलिटी पर ध्यान केंद्रित करता है, और अभी भी उच्च-प्रदर्शन dApps बनाने के इच्छुक डेवलपर्स के लिए एक आदर्श विकल्प है।
संदर्भ लिंक
https://solana.com/docs
https://ethereum.org/en/developers/docs
https://www.anchor-lang.com/
यह लेख इंटरनेट से लिया गया है: सोलाना के प्रोग्रामिंग मॉडल का संक्षिप्त विवरण: ETH से क्या अंतर है?
मूल लेखक: @Web3 मारियो परिचय: कल, मुझे गलती से एक दोस्त से पता चला कि उसने बीटीसी शिलालेख के क्षेत्र में निवेश पर काफी रिटर्न प्राप्त किया था, जिसने लेखक की शून्य में कदम रखने की मानसिकता को गहराई से जगाया। मैं लगातार दो दिनों तक चिंतित रहा, जो वास्तव में शर्मनाक था। यह याद करते हुए कि ऑर्डिनल्स तकनीकी वास्तुकला अभी पहले ही जारी की गई थी, लेखक ने संबंधित दस्तावेजों का अध्ययन किया, लेकिन एक डेवलपर के रूप में, मैं इस तकनीकी पथ से काफी असंतुष्ट था। उस समय, मैंने फैसला किया कि यह केवल एन्क्रिप्शन तकनीक का उलटा था, क्योंकि इसकी डिजाइन अवधारणा एक दूर के altcoin प्रोजेक्ट कलर कॉइन के समान लगती थी, अर्थात, कुछ स्वतंत्र टोकन जारी करने के लिए बीटीसी की तकनीकी वास्तुकला का उपयोग कैसे करें, लेकिन अंतर यह है कि ऑर्डिनल्स ने नहीं किया ...