எத்திரியம் காப்பக முனை
காப்பக முனை (archive node) என்பது அனைத்து வரலாற்று நிலைகளின் (states) காப்பகத்தை உருவாக்க உள்ளமைக்கப்பட்ட எத்திரியம் கிளையண்டின் ஒரு நிகழ்வாகும். இது சில பயன்பாட்டு நிகழ்வுகளுக்கு பயனுள்ள கருவியாகும், ஆனால் முழு முனையத்தை (full node) விட இதை இயக்குவது சற்று கடினமாக இருக்கலாம்.
முன்நிபந்தனைகள்
நீங்கள் எத்திரியம் கணு, அதன் கட்டமைப்பு, ஒத்திசைத்தல் உத்திகள், அவற்றை இயக்குதல் மற்றும் பயன்படுத்துதல் ஆகியவற்றின் கருத்துகளைப் புரிந்துகொண்டிருக்க வேண்டும்.
காப்பக முனை என்றால் என்ன
காப்பக முனையின் முக்கியத்துவத்தைப் புரிந்துகொள்ள, "நிலை" (state) என்ற கருத்தை தெளிவுபடுத்துவோம். எத்திரியத்தை பரிவர்த்தனை அடிப்படையிலான நிலை இயந்திரம் (transaction-based state machine) என்று குறிப்பிடலாம். இது கணக்குகள் மற்றும் செயலிகளைக் கொண்டுள்ளது, அவை பரிவர்த்தனைகளைச் செயல்படுத்துவதன் மூலம் அவற்றின் நிலையை மாற்றுகின்றன. ஒவ்வொரு கணக்கு மற்றும் ஒப்பந்தம் பற்றிய தகவல்களைக் கொண்ட உலகளாவிய தரவு, நிலை எனப்படும் ட்ரை (trie) தரவுத்தளத்தில் சேமிக்கப்படுகிறது. இது செயலாக்க அடுக்கு (EL) கிளையண்டால் கையாளப்படுகிறது மற்றும் பின்வருவனவற்றை உள்ளடக்கியது:
- கணக்கு நிலுவைகள் மற்றும் நான்ஸ்கள் (nonces)
- ஒப்பந்தக் குறியீடு மற்றும் சேமிப்பகம்
- ஒருமித்த கருத்து தொடர்பான தரவு, எ.கா., பங்குவைப்புத் தொகை ஒப்பந்தம் (Staking Deposit Contract)
பிணையத்துடன் தொடர்புகொள்ளவும், புதிய தொகுதிகளைச் சரிபார்க்கவும் மற்றும் உருவாக்கவும், எத்திரியம் கிளையண்டுகள் மிகச் சமீபத்திய மாற்றங்களை (சங்கிலியின் முனை) மற்றும் தற்போதைய நிலையைத் தொடர்ந்து கண்காணிக்க வேண்டும். முழு முனையமாக உள்ளமைக்கப்பட்ட செயலாக்க அடுக்கு கிளையண்ட், பிணையத்தின் சமீபத்திய நிலையைச் சரிபார்த்துப் பின்பற்றுகிறது, ஆனால் கடந்த சில நிலைகளை மட்டுமே தற்காலிகமாகச் சேமிக்கிறது (cache), எ.கா., கடந்த 128 தொகுதிகளுடன் தொடர்புடைய நிலை, இதனால் சங்கிலி மறுசீரமைப்புகளைக் (chain reorgs) கையாளவும் சமீபத்திய தரவுகளுக்கு விரைவான அணுகலை வழங்கவும் முடியும். உள்வரும் பரிவர்த்தனைகளைச் சரிபார்க்கவும் பிணையத்தைப் பயன்படுத்தவும் அனைத்து கிளையண்டுகளுக்கும் சமீபத்திய நிலை தேவைப்படுகிறது.
ஒரு குறிப்பிட்ட தொகுதியில் பிணையத்தின் தற்காலிக Snapshot ஆக நிலையையும், வரலாற்றின் மறுஇயக்கமாகக் காப்பகத்தையும் நீங்கள் கற்பனை செய்து கொள்ளலாம்.
வரலாற்று நிலைகளை பாதுகாப்பாக கத்தரிக்கலாம் (pruned), ஏனெனில் அவை பிணையம் செயல்பட அவசியமில்லை, மேலும் காலாவதியான அனைத்து தரவையும் கிளையண்ட் வைத்திருப்பது தேவையற்றதாக இருக்கும். சில சமீபத்திய தொகுதிக்கு முன் இருந்த நிலைகள் (எ.கா., தலைக்கு முன் 128 தொகுதிகள்) திறம்பட நிராகரிக்கப்படுகின்றன. முழு முனையங்கள் வரலாற்றுத் தொகுதிச்சங்கிலி தரவை (தொகுதிகள் மற்றும் பரிவர்த்தனைகள்) மற்றும் கோரிக்கையின் பேரில் பழைய நிலைகளை மீண்டும் உருவாக்கப் பயன்படுத்தக்கூடிய அவ்வப்போது எடுக்கப்படும் வரலாற்று Snapshot-களை மட்டுமே வைத்திருக்கின்றன. EVM-இல் கடந்த கால பரிவர்த்தனைகளை மீண்டும் செயல்படுத்துவதன் மூலம் அவை இதைச் செய்கின்றன, விரும்பிய நிலை அருகிலுள்ள Snapshot-இலிருந்து வெகு தொலைவில் இருக்கும்போது இது கணக்கீட்டு ரீதியாக அதிக தேவையைக் கோரலாம்.
இருப்பினும், முழு முனையத்தில் வரலாற்று நிலையை அணுகுவது அதிக கணக்கீட்டைப் பயன்படுத்துகிறது என்பதை இது குறிக்கிறது. கிளையண்ட் கடந்த கால பரிவர்த்தனைகள் அனைத்தையும் செயல்படுத்தி, தொடக்கத்திலிருந்து (genesis) ஒரு வரலாற்று நிலையைக் கணக்கிட வேண்டியிருக்கலாம். காப்பக முனைகள் மிகச் சமீபத்திய நிலைகளை மட்டுமல்லாமல், ஒவ்வொரு தொகுதிக்குப் பிறகும் உருவாக்கப்பட்ட ஒவ்வொரு வரலாற்று நிலையையும் சேமிப்பதன் மூலம் இதைத் தீர்க்கின்றன. இது அடிப்படையில் பெரிய வட்டு இடத் தேவையுடன் ஒரு சமரசத்தை (trade-off) செய்கிறது.
அனைத்து வரலாற்றுத் தரவையும் வைத்திருக்கவும் வழங்கவும் பிணையம் காப்பக முனைகளைச் சார்ந்திருக்கவில்லை என்பதைக் கவனத்தில் கொள்ள வேண்டியது அவசியம். மேலே குறிப்பிட்டுள்ளபடி, அனைத்து வரலாற்று இடைக்கால நிலைகளையும் முழு முனையத்தில் பெறலாம். பரிவர்த்தனைகள் எந்தவொரு முழு முனையத்தாலும் சேமிக்கப்படுகின்றன (தற்போது 400G-க்கும் குறைவானது) மற்றும் முழு காப்பகத்தையும் உருவாக்க அவற்றை மீண்டும் இயக்கலாம்.
பயன்பாட்டு நிகழ்வுகள்
பரிவர்த்தனைகளை அனுப்புதல், ஒப்பந்தங்களைப் பயன்படுத்துதல், ஒருமித்த கருத்தைச் சரிபார்த்தல் போன்ற எத்திரியத்தின் வழக்கமான பயன்பாட்டிற்கு வரலாற்று நிலைகளுக்கான அணுகல் தேவையில்லை. பிணையத்துடனான நிலையான தொடர்புக்கு பயனர்களுக்கு ஒருபோதும் காப்பக முனை தேவையில்லை.
நிலை காப்பகத்தின் முக்கிய நன்மை வரலாற்று நிலைகள் பற்றிய வினவல்களுக்கு விரைவான அணுகலாகும். எடுத்துக்காட்டாக, காப்பக முனை இது போன்ற முடிவுகளை உடனடியாக வழங்கும்:
- தொகுதி 15537393-இல் 0x1337... கணக்கின் ETH நிலுவை என்னவாக இருந்தது?
- தொகுதி 1920000-இல் 0x ஒப்பந்தத்தில் 0x வில்லையின் நிலுவை என்ன?
மேலே விளக்கியபடி, ஒரு முழு முனையம் CPU-ஐப் பயன்படுத்தும் மற்றும் நேரமெடுக்கும் EVM செயலாக்கத்தின் மூலம் இந்தத் தரவை உருவாக்க வேண்டும். காப்பக முனைகள் அவற்றை வட்டில் அணுகி உடனடியாக பதில்களை வழங்குகின்றன. இது உள்கட்டமைப்பின் சில பகுதிகளுக்கு பயனுள்ள அம்சமாகும், எடுத்துக்காட்டாக:
- தொகுதி எக்ஸ்ப்ளோரர்கள் (block explorers) போன்ற சேவை வழங்குநர்கள்
- ஆராய்ச்சியாளர்கள்
- பாதுகாப்பு ஆய்வாளர்கள்
- பரவலாக்கப்பட்ட செயலி (dapp) உருவாக்குநர்கள்
- தணிக்கை மற்றும் இணக்கம்
வரலாற்றுத் தரவை அணுக அனுமதிக்கும் பல்வேறு இலவச சேவைகளும் உள்ளன. காப்பக முனையை இயக்குவது அதிக தேவையைக் கோருவதால், இந்த அணுகல் பெரும்பாலும் வரையறுக்கப்பட்டுள்ளது மற்றும் அவ்வப்போது அணுகுவதற்கு மட்டுமே செயல்படும். உங்கள் திட்டத்திற்கு வரலாற்றுத் தரவுகளுக்கான நிலையான அணுகல் தேவைப்பட்டால், நீங்களே ஒன்றை இயக்குவதைக் கருத்தில் கொள்ள வேண்டும்.
செயலாக்கங்கள் மற்றும் பயன்பாடு
இந்தச் சூழலில் காப்பக முனை என்பது, நிலை தரவுத்தளத்தைக் கையாள்வதாலும் ஜேசன்-ஆர்பிசி (JSON-RPC) எண்ட்பாயிண்ட்களை வழங்குவதாலும், பயனரை எதிர்கொள்ளும் செயலாக்க அடுக்கு கிளையண்டுகளால் வழங்கப்படும் தரவைக் குறிக்கிறது. உள்ளமைவு விருப்பங்கள், ஒத்திசைத்தல் நேரம் மற்றும் தரவுத்தள அளவு ஆகியவை கிளையண்டைப் பொறுத்து மாறுபடலாம். விவரங்களுக்கு, உங்கள் கிளையண்ட் வழங்கிய ஆவணங்களைப் பார்க்கவும்.
உங்கள் சொந்த காப்பக முனையைத் தொடங்குவதற்கு முன், கிளையண்டுகளுக்கு இடையிலான வேறுபாடுகள் மற்றும் குறிப்பாக பல்வேறு வன்பொருள் தேவைகள் பற்றி அறிந்து கொள்ளுங்கள். பெரும்பாலான கிளையண்டுகள் இந்த அம்சத்திற்காக உகந்ததாக்கப்படவில்லை, மேலும் அவற்றின் காப்பகங்களுக்கு 12TB-க்கும் அதிகமான இடம் தேவைப்படுகிறது. இதற்கு மாறாக, எரிகான் (Erigon) போன்ற செயலாக்கங்கள் அதே தரவை 3TB-க்கும் குறைவான இடத்தில் சேமிக்க முடியும், இது காப்பக முனையை இயக்குவதற்கான மிகவும் பயனுள்ள வழியாகும்.
பரிந்துரைக்கப்பட்ட நடைமுறைகள்
கணுவை இயக்குவதற்கான பொதுவான பரிந்துரைகளைத் தவிர, காப்பக முனை வன்பொருள் மற்றும் பராமரிப்பில் அதிக தேவையைக் கோரலாம். எரிகானின் முக்கிய அம்சங்களைக் (opens in a new tab) கருத்தில் கொண்டு, எரிகான் கிளையண்ட் செயலாக்கத்தைப் பயன்படுத்துவதே மிகவும் நடைமுறை அணுகுமுறையாகும்.
வன்பொருள்
கிளையண்டின் ஆவணங்களில் கொடுக்கப்பட்ட பயன்முறைக்கான வன்பொருள் தேவைகளை எப்போதும் சரிபார்க்க உறுதிசெய்யவும். காப்பக முனைகளுக்கான மிகப்பெரிய தேவை வட்டு இடமாகும். கிளையண்டைப் பொறுத்து, இது 3TB முதல் 12TB வரை மாறுபடும். அதிக அளவிலான தரவுகளுக்கு HDD சிறந்த தீர்வாகக் கருதப்பட்டாலும், அதை ஒத்திசைத்தல் மற்றும் சங்கிலியின் தலையைத் தொடர்ந்து புதுப்பித்தல் ஆகியவற்றிற்கு SSD டிரைவ்கள் தேவைப்படும். SATA (opens in a new tab) டிரைவ்கள் போதுமானவை, ஆனால் அது நம்பகமான தரமாக இருக்க வேண்டும், குறைந்தபட்சம் TLC (opens in a new tab) ஆக இருக்க வேண்டும். வட்டுகளை டெஸ்க்டாப் கணினி அல்லது போதுமான ஸ்லாட்டுகளைக் கொண்ட சர்வரில் பொருத்தலாம். அதிக நேரச் செயல்பாட்டைக் (high uptime) கொண்ட கணுவை இயக்குவதற்கு இத்தகைய பிரத்யேக சாதனங்கள் சிறந்தவை. இதை மடிக்கணினியில் இயக்குவது முற்றிலும் சாத்தியம், ஆனால் பெயர்வுத்திறன் (portability) கூடுதல் செலவில் வரும்.
அனைத்து தரவும் ஒரு தொகுதியில் (volume) பொருந்த வேண்டும், எனவே வட்டுகளை இணைக்க வேண்டும், எ.கா., RAID0 (opens in a new tab) அல்லது LVM உடன். ZFS (opens in a new tab)-ஐப் பயன்படுத்துவதைக் கருத்தில் கொள்வதும் மதிப்புக்குரியதாக இருக்கலாம், ஏனெனில் இது "Copy-on-write"-ஐ ஆதரிக்கிறது, இது எந்தவொரு குறைந்த அளவிலான பிழைகளும் இல்லாமல் தரவு வட்டில் சரியாக எழுதப்படுவதை உறுதி செய்கிறது.
தற்செயலான தரவுத்தள ஊழலைத் தடுப்பதில் அதிக நிலைத்தன்மை மற்றும் பாதுகாப்பிற்காக, குறிப்பாக ஒரு தொழில்முறை அமைப்பில், உங்கள் கணினி ஆதரித்தால் ECC நினைவகத்தைப் (opens in a new tab) பயன்படுத்துவதைக் கருத்தில் கொள்ளுங்கள். RAM-இன் அளவு பொதுவாக முழு முனையத்திற்கு இருப்பதைப் போலவே இருக்க அறிவுறுத்தப்படுகிறது, ஆனால் அதிக RAM ஒத்திசைத்தலை விரைவுபடுத்த உதவும்.
ஆரம்ப ஒத்திசைத்தலின் போது, காப்பகப் பயன்முறையில் உள்ள கிளையண்டுகள் தொடக்கத்திலிருந்து ஒவ்வொரு பரிவர்த்தனையையும் செயல்படுத்தும். செயலாக்க வேகம் பெரும்பாலும் CPU-ஆல் வரையறுக்கப்படுகிறது, எனவே வேகமான CPU ஆரம்ப ஒத்திசைத்தல் நேரத்திற்கு உதவும். சராசரி நுகர்வோர் கணினியில், ஆரம்ப ஒத்திசைத்தல் ஒரு மாதம் வரை ஆகலாம்.
மேலும் படிக்க
- எத்திரியம் முழு முனையம் மற்றும் காப்பக முனை (opens in a new tab) - QuickNode, செப்டம்பர் 2022
- உங்கள் சொந்த எத்திரியம் காப்பக முனையை உருவாக்குதல் (opens in a new tab) - தாமஸ் ஜே ரஷ் (Thomas Jay Rush), ஆகஸ்ட் 2021
- எரிகான், எரிகானின் RPC மற்றும் TrueBlocks (ஸ்க்ரேப் மற்றும் API) ஆகியவற்றை சேவைகளாக அமைப்பது எப்படி (opens in a new tab) – மேக்னஸ் ஹான்சன் (Magnus Hansson), புதுப்பிக்கப்பட்டது செப்டம்பர் 2022