मुख्य आशयावर जा
Change page

इथेरियम अर्काईव्ह नोड

अर्काईव्ह नोड हे सर्व ऐतिहासिक स्थितींचे (states) अर्काईव्ह तयार करण्यासाठी कॉन्फिगर केलेले इथेरियम क्लायंटचे एक उदाहरण आहे. हे काही विशिष्ट वापर प्रकरणांसाठी एक उपयुक्त साधन आहे परंतु पूर्ण नोड चालवण्यापेक्षा हे चालवणे अधिक कठीण असू शकते.

पूर्वअटी

तुम्हाला इथेरियम नोडची संकल्पना, त्याचे आर्किटेक्चर, समक्रमण धोरणे, ते चालवण्याच्या आणि वापरण्याच्या पद्धती समजल्या पाहिजेत.

अर्काईव्ह नोड म्हणजे काय

अर्काईव्ह नोडचे महत्त्व समजून घेण्यासाठी, आपण "स्थिती" ही संकल्पना स्पष्ट करूया. इथेरियमला व्यवहार-आधारित स्थिती मशीन (transaction-based state machine) म्हटले जाऊ शकते. यामध्ये खाती आणि ॲप्लिकेशन्स असतात जे व्यवहार कार्यान्वित करतात ज्यामुळे त्यांची स्थिती बदलते. प्रत्येक खाते आणि कॉन्ट्रॅक्टबद्दल माहिती असलेला जागतिक डेटा स्थिती नावाच्या ट्राय (trie) डेटाबेसमध्ये संग्रहित केला जातो. हे अंमलबजावणी स्तर (EL) क्लायंटद्वारे हाताळले जाते आणि यामध्ये खालील गोष्टींचा समावेश असतो:

  • खात्यातील शिल्लक आणि नॉनसेस (nonces)
  • कॉन्ट्रॅक्ट कोड आणि स्टोरेज
  • एकमताशी संबंधित डेटा, उदा., स्टेकिंग ठेव कॉन्ट्रॅक्ट

नेटवर्कशी संवाद साधण्यासाठी, नवीन ब्लॉक्सची पडताळणी करण्यासाठी आणि ते तयार करण्यासाठी, इथेरियम क्लायंट्सना सर्वात अलीकडील बदलांसह (चेनची टिप) आणि त्यामुळे वर्तमान स्थितीसह अद्ययावत राहावे लागते. पूर्ण नोड म्हणून कॉन्फिगर केलेला अंमलबजावणी स्तर क्लायंट नेटवर्कच्या नवीनतम स्थितीची पडताळणी करतो आणि त्याचे अनुसरण करतो परंतु केवळ मागील काही स्थिती कॅशे (cache) करतो, उदा., मागील 128 ब्लॉक्सशी संबंधित स्थिती, जेणेकरून तो चेन रिऑर्ग्स (reorgs) हाताळू शकेल आणि अलीकडील डेटामध्ये जलद प्रवेश प्रदान करू शकेल. येणाऱ्या व्यवहारांची पडताळणी करण्यासाठी आणि नेटवर्क वापरण्यासाठी सर्व क्लायंट्सना अलीकडील स्थिती आवश्यक असते.

तुम्ही स्थितीची कल्पना दिलेल्या ब्लॉकवरील क्षणिक नेटवर्क स्नॅपशॉट (snapshot) म्हणून आणि अर्काईव्हची कल्पना इतिहासाचा रिप्ले (replay) म्हणून करू शकता.

ऐतिहासिक स्थिती सुरक्षितपणे प्रून (prune) केल्या जाऊ शकतात कारण त्या नेटवर्क चालवण्यासाठी आवश्यक नसतात आणि क्लायंटने सर्व कालबाह्य डेटा ठेवणे निरुपयोगीपणे अनावश्यक ठरेल. काही अलीकडील ब्लॉकच्या आधी अस्तित्वात असलेल्या स्थिती (उदा., हेडच्या 128 ब्लॉक्स आधी) प्रभावीपणे फेकून दिल्या जातात. पूर्ण नोड्स केवळ ऐतिहासिक ब्लॉकचेन डेटा (ब्लॉक्स आणि व्यवहार) आणि अधूनमधून ऐतिहासिक स्नॅपशॉट्स ठेवतात ज्यांचा वापर ते विनंतीनुसार जुन्या स्थिती पुन्हा निर्माण करण्यासाठी करू शकतात. ते EVM मध्ये मागील व्यवहार पुन्हा कार्यान्वित करून असे करतात, जे इच्छित स्थिती जवळच्या स्नॅपशॉटपासून खूप दूर असताना संगणकीयदृष्ट्या मागणी करणारे असू शकते.

तथापि, याचा अर्थ असा आहे की पूर्ण नोडवर ऐतिहासिक स्थितीमध्ये प्रवेश करण्यासाठी खूप संगणकीय शक्ती (computation) खर्च होते. क्लायंटला सर्व मागील व्यवहार कार्यान्वित करावे लागतील आणि जेनेसिसपासून (genesis) एक ऐतिहासिक स्थिती मोजावी लागेल. अर्काईव्ह नोड्स केवळ सर्वात अलीकडील स्थितीच नव्हे तर प्रत्येक ब्लॉकनंतर तयार केलेली प्रत्येक ऐतिहासिक स्थिती संग्रहित करून हे सोडवतात. हे मुळात मोठ्या डिस्क स्पेसच्या आवश्यकतेसह तडजोड (trade-off) करते.

हे लक्षात घेणे महत्त्वाचे आहे की सर्व ऐतिहासिक डेटा ठेवण्यासाठी आणि प्रदान करण्यासाठी नेटवर्क अर्काईव्ह नोड्सवर अवलंबून नाही. वर नमूद केल्याप्रमाणे, सर्व ऐतिहासिक अंतरिम स्थिती पूर्ण नोडवर मिळवता येतात. व्यवहार कोणत्याही पूर्ण नोडद्वारे संग्रहित केले जातात (सध्या 400G पेक्षा कमी) आणि संपूर्ण अर्काईव्ह तयार करण्यासाठी ते पुन्हा प्ले (replay) केले जाऊ शकतात.

वापर प्रकरणे (Use cases)

इथेरियमचा नियमित वापर जसे की व्यवहार पाठवणे, कॉन्ट्रॅक्ट्स तैनात करणे, एकमताची पडताळणी करणे इत्यादींसाठी ऐतिहासिक स्थितींमध्ये प्रवेश करण्याची आवश्यकता नसते. नेटवर्कशी मानक संवादासाठी वापरकर्त्यांना कधीही अर्काईव्ह नोडची आवश्यकता नसते.

स्थिती अर्काईव्हचा मुख्य फायदा म्हणजे ऐतिहासिक स्थितींबद्दलच्या प्रश्नांमध्ये (queries) जलद प्रवेश. उदाहरणार्थ, अर्काईव्ह नोड त्वरित खालीलप्रमाणे परिणाम देईल:

  • ब्लॉक 15537393 वर खाते 0x1337... ची ETH शिल्लक किती होती?
  • ब्लॉक 1920000 वर कॉन्ट्रॅक्ट 0x मधील टोकन 0x ची शिल्लक किती आहे?

वर स्पष्ट केल्याप्रमाणे, पूर्ण नोडला EVM अंमलबजावणीद्वारे हा डेटा व्युत्पन्न करण्याची आवश्यकता असेल ज्यासाठी CPU वापरला जातो आणि वेळ लागतो. अर्काईव्ह नोड्स डिस्कवर त्यांच्यामध्ये प्रवेश करतात आणि त्वरित प्रतिसाद देतात. हे पायाभूत सुविधांच्या काही भागांसाठी एक उपयुक्त वैशिष्ट्य आहे, उदाहरणार्थ:

  • ब्लॉक एक्सप्लोरर्ससारखे सेवा प्रदाते
  • संशोधक
  • सुरक्षा विश्लेषक
  • डॅप (dapp) डेव्हलपर्स
  • ऑडिटिंग आणि अनुपालन (compliance)

विविध विनामूल्य सेवा आहेत ज्या ऐतिहासिक डेटामध्ये प्रवेश करण्याची परवानगी देतात. अर्काईव्ह नोड चालवणे अधिक कठीण असल्याने, हा प्रवेश बहुधा मर्यादित असतो आणि केवळ अधूनमधून प्रवेशासाठी कार्य करतो. जर तुमच्या प्रोजेक्टला ऐतिहासिक डेटामध्ये सतत प्रवेश आवश्यक असेल, तर तुम्ही स्वतः एक चालवण्याचा विचार केला पाहिजे.

अंमलबजावणी आणि वापर

या संदर्भात अर्काईव्ह नोड म्हणजे वापरकर्त्याच्या समोर असलेल्या अंमलबजावणी स्तर क्लायंट्सद्वारे प्रदान केलेला डेटा कारण ते स्थिती डेटाबेस हाताळतात आणि जेसॉन-आरपीसी एंडपॉइंट्स प्रदान करतात. कॉन्फिगरेशन पर्याय, समक्रमण वेळ आणि डेटाबेसचा आकार क्लायंटनुसार बदलू शकतो. तपशीलांसाठी, कृपया तुमच्या क्लायंटने प्रदान केलेल्या दस्तऐवजांचा संदर्भ घ्या.

तुमचा स्वतःचा अर्काईव्ह नोड सुरू करण्यापूर्वी, क्लायंट्समधील फरक आणि विशेषतः विविध हार्डवेअर आवश्यकतांबद्दल जाणून घ्या. बहुतेक क्लायंट्स या वैशिष्ट्यासाठी ऑप्टिमाइझ केलेले नाहीत आणि त्यांच्या अर्काईव्हजना 12TB पेक्षा जास्त जागेची आवश्यकता असते. याउलट, एरिगॉन सारख्या अंमलबजावणी समान डेटा 3TB पेक्षा कमी जागेत संग्रहित करू शकतात ज्यामुळे ते अर्काईव्ह नोड चालवण्याचा सर्वात प्रभावी मार्ग बनतात.

नोड चालवण्याच्या सामान्य शिफारसींव्यतिरिक्त, अर्काईव्ह नोड हार्डवेअर आणि देखभालीवर अधिक मागणी करणारा असू शकतो. एरिगॉनच्या प्रमुख वैशिष्ट्यांचा (opens in a new tab) विचार करता, सर्वात व्यावहारिक दृष्टीकोन म्हणजे एरिगॉन क्लायंट अंमलबजावणी वापरणे.

हार्डवेअर

क्लायंटच्या दस्तऐवजीकरणामध्ये दिलेल्या मोडसाठी हार्डवेअर आवश्यकतांची पडताळणी नेहमी करा. अर्काईव्ह नोड्ससाठी सर्वात मोठी आवश्यकता डिस्क स्पेसची आहे. क्लायंटवर अवलंबून, ते 3TB ते 12TB पर्यंत बदलते. जरी मोठ्या प्रमाणातील डेटासाठी HDD हा एक चांगला उपाय मानला जाऊ शकतो, तरीही त्याचे समक्रमण करण्यासाठी आणि चेनचे हेड सतत अद्यतनित करण्यासाठी SSD ड्राइव्हची आवश्यकता असेल. SATA (opens in a new tab) ड्राइव्ह पुरेसे चांगले आहेत परंतु ते विश्वसनीय गुणवत्तेचे असावेत, किमान TLC (opens in a new tab). डिस्क डेस्कटॉप संगणकात किंवा पुरेशा स्लॉट्स असलेल्या सर्व्हरमध्ये बसवल्या जाऊ शकतात. अशी समर्पित उपकरणे उच्च अपटाइम नोड चालवण्यासाठी आदर्श आहेत. हे लॅपटॉपवर चालवणे पूर्णपणे शक्य आहे परंतु पोर्टेबिलिटी अतिरिक्त खर्चासह येईल.

सर्व डेटा एका व्हॉल्यूममध्ये बसणे आवश्यक आहे, म्हणून डिस्क जोडल्या गेल्या पाहिजेत, उदा., RAID0 (opens in a new tab) किंवा LVM सह. ZFS (opens in a new tab) वापरण्याचा विचार करणे देखील योग्य असू शकते कारण ते "कॉपी-ऑन-राईट" (Copy-on-write) ला समर्थन देते जे कोणत्याही निम्न स्तरावरील त्रुटींशिवाय डेटा डिस्कवर योग्यरित्या लिहिला गेला आहे याची खात्री करते.

अपघाती डेटाबेस करप्शन (corruption) टाळण्यासाठी अधिक स्थिरता आणि सुरक्षिततेसाठी, विशेषतः व्यावसायिक सेटअपमध्ये, जर तुमची सिस्टीम त्याला समर्थन देत असेल तर ECC मेमरी (opens in a new tab) वापरण्याचा विचार करा. RAM चा आकार साधारणपणे पूर्ण नोडच्या समान असावा असा सल्ला दिला जातो परंतु अधिक RAM समक्रमण वेगवान करण्यास मदत करू शकते.

प्रारंभिक समक्रमणादरम्यान, अर्काईव्ह मोडमधील क्लायंट्स जेनेसिसपासून प्रत्येक व्यवहार कार्यान्वित करतील. अंमलबजावणीचा वेग बहुधा CPU द्वारे मर्यादित असतो, त्यामुळे वेगवान CPU प्रारंभिक समक्रमण वेळेत मदत करू शकतो. सरासरी ग्राहक संगणकावर, प्रारंभिक समक्रमणास एक महिन्यापर्यंतचा वेळ लागू शकतो.

पुढील वाचन