TON की तकनीकी विशेषताओं और स्मार्ट अनुबंध विकास प्रतिमान का विस्तृत विवरण
मूल लेखक: @Web3 मारियो
परिचय: TON पारिस्थितिकी तंत्र में सबसे बड़े गेम Notcoin के Binance पर लॉन्च होने और पूरी तरह से प्रसारित टोकन आर्थिक मॉडल के कारण होने वाले विशाल धन प्रभाव के साथ, TON ने थोड़े समय में बहुत ध्यान आकर्षित किया है। एक दोस्त के साथ बातचीत करने के बाद, मुझे पता चला कि TON की तकनीकी सीमा अपेक्षाकृत अधिक है, और DApp विकास प्रतिमान मुख्यधारा के सार्वजनिक श्रृंखला प्रोटोकॉल से बहुत अलग है। इसलिए, मैंने संबंधित विषयों का गहराई से अध्ययन करने के लिए कुछ समय बिताया, और मेरे पास आपके साथ साझा करने के लिए कुछ अनुभव हैं। संक्षेप में, TON की मुख्य डिजाइन अवधारणा पारंपरिक ब्लॉकचेन प्रोटोकॉल को नीचे से ऊपर की ओर फिर से बनाना है, और इंटरऑपरेबिलिटी को छोड़ने की कीमत पर उच्च संगामिति और उच्च मापनीयता की अंतिम खोज को प्राप्त करना है।
TON की मुख्य डिजाइन अवधारणा - उच्च समवर्तीता और उच्च मापनीयता
यह कहा जा सकता है कि TON में सभी जटिल प्रौद्योगिकी चयन का उद्देश्य उच्च समवर्तीता और उच्च मापनीयता की खोज से आता है। बेशक, इसके जन्म की पृष्ठभूमि से इसे समझना हमारे लिए मुश्किल नहीं है। TON, या ओपन नेटवर्क, एक विकेन्द्रीकृत कंप्यूटिंग नेटवर्क है जिसमें L1 ब्लॉकचेन और कई घटक शामिल हैं। TON को मूल रूप से टेलीग्राम के संस्थापक निकोलाई डुरोव और उनकी टीम द्वारा विकसित किया गया था, और अब इसे दुनिया भर के स्वतंत्र योगदानकर्ताओं के समुदाय द्वारा समर्थित और बनाए रखा जाता है। इसका जन्म 2017 में हुआ, जब टेलीग्राम टीम ने अपने लिए ब्लॉकचेन समाधान तलाशना शुरू किया। चूंकि उस समय कोई मौजूदा L1 ब्लॉकचेन नहीं था जो टेलीग्राम के नौ अंकों के उपयोगकर्ता आधार का समर्थन कर सके, इसलिए उन्होंने अपना खुद का ब्लॉकचेन डिजाइन करने का फैसला किया, जिसे उस समय टेलीग्राम ओपन नेटवर्क कहा जाता था। समय 2018 आया। TON को साकार करने के लिए आवश्यक संसाधनों को प्राप्त करने के लिए, टेलीग्राम ने 2018 की पहली तिमाही में ग्राम टोकन (बाद में इसका नाम बदलकर टोनकॉइन कर दिया गया) की बिक्री शुरू की। 2020 में, नियामक मुद्दों के कारण, टेलीग्राम टीम TON परियोजना से हट गई। इसके बाद, ओपन सोर्स डेवलपर्स और टेलीग्राम प्रतियोगिता विजेताओं के एक छोटे समूह ने TON कोडबेस को अपने हाथ में ले लिया, परियोजना का नाम बदलकर द ओपन नेटवर्क रख दिया, और मूल TON श्वेत पत्र में उल्लिखित सिद्धांतों का पालन करते हुए आज भी ब्लॉकचेन का सक्रिय रूप से विकास जारी रखा है।
चूंकि डिजाइन का लक्ष्य टेलीग्राम के लिए एक विकेंद्रीकृत निष्पादन वातावरण होना है, इसलिए यह स्वाभाविक रूप से दो समस्याओं का सामना करता है: उच्च समवर्ती अनुरोध और विशाल डेटा। जैसा कि हम जानते हैं, प्रौद्योगिकी के विकास के साथ, सोलाना, जो उच्चतम टीपीएस होने का दावा करता है, में केवल 65,000 का मापा अधिकतम टीपीएस है, जो स्पष्ट रूप से टेलीग्राम पारिस्थितिकी तंत्र का समर्थन करने के लिए पर्याप्त नहीं है जिसके लिए लाखों टीपीएस की आवश्यकता होती है। उसी समय, टेलीग्राम के बड़े पैमाने पर अनुप्रयोग के साथ, इसके द्वारा उत्पन्न डेटा की मात्रा पहले ही आसमान छू चुकी है, और एक अत्यंत निरर्थक वितरित प्रणाली के रूप में, ब्लॉकचेन को नेटवर्क में प्रत्येक नोड को डेटा की एक पूरी प्रतिलिपि सहेजने की आवश्यकता होती है, जो अवास्तविक भी है।
इसलिए, उपरोक्त दो समस्याओं को हल करने के लिए, TON ने मुख्यधारा ब्लॉकचेन प्रोटोकॉल में दो अनुकूलन किए हैं:
-
सिस्टम को डिजाइन करने के लिए अनंत शार्डिंग प्रतिमान को अपनाने से, डेटा अतिरेक की समस्या हल हो जाती है, ताकि यह प्रदर्शन की अड़चनों को कम करते हुए बड़े डेटा को ले जा सके;
-
एक्टर मॉडल पर आधारित पूरी तरह से समानांतर निष्पादन वातावरण को पेश करके, नेटवर्क टीपीएस में काफी सुधार हुआ है;
ब्लॉकचेन श्रृंखला बनें - असीमित शार्डिंग क्षमताओं के माध्यम से, प्रत्येक खाते के पास एक समर्पित खाता श्रृंखला होती है
हम जानते हैं कि अधिकांश ब्लॉकचेन प्रोटोकॉल के लिए प्रदर्शन में सुधार और लागत को कम करने के लिए शार्डिंग मुख्यधारा का समाधान बन गया है, और TON ने इसे चरम पर ले लिया है और एक अनंत शार्डिंग प्रतिमान प्रस्तावित किया है, जिसका अर्थ है कि ब्लॉकचेन को नेटवर्क लोड के अनुसार शार्ड की संख्या को गतिशील रूप से बढ़ाने या घटाने की अनुमति है। यह प्रतिमान TON को उच्च प्रदर्शन बनाए रखते हुए बड़े पैमाने पर लेनदेन और स्मार्ट अनुबंध संचालन को संभालने में सक्षम बनाता है। सिद्धांत रूप में, TON प्रत्येक खाते के लिए एक विशेष खाता श्रृंखला स्थापित कर सकता है और कुछ नियमों के माध्यम से इन श्रृंखलाओं के बीच स्थिरता सुनिश्चित कर सकता है।
संक्षेप में कहें तो, TON में श्रृंखला संरचना की चार परतें हैं:
-
खाता श्रृंखला: श्रृंखला की यह परत एक निश्चित खाते से संबंधित लेनदेन की एक श्रृंखला का प्रतिनिधित्व करती है। लेन-देन एक श्रृंखला संरचना क्यों बना सकते हैं इसका कारण यह है कि एक राज्य मशीन के लिए, जब तक निष्पादन नियम सुसंगत हैं, राज्य मशीन निर्देशों के समान क्रम प्राप्त करने के बाद समान परिणाम प्राप्त करेगी। इसलिए, सभी ब्लॉकचेन वितरित प्रणालियों को एक श्रृंखला में लेनदेन को क्रमबद्ध करने की आवश्यकता होती है, और TON कोई अपवाद नहीं है। खाता श्रृंखला TON नेटवर्क में सबसे बुनियादी घटक इकाई है। आमतौर पर, खाता श्रृंखला एक आभासी अवधारणा है, और यह संभावना नहीं है कि एक स्वतंत्र खाता श्रृंखला वास्तव में मौजूद होगी।
-
शार्ड चेन: ज़्यादातर संदर्भों में, शार्ड चेन TON की वास्तविक घटक इकाई है। तथाकथित शार्ड चेन अकाउंट चेन का एक संग्रह है।
-
वर्कचेन: इसे कस्टम नियमों के साथ शार्ड चेन का एक सेट भी कहा जा सकता है, जैसे कि EVM-आधारित वर्कचेन बनाना और उस पर सॉलिडिटी स्मार्ट कॉन्ट्रैक्ट चलाना। सिद्धांत रूप में, समुदाय में हर कोई अपना खुद का वर्कचेन बना सकता है। वास्तव में, इसे बनाना एक जटिल कार्य है, और इससे पहले आपको इसे बनाने के लिए (महंगा) शुल्क देना होगा और अपने वर्कचेन के निर्माण को मंजूरी देने के लिए सत्यापनकर्ताओं के 2/3 वोट प्राप्त करने होंगे।
-
मास्टर चेन: अंत में, TON में एक विशेष चेन होती है जिसे मास्टर चेन कहा जाता है, जो सभी शार्ड चेन को अंतिम रूप देने के लिए जिम्मेदार होती है। एक बार जब शार्ड चेन ब्लॉक का हैश मान मास्टर चेन ब्लॉक में मर्ज हो जाता है, तो शार्ड चेन ब्लॉक और उसके सभी पैरेंट ब्लॉक को अंतिम माना जाता है, जिसका अर्थ है कि उन्हें निश्चित और अपरिवर्तनीय सामग्री माना जा सकता है और सभी शार्ड चेन के बाद के ब्लॉक द्वारा संदर्भित किया जा सकता है।
इस प्रतिमान को अपनाने से, TON नेटवर्क की निम्नलिखित तीन विशेषताएं हैं:
-
डायनेमिक शार्डिंग: TON लोड में होने वाले बदलावों के अनुकूल होने के लिए शार्ड चेन को स्वचालित रूप से विभाजित और मर्ज कर सकता है। इसका मतलब है कि नए ब्लॉक हमेशा जल्दी से उत्पन्न होते हैं और लेन-देन में लंबा इंतज़ार नहीं करना पड़ता है।
-
अत्यधिक स्केलेबल: अनंत शार्डिंग प्रतिमान के माध्यम से, TON लगभग असीमित संख्या में शार्ड्स का समर्थन करने में सक्षम है, सैद्धांतिक रूप से 2 की घात 60 कार्यशील श्रृंखलाओं तक।
-
अनुकूलनशीलता: जब नेटवर्क के किसी हिस्से पर लोड बढ़ता है, तो उस हिस्से को बढ़े हुए लेन-देन की मात्रा को संभालने के लिए अधिक शार्ड में विभाजित किया जा सकता है। इसके विपरीत, जब लोड कम होता है, तो दक्षता में सुधार के लिए शार्ड को मर्ज किया जा सकता है।
फिर इस तरह के मल्टी-चेन सिस्टम को सबसे पहले क्रॉस-चेन संचार की समस्या का सामना करना पड़ता है, खासकर असीमित शार्डिंग की क्षमता के कारण। जब नेटवर्क में शार्ड की संख्या एक निश्चित स्तर तक पहुँच जाती है, तो चेन के बीच सूचना रूटिंग एक मुश्किल काम बन जाएगा। कल्पना करें कि नेटवर्क में 4 नोड हैं, प्रत्येक नोड एक स्वतंत्र कार्य श्रृंखला को बनाए रखने के लिए जिम्मेदार है, जहां लिंक संबंध का मतलब है कि अपने स्वयं के कार्य श्रृंखला में लेनदेन सॉर्टिंग कार्य के लिए जिम्मेदार होने के अलावा, नोड को लक्ष्य श्रृंखला में राज्य परिवर्तनों की निगरानी और प्रक्रिया करने की भी आवश्यकता है। TON में, यह आउटपुट कतार में संदेशों की निगरानी करके प्राप्त किया जाता है।
मान लें कि कार्य शृंखला 1 में खाता A, कार्य शृंखला 3 में खाता C को संदेश भेजना चाहता है। तब संदेश रूटिंग समस्या को डिज़ाइन करने की आवश्यकता होती है। इस उदाहरण में, दो रूटिंग पथ हैं, कार्य शृंखला 1 -> कार्य शृंखला 2 -> कार्य शृंखला 3, और कार्य शृंखला 1 -> कार्य शृंखला 4 -> कार्य शृंखला 3।
जब अधिक जटिल परिस्थितियों का सामना करना पड़ता है, तो संदेश संचार को जल्दी से पूरा करने के लिए एक कुशल और कम लागत वाली रूटिंग एल्गोरिथ्म की आवश्यकता होती है। TON ने क्रॉस-चेन संदेश संचार रूटिंग डिस्कवरी को प्राप्त करने के लिए तथाकथित हाइपरक्यूब रूटिंग एल्गोरिथ्म को चुना। तथाकथित हाइपरक्यूब संरचना एक विशेष नेटवर्क टोपोलॉजी को संदर्भित करती है। एक n-आयामी हाइपरक्यूब 2^n कोने से बना होता है, जिनमें से प्रत्येक को n-बिट बाइनरी नंबर द्वारा विशिष्ट रूप से पहचाना जा सकता है। इस संरचना में, कोई भी दो कोने आसन्न होते हैं यदि वे बाइनरी प्रतिनिधित्व में केवल एक बिट से भिन्न होते हैं। उदाहरण के लिए, एक 3-आयामी हाइपरक्यूब में, शीर्ष 000 और शीर्ष 001 आसन्न होते हैं क्योंकि वे केवल अंतिम बिट में भिन्न होते हैं। उपरोक्त उदाहरण एक 2-आयामी हाइपरक्यूब है।
हाइपरक्यूब रूटिंग प्रोटोकॉल में, स्रोत श्रृंखला से लक्ष्य श्रृंखला तक संदेशों को रूट करने की प्रक्रिया स्रोत और लक्ष्य श्रृंखला पतों के बाइनरी प्रतिनिधित्व की तुलना करके की जाती है। रूटिंग एल्गोरिदम दो पतों (यानी बाइनरी प्रतिनिधित्व में विभिन्न बिट्स की संख्या) के बीच न्यूनतम दूरी पाता है और सूचना को आसन्न श्रृंखलाओं के माध्यम से चरण दर चरण तब तक अग्रेषित करता है जब तक कि यह लक्ष्य श्रृंखला तक नहीं पहुंच जाता। यह विधि सुनिश्चित करती है कि डेटा पैकेट सबसे छोटे पथ के साथ प्रेषित किए जाते हैं, जिससे नेटवर्क की संचार दक्षता में सुधार होता है।
बेशक, इस प्रक्रिया को सरल बनाने के लिए, TON ने एक आशावादी तकनीकी समाधान भी प्रस्तावित किया। जब कोई उपयोगकर्ता रूटिंग पथ का वैध प्रमाण प्रदान कर सकता है, जो आमतौर पर एक मर्कल ट्राई रूट होता है, तो नोड सीधे उपयोगकर्ता द्वारा प्रस्तुत संदेश की विश्वसनीयता को स्वीकार कर सकता है। इसे तत्काल हाइपरक्यूब रूटिंग भी कहा जाता है।
इसलिए, हम देख सकते हैं कि TON में पते अन्य ब्लॉकचेन प्रोटोकॉल से काफी अलग हैं। अधिकांश अन्य मुख्यधारा ब्लॉकचेन प्रोटोकॉल पते के रूप में एलिप्टिक एन्क्रिप्शन एल्गोरिदम द्वारा उत्पन्न सार्वजनिक-निजी कुंजी में सार्वजनिक कुंजी के अनुरूप हैश का उपयोग करते हैं, क्योंकि पता केवल विशिष्टता के लिए उपयोग किया जाता है और रूटिंग एड्रेसिंग के कार्य को करने की आवश्यकता नहीं होती है। TON में पता दो भागों (वर्कचेन_आईडी, अकाउंट_आईडी) से बना होता है, जहाँ वर्कचेन_आईडी हाइपरक्यूब रूटिंग एल्गोरिदम पते के अनुसार एन्कोड किया जाता है, जिसे यहाँ विस्तृत नहीं किया जाएगा।
एक और बिंदु है जिस पर संदेह करना आसान है। आपने देखा होगा कि मुख्य श्रृंखला और प्रत्येक कार्य श्रृंखला जुड़ी हुई है। फिर सभी क्रॉस-चेन जानकारी मुख्य श्रृंखला के माध्यम से रिले की जा सकती है, ठीक कॉसमॉस की तरह। TON की डिज़ाइन अवधारणा में, मुख्य श्रृंखला का उपयोग केवल सबसे महत्वपूर्ण कार्यों को संभालने के लिए किया जाता है, अर्थात, कई कार्य श्रृंखलाओं की अंतिमता को बनाए रखने के लिए। मुख्य श्रृंखला के माध्यम से संदेशों को रूट करना असंभव नहीं है, लेकिन परिणामस्वरूप हैंडलिंग शुल्क बहुत महंगा होगा।
अंत में, मैं संक्षेप में इसके सर्वसम्मति एल्गोरिथ्म का उल्लेख करूँगा। TON BFT+PoS विधि का उपयोग करता है, अर्थात, किसी भी स्टेकर को ब्लॉक पैकेजिंग में भाग लेने का अवसर मिलता है। TON का चुनाव शासन अनुबंध नियमित अंतराल पर सभी स्टेकर से बेतरतीब ढंग से पैकिंग सत्यापनकर्ता क्लस्टर का चयन करेगा। चयनित नोड्स, जिन्हें सत्यापनकर्ता कहा जाता है, BFT एल्गोरिथ्म के माध्यम से ब्लॉक पैक करेंगे। यदि वे गलत जानकारी पैक करते हैं या बुरा करते हैं, तो उनके स्टेक किए गए टोकन जब्त कर लिए जाएँगे, अन्यथा उन्हें ब्लॉक पुरस्कार प्राप्त होंगे। यह मूल रूप से एक सामान्य विकल्प है, इसलिए मैं इसे यहाँ पेश नहीं करूँगा।
अभिनेता-आधारित स्मार्ट अनुबंध और पूरी तरह से समानांतर निष्पादन वातावरण
TON और मुख्यधारा ब्लॉकचेन प्रोटोकॉल के बीच एक और अंतर इसका स्मार्ट कॉन्ट्रैक्ट निष्पादन वातावरण है। मुख्यधारा ब्लॉकचेन प्रोटोकॉल की TPS सीमाओं को तोड़ने के लिए, TON ने एक बॉटम-अप डिज़ाइन दृष्टिकोण अपनाया और एक्टर मॉडल का उपयोग करके स्मार्ट कॉन्ट्रैक्ट और उनके निष्पादन विधियों का पुनर्निर्माण किया, जिससे उन्हें पूर्ण समानांतर निष्पादन क्षमताएँ प्राप्त करने में सक्षम बनाया गया।
हम जानते हैं कि अधिकांश मुख्यधारा ब्लॉकचेन प्रोटोकॉल एकल-थ्रेडेड सीरियल निष्पादन वातावरण का उपयोग करते हैं। उदाहरण के तौर पर एथेरियम को लेते हुए, इसका निष्पादन वातावरण EVM एक स्टेट मशीन है जो इनपुट के रूप में लेनदेन लेता है। जब ब्लॉक-उत्पादक नोड पैकेजिंग ब्लॉक द्वारा लेनदेन की छंटाई पूरी कर लेता है, तो यह इस क्रम में EVM के माध्यम से लेनदेन निष्पादित करेगा। पूरी प्रक्रिया पूरी तरह से सीरियल और सिंगल-थ्रेडेड है, यानी एक बार में केवल एक ही लेनदेन निष्पादित किया जा सकता है। इसका लाभ यह है कि जब तक लेनदेन क्रम की पुष्टि की जाती है, तब तक निष्पादन परिणाम एक विस्तृत वितरित क्लस्टर में सुसंगत होता है। उसी समय, चूंकि एक ही समय में केवल एक लेनदेन को क्रमिक रूप से निष्पादित किया जाता है, इसका मतलब है कि निष्पादन प्रक्रिया के दौरान, अन्य लेनदेन के लिए एक्सेस किए जाने वाले स्टेट डेटा को संशोधित करना असंभव है, इस प्रकार स्मार्ट अनुबंधों के बीच अंतर-संचालन प्राप्त होता है। उदाहरण के लिए, हम Uniswap के माध्यम से ETH खरीदने के लिए USDT का उपयोग करते हैं। जब लेनदेन निष्पादित होता है, तो लेनदेन जोड़ी में LP का वितरण एक निश्चित मूल्य होता है, इसलिए संबंधित परिणाम कुछ गणितीय मॉडल के माध्यम से प्राप्त किए जा सकते हैं। हालांकि, यदि ऐसा नहीं है, तो बॉन्डिंग वक्र गणना को निष्पादित करते समय, अन्य एलपी नई तरलता जोड़ते हैं, तो गणना परिणाम एक पुराना परिणाम होगा, जो स्पष्ट रूप से अस्वीकार्य है।
हालाँकि, इस आर्किटेक्चर में स्पष्ट सीमाएँ भी हैं, यानी TPS अड़चन, और यह अड़चन वर्तमान मल्टी-कोर प्रोसेसर के तहत बहुत पुरानी लगती है। यह कुछ पुराने कंप्यूटर गेम खेलने के लिए नवीनतम पीसी का उपयोग करने जैसा है, जैसे कि रेड अलर्ट। जब लड़ाकू इकाइयों की संख्या एक निश्चित स्तर तक पहुँच जाती है, तब भी आप पाएंगे कि यह अटका हुआ है। यह सॉफ्टवेयर आर्किटेक्चर की एक समस्या है।
आप सुन सकते हैं कि कुछ प्रोटोकॉल ने पहले ही इस मुद्दे पर ध्यान दिया है और अपने स्वयं के समानांतर समाधान प्रस्तावित किए हैं। उदाहरण के लिए, सोलाना, जिसे वर्तमान में सबसे अधिक TPS के लिए जाना जाता है, में समानांतर रूप से निष्पादित करने की क्षमता भी है। हालाँकि, इसकी डिज़ाइन अवधारणा TON से अलग है। सोलाना में, मुख्य विचार निष्पादन निर्भरता के अनुसार सभी लेन-देन को कई समूहों में विभाजित करना है, और विभिन्न समूहों के बीच कोई राज्य डेटा साझा नहीं किया जाता है। यही है, कोई समान निर्भरता नहीं है, इसलिए विभिन्न समूहों में लेनदेन को संघर्षों की चिंता किए बिना समानांतर रूप से निष्पादित किया जा सकता है। एक ही समूह में लेनदेन के लिए, निष्पादन के लिए अभी भी पारंपरिक धारावाहिक विधि का उपयोग किया जाता है।
हालाँकि, TON में, सीरियल निष्पादन वास्तुकला को पूरी तरह से त्याग दिया गया है, और समानांतरता के लिए डिज़ाइन किए गए एक विकास प्रतिमान, एक्टर मॉडल को निष्पादन वातावरण के पुनर्निर्माण के लिए अपनाया गया है। तथाकथित एक्टर मॉडल को पहली बार 1973 में कार्ल हेविट द्वारा प्रस्तावित किया गया था, जिसका उद्देश्य संदेश पासिंग के माध्यम से पारंपरिक समवर्ती कार्यक्रमों में साझा स्थिति की जटिलता को हल करना था। प्रत्येक एक्टर की अपनी निजी स्थिति और व्यवहार होता है, और वह अन्य एक्टर्स के साथ किसी भी स्थिति की जानकारी साझा नहीं करता है। एक्टर मॉडल समवर्ती कंप्यूटिंग के लिए एक कंप्यूटिंग मॉडल है जो संदेश पासिंग के माध्यम से समानांतर कंप्यूटिंग को लागू करता है। इस मॉडल में, एक्टर काम की मूल इकाई है, जो प्राप्त संदेशों को संसाधित कर सकता है, नए एक्टर्स बना सकता है, अधिक संदेश भेज सकता है, और यह तय कर सकता है कि अगले संदेश का जवाब कैसे दिया जाए। एक्टर मॉडल में निम्नलिखित विशेषताएँ होनी चाहिए:
-
एनकैप्सुलेशन और स्वतंत्रता: प्रत्येक एक्टर संदेशों के प्रसंस्करण में पूरी तरह से स्वतंत्र है और एक दूसरे के साथ हस्तक्षेप किए बिना समानांतर रूप से संदेशों को संसाधित कर सकता है।
-
संदेश भेजना: अभिनेता केवल संदेश भेजकर और प्राप्त करके बातचीत करते हैं, और संदेश भेजना अतुल्यकालिक होता है।
-
गतिशील संरचना: एक्टर्स रनटाइम पर अधिक एक्टर्स बना सकते हैं। यह गतिशीलता एक्टर मॉडल को आवश्यकतानुसार सिस्टम का विस्तार करने में सक्षम बनाती है।
TON इस आर्किटेक्चर का उपयोग स्मार्ट कॉन्ट्रैक्ट मॉडल को डिज़ाइन करने के लिए करता है, जिसका अर्थ है कि TON में, प्रत्येक स्मार्ट कॉन्ट्रैक्ट एक एक्टर मॉडल है जिसमें पूरी तरह से स्वतंत्र स्टोरेज स्पेस है। क्योंकि यह किसी बाहरी डेटा पर निर्भर नहीं करता है। इसके अलावा, एक ही स्मार्ट कॉन्ट्रैक्ट के लिए कॉल अभी भी प्राप्त कतार में संदेशों के क्रम के अनुसार निष्पादित किए जाते हैं, इसलिए TON में लेनदेन को संघर्षों की चिंता किए बिना समानांतर रूप से कुशलतापूर्वक निष्पादित किया जा सकता है।
हालाँकि, यह डिज़ाइन कुछ नए प्रभाव भी लाता है। DApp डेवलपर्स के लिए, उनके अभ्यस्त विकास प्रतिमान टूट जाएंगे, इस प्रकार:
1. स्मार्ट अनुबंधों के बीच अतुल्यकालिक कॉल: TON के स्मार्ट कॉन्ट्रैक्ट के भीतर बाहरी कॉन्ट्रैक्ट को कॉल करना या बाहरी कॉन्ट्रैक्ट डेटा को एटोमिक रूप से एक्सेस करना असंभव है। हम जानते हैं कि सॉलिडिटी में, कॉन्ट्रैक्ट A के फ़ंक्शन 1 से कॉन्ट्रैक्ट B के फ़ंक्शन 2 को कॉल करना, या कॉन्ट्रैक्ट C के रीड-ओनली फ़ंक्शन 3 के माध्यम से कुछ स्टेट डेटा को एक्सेस करना, पूरी प्रक्रिया एटोमिक होती है और एक ट्रांजेक्शन में निष्पादित होती है, जो एक बहुत ही आसान बात है। हालाँकि, TON में, यह संभव नहीं होगा। बाहरी स्मार्ट कॉन्ट्रैक्ट के साथ कोई भी इंटरैक्शन नए ट्रांजेक्शन को पैकेज करके एसिंक्रोनस रूप से निष्पादित किया जाएगा। स्मार्ट कॉन्ट्रैक्ट द्वारा शुरू किए गए ऐसे ट्रांजेक्शन को आंतरिक संदेश भी कहा जाता है। और निष्पादन परिणाम प्राप्त करने के लिए निष्पादन प्रक्रिया को अवरुद्ध नहीं किया जा सकता है।
उदाहरण के लिए, यदि हम एक DEX विकसित करते हैं और EVM में सामान्य प्रतिमान को अपनाते हैं, तो आमतौर पर लेनदेन रूटिंग को प्रबंधित करने के लिए एक एकीकृत राउटर अनुबंध होगा, और प्रत्येक पूल एक निश्चित ट्रेडिंग जोड़ी से संबंधित LP डेटा को अलग से प्रबंधित करेगा। मान लीजिए कि वर्तमान में दो पूल हैं, USDT-DAI और DAI-ETH। जब कोई उपयोगकर्ता USDT के माध्यम से सीधे ETH खरीदना चाहता है, तो वह परमाणु लेनदेन को पूरा करने के लिए राउटर अनुबंध के माध्यम से एक लेनदेन में क्रमिक रूप से इन दो पूलों का अनुरोध कर सकता है। हालांकि, TON में इसे हासिल करना इतना आसान नहीं है, और हमें एक नए विकास प्रतिमान के बारे में सोचने की जरूरत है। यदि हम अभी भी इस प्रतिमान का पुन: उपयोग करते हैं, तो सूचना प्रवाह इस तरह हो सकता है: इस अनुरोध के साथ उपयोगकर्ता द्वारा शुरू किया गया एक बाहरी संदेश और तीन आंतरिक संदेश होंगे (ध्यान दें कि इसका उपयोग अंतर को स्पष्ट करने के लिए किया जाता है। वास्तविक विकास में, यहां तक कि ERC 20 प्रतिमान को भी फिर से डिजाइन करने की आवश्यकता है)।
2. अनुबंधों के बीच कॉल करते समय निष्पादन त्रुटियों के प्रसंस्करण प्रवाह पर सावधानीपूर्वक विचार करना और प्रत्येक अंतर-अनुबंध कॉल के लिए संबंधित बाउंस फ़ंक्शन को डिज़ाइन करना आवश्यक है। हम जानते हैं कि मुख्यधारा के ईवीएम में, जब किसी लेनदेन के निष्पादन के दौरान कोई समस्या होती है, तो पूरा लेनदेन वापस ले लिया जाएगा, अर्थात निष्पादन की शुरुआत में स्थिति पर रीसेट कर दिया जाएगा। सीरियल सिंगल-थ्रेडेड मॉडल में इसे समझना आसान है। हालाँकि, TON में, चूँकि अंतर-अनुबंध कॉल को अतुल्यकालिक रूप से निष्पादित किया जाता है, भले ही बाद के लिंक में कोई त्रुटि हो, क्योंकि पहले सफलतापूर्वक निष्पादित लेनदेन निष्पादित और पुष्टि किए गए हैं, इससे समस्याएँ हो सकती हैं। इसलिए, TON में एक विशेष संदेश प्रकार सेट किया जाता है, जिसे बाउंस संदेश कहा जाता है, अर्थात, जब आंतरिक संदेश द्वारा ट्रिगर की गई बाद की निष्पादन प्रक्रिया में कोई त्रुटि होती है, तो ट्रिगर किया गया अनुबंध अनुबंध द्वारा आरक्षित बाउंस फ़ंक्शन को ट्रिगर करके अनुबंध में कुछ स्थितियों के रीसेट को ट्रिगर कर सकता है।
3. कुछ जटिल मामलों में, पहले प्राप्त लेनदेन पहले निष्पादित नहीं किया जा सकता है, इसलिए यह समय संबंध पूर्व निर्धारित नहीं किया जा सकता है। एसिंक्रोनस और समानांतर स्मार्ट कॉन्ट्रैक्ट कॉल की ऐसी प्रणाली में, प्रसंस्करण संचालन के क्रम को परिभाषित करना मुश्किल हो सकता है। यही कारण है कि TON में प्रत्येक संदेश का अपना तार्किक समय लैम्पॉर्ट समय (जिसे आगे lt के रूप में संदर्भित किया जाता है) होता है। इसका उपयोग यह समझने के लिए किया जाता है कि किस घटना ने दूसरे को ट्रिगर किया और सत्यापनकर्ता को पहले क्या संसाधित करने की आवश्यकता है। एक सरल मॉडल के लिए, पहले प्राप्त लेनदेन को पहले निष्पादित किया जाना चाहिए।
इस मॉडल में, A और B क्रमशः दो स्मार्ट अनुबंधों का प्रतिनिधित्व करते हैं, और एक समय संबंध है कि यदि msg 1 _lt
हालाँकि, अधिक जटिल मामलों में, यह नियम टूट जाएगा। आधिकारिक दस्तावेज़ में ऐसा एक उदाहरण है। मान लीजिए हमारे पास तीन अनुबंध A, B और C हैं। एक लेन-देन में, A दो आंतरिक संदेश संदेश 1 और संदेश 2 भेजता है: एक B को और दूसरा C को। हालाँकि वे सटीक क्रम में बनाए गए हैं (पहले संदेश 1, फिर संदेश 2), हम यह सुनिश्चित नहीं कर सकते हैं कि संदेश 1 को संदेश 2 से पहले संसाधित किया जाएगा। ऐसा इसलिए है क्योंकि A से B और A से C तक के मार्ग लंबाई और सत्यापनकर्ता सेट में भिन्न हो सकते हैं। यदि ये अनुबंध अलग-अलग शार्ड चेन में हैं, तो संदेशों में से एक को लक्ष्य अनुबंध तक पहुँचने में कई ब्लॉक लग सकते हैं। यही है, हमारे पास दो संभावित लेनदेन पथ हैं, जैसा कि चित्र में दिखाया गया है।
4. TON में, इसके स्मार्ट कॉन्ट्रैक्ट्स का स्थायी भंडारण डेटा संरचना के रूप में सेल को इकाई के रूप में लेकर एक निर्देशित अचक्रीय ग्राफ का उपयोग करता है डेटा को एन्कोडिंग नियमों के अनुसार एक सेल में कॉम्पैक्ट रूप से संपीड़ित किया जाएगा, और एक निर्देशित एसाइक्लिक ग्राफ के तरीके से नीचे की ओर बढ़ाया जाएगा। यह EVM में हैशमैप पर आधारित स्टेट डेटा के संरचनात्मक संगठन से अलग है। विभिन्न डेटा अनुरोध एल्गोरिदम के कारण, TON अलग-अलग गहराई पर डेटा प्रोसेसिंग के लिए अलग-अलग गैस मूल्य निर्धारित करता है। सेल डेटा प्रोसेसिंग जितनी गहरी होगी, उतनी ही अधिक गैस की आवश्यकता होगी। इसलिए, TON में DOS हमले का एक प्रतिमान है, अर्थात, कुछ दुर्भावनापूर्ण उपयोगकर्ता बड़ी संख्या में स्पैम संदेश भेजकर एक स्मार्ट अनुबंध में सभी उथले सेल पर कब्जा कर लेते हैं, जिसका अर्थ है कि ईमानदार उपयोगकर्ताओं की भंडारण लागत अधिक से अधिक हो जाएगी। EVM में, चूंकि हैशमैप की क्वेरी जटिलता o(1) है, इसलिए वही गैस है और कोई समान समस्या नहीं होगी।
5. कुछ विशेषताएं इतनी विशेष नहीं हैं, जैसे कि भंडारण के लिए किराए का भुगतान करने के लिए स्मार्ट अनुबंधों की आवश्यकता, तथ्य यह है कि स्मार्ट अनुबंध TON में स्वाभाविक रूप से अपग्रेड करने योग्य हैं, और मूल अमूर्त खाता फ़ंक्शन, अर्थात, TON में सभी वॉलेट पते स्मार्ट अनुबंध हैं, लेकिन वे आरंभीकृत नहीं हैं, आदि, जिनके लिए डेवलपर्स को सावधानीपूर्वक ध्यान देने की आवश्यकता है।
उपरोक्त मेरे कुछ अनुभव हैं जो मैंने इस अवधि के दौरान TON से संबंधित तकनीकों को सीखने में प्राप्त किए हैं। मैं उन्हें आपके साथ साझा करना चाहता हूँ। यदि कोई गलती है, तो मुझे आशा है कि आप मुझे सुधार सकते हैं। साथ ही, मेरा मानना है कि टेलीग्राम के विशाल ट्रैफ़िक संसाधनों के साथ, TON पारिस्थितिकी तंत्र निश्चित रूप से Web3 पर कुछ नए एप्लिकेशन लाएगा। TON DApp विकास में रुचि रखने वाले मित्र भी मुझसे संपर्क कर सकते हैं और हमारे साथ चर्चा कर सकते हैं।
X Links: https://x.com/वेब3_mario
टेलीग्राम हैंडल: @MarioChin Web3
यह लेख इंटरनेट से लिया गया है: TON की तकनीकी विशेषताओं और स्मार्ट अनुबंध विकास प्रतिमान का विस्तृत विवरण
संबंधित: आधारित मीम्स और आधारित संस्थान की व्याख्या: बेस पारिस्थितिकी तंत्र का भविष्य कहां है?
मूल स्रोत: जेसी पोलाक संकलित: ओडेली प्लैनेट डेली वेन्सर संपादकों का नोट: 2024 में सबसे हॉट L2 इकोसिस्टम में से एक के रूप में, बेस का उदय सही समय, सही जगह और सही लोगों का परिणाम कहा जा सकता है - इसमें न केवल मेमेकॉइन क्रेज द्वारा लाया गया ईश्वरीय अवसर है, बल्कि OP इकोसिस्टम पर आधारित L2 लो-गैस नेटवर्क और कॉइनबेस द्वारा समर्थित, और प्रोटोकॉल लीडर जेसी पोलाक और इकोसिस्टम बिल्डरों के एक समूह की कड़ी मेहनत भी है। बेस इकोसिस्टम के लिए, जिसका TVL 5.5 बिलियन अमेरिकी डॉलर तक पहुँच गया है, जेसी ने हाल ही में न्यूयॉर्क मेमे हैकथॉन में एक संक्षिप्त समीक्षा और सारांश दिया, और हाल ही में NFT के रूप में ज़ोरा पर सामग्री डाली, और 4,000 से अधिक…