முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
Change page

நெட்வொர்க்கிங் அடுக்கு

பக்கம் கடைசியாகப் புதுப்பிக்கப்பட்டது: 2 மார்ச், 2026

Ethereum என்பது ஆயிரக்கணக்கான நோடுகளைக் கொண்ட ஒரு பியர்-டு-பியர் (peer-to-peer) நெட்வொர்க் ஆகும், அவை தரப்படுத்தப்பட்ட நெறிமுறைகளைப் பயன்படுத்தி ஒன்றோடொன்று தொடர்பு கொள்ள வேண்டும். "நெட்வொர்க்கிங் அடுக்கு" (networking layer) என்பது அந்த நோடுகள் ஒன்றையொன்று கண்டறியவும் தகவல்களைப் பரிமாறிக் கொள்ளவும் அனுமதிக்கும் நெறிமுறைகளின் தொகுப்பாகும். நெட்வொர்க்கில் தகவல்களை "காசிப்பிங்" (gossiping) செய்வது (ஒன்றிலிருந்து பலருக்குத் தொடர்பு) மற்றும் குறிப்பிட்ட நோடுகளுக்கு இடையே கோரிக்கைகள் மற்றும் பதில்களைப் பரிமாறிக்கொள்வது (ஒன்றிலிருந்து ஒன்று தொடர்பு) ஆகியவை இதில் அடங்கும். ஒவ்வொரு நோடும் சரியான தகவலை அனுப்புவதையும் பெறுவதையும் உறுதிசெய்ய குறிப்பிட்ட நெட்வொர்க்கிங் விதிகளைப் பின்பற்ற வேண்டும்.

கிளையண்ட் மென்பொருளில் இரண்டு பகுதிகள் உள்ளன (செயலாக்க கிளையண்டுகள் மற்றும் கருத்தொற்றுமை கிளையண்டுகள்), ஒவ்வொன்றும் அதன் சொந்த தனித்துவமான நெட்வொர்க்கிங் அடுக்கைக் கொண்டுள்ளன. மற்ற எத்தேரியம் நோடுகளுடன் தொடர்புகொள்வது மட்டுமின்றி, செயலாக்க மற்றும் கருத்தொற்றுமை கிளையண்டுகள் ஒன்றோடொன்று தொடர்பு கொள்ள வேண்டும். இந்தத் தொடர்பு கொள்ள உதவும் நெறிமுறைகள் பற்றிய அறிமுக விளக்கத்தை இந்தப் பக்கம் வழங்குகிறது.

செயலாக்க கிளையண்டுகள் செயலாக்க-அடுக்கு பியர்-டு-பியர் நெட்வொர்க்கில் பரிவர்த்தனைகளை காசிப் செய்கின்றன. இதற்கு அங்கீகரிக்கப்பட்ட பியர்களுக்கு இடையே மறைகுறியாக்கப்பட்ட தொடர்பு தேவைப்படுகிறது. ஒரு பிளாக்கை முன்மொழிய ஒரு வேலிடேட்டர் தேர்ந்தெடுக்கப்படும்போது, நோடின் உள்ளூர் பரிவர்த்தனை பூலில் இருந்து பரிவர்த்தனைகள் உள்ளூர் RPC இணைப்பு வழியாக கருத்தொற்றுமை கிளையண்டுகளுக்கு அனுப்பப்படும், அவை பீக்கான் (Beacon) பிளாக்குகளாக தொகுக்கப்படும். கருத்தொற்றுமை கிளையண்டுகள் பின்னர் தங்கள் p2p நெட்வொர்க் முழுவதும் பீக்கான் பிளாக்குகளை காசிப் செய்யும். இதற்கு இரண்டு தனித்தனி p2p நெட்வொர்க்குகள் தேவை: ஒன்று பரிவர்த்தனை காசிப்பிற்காக செயலாக்க கிளையண்டுகளை இணைக்கிறது மற்றும் மற்றொன்று பிளாக் காசிப்பிற்காக கருத்தொற்றுமை கிளையண்டுகளை இணைக்கிறது.

முன்நிபந்தனைகள்

எத்தேரியம் நோடுகள் மற்றும் கிளையண்டுகள் பற்றிய சில அறிவைக் கொண்டிருப்பது இந்தப் பக்கத்தைப் புரிந்துகொள்ள உதவியாக இருக்கும்.

செயலாக்க அடுக்கு

செயலாக்க அடுக்கின் நெட்வொர்க்கிங் நெறிமுறைகள் இரண்டு அடுக்குகளாகப் பிரிக்கப்பட்டுள்ளன:

  • டிஸ்கவரி அடுக்கு (discovery stack): UDP-இன் மேல் கட்டமைக்கப்பட்டுள்ளது மற்றும் இணைக்க வேண்டிய பியர்களைக் கண்டறிய புதிய நோடை அனுமதிக்கிறது

  • DevP2P அடுக்கு: TCP-இன் மேல் அமர்ந்திருக்கிறது மற்றும் நோடுகள் தகவல்களைப் பரிமாறிக் கொள்ள உதவுகிறது

இரண்டு அடுக்குகளும் இணையாக வேலை செய்கின்றன. டிஸ்கவரி அடுக்கு புதிய நெட்வொர்க் பங்கேற்பாளர்களை நெட்வொர்க்கிற்குள் கொண்டுவருகிறது, மேலும் DevP2P அடுக்கு அவர்களின் தொடர்புகளைச் செயல்படுத்துகிறது.

டிஸ்கவரி (Discovery)

டிஸ்கவரி என்பது நெட்வொர்க்கில் உள்ள மற்ற நோடுகளைக் கண்டறியும் செயல்முறையாகும். இது பூட்நோடுகளின் (bootnodes) சிறிய தொகுப்பைப் பயன்படுத்தி பூட்ஸ்ட்ராப் செய்யப்படுகிறது (கிளையண்டில் முகவரிகள் ஹார்ட்கோட் (opens in a new tab) செய்யப்பட்ட நோடுகள், இதனால் அவற்றை உடனடியாகக் கண்டறிந்து கிளையண்டை பியர்களுடன் இணைக்க முடியும்). இந்த பூட்நோடுகள் ஒரு புதிய நோடை பியர்களின் தொகுப்பிற்கு அறிமுகப்படுத்த மட்டுமே உள்ளன - இதுவே அவற்றின் ஒரே நோக்கமாகும், அவை செயினை ஒத்திசைப்பது போன்ற சாதாரண கிளையண்ட் பணிகளில் பங்கேற்பதில்லை, மேலும் ஒரு கிளையண்ட் முதன்முதலில் தொடங்கப்படும்போது மட்டுமே அவை பயன்படுத்தப்படுகின்றன.

நோடு-பூட்நோடு தொடர்புகளுக்குப் பயன்படுத்தப்படும் நெறிமுறை Kademlia (opens in a new tab)-இன் மாற்றியமைக்கப்பட்ட வடிவமாகும், இது நோடுகளின் பட்டியல்களைப் பகிர பகிர்ந்தளிக்கப்பட்ட ஹாஷ் டேபிளைப் (opens in a new tab) பயன்படுத்துகிறது. ஒவ்வொரு நோடும் அதன் நெருங்கிய பியர்களுடன் இணைக்கத் தேவையான தகவல்களைக் கொண்ட இந்த டேபிளின் பதிப்பைக் கொண்டுள்ளது. இந்த 'நெருக்கம்' புவியியல் ரீதியானது அல்ல - தூரம் என்பது நோடின் ID-இன் ஒற்றுமையால் வரையறுக்கப்படுகிறது. ஒவ்வொரு நோடின் டேபிளும் பாதுகாப்பு அம்சமாகத் தொடர்ந்து புதுப்பிக்கப்படுகிறது. எடுத்துக்காட்டாக, Discv5 (opens in a new tab)-இல், டிஸ்கவரி நெறிமுறை நோடுகள் கிளையண்ட் ஆதரிக்கும் துணை நெறிமுறைகளைக் காண்பிக்கும் 'விளம்பரங்களை' (ads) அனுப்ப முடியும், இது பியர்கள் இருவரும் தொடர்புகொள்ளப் பயன்படுத்தக்கூடிய நெறிமுறைகளைப் பற்றி பேச்சுவார்த்தை நடத்த அனுமதிக்கிறது.

டிஸ்கவரி PING-PONG விளையாட்டுடன் தொடங்குகிறது. வெற்றிகரமான PING-PONG புதிய நோடை பூட்நோடுடன் "பிணைக்கிறது" (bonds). நெட்வொர்க்கில் நுழையும் புதிய நோடின் இருப்பைப் பற்றி பூட்நோடை எச்சரிக்கும் ஆரம்ப செய்தி PING ஆகும். இந்த PING-இல் புதிய நோடு, பூட்நோடு மற்றும் காலாவதி நேர முத்திரை பற்றிய ஹாஷ் செய்யப்பட்ட தகவல்கள் அடங்கும். பூட்நோடு PING-ஐப் பெற்று, PING ஹாஷைக் கொண்ட PONG-ஐ வழங்குகிறது. PING மற்றும் PONG ஹாஷ்கள் பொருந்தினால், புதிய நோடுக்கும் பூட்நோடுக்கும் இடையிலான இணைப்பு சரிபார்க்கப்பட்டு அவை "பிணைக்கப்பட்டுள்ளன" என்று கூறப்படுகிறது.

பிணைக்கப்பட்டவுடன், புதிய நோடு பூட்நோடிற்கு FIND-NEIGHBOURS கோரிக்கையை அனுப்ப முடியும். பூட்நோடு வழங்கும் தரவுகளில் புதிய நோடு இணைக்கக்கூடிய பியர்களின் பட்டியல் அடங்கும். நோடுகள் பிணைக்கப்படவில்லை என்றால், FIND-NEIGHBOURS கோரிக்கை தோல்வியடையும், எனவே புதிய நோடால் நெட்வொர்க்கில் நுழைய முடியாது.

புதிய நோடு பூட்நோடிலிருந்து அண்டை நோடுகளின் பட்டியலைப் பெற்றவுடன், அது அவை ஒவ்வொன்றுடனும் PING-PONG பரிமாற்றத்தைத் தொடங்குகிறது. வெற்றிகரமான PING-PONG-கள் புதிய நோடை அதன் அண்டை நோடுகளுடன் பிணைத்து, செய்திப் பரிமாற்றத்தை செயல்படுத்துகின்றன.

1start client --> connect to bootnode --> bond to bootnode --> find neighbours --> bond to neighbours

செயலாக்க கிளையண்டுகள் தற்போது Discv4 (opens in a new tab) டிஸ்கவரி நெறிமுறையைப் பயன்படுத்துகின்றன, மேலும் Discv5 (opens in a new tab) நெறிமுறைக்கு மாறுவதற்கான தீவிர முயற்சி நடந்து வருகிறது.

ENR: எத்தேரியம் நோடு ரெக்கார்டுகள்

எத்தேரியம் நோடு ரெக்கார்டு (ENR) என்பது மூன்று அடிப்படை கூறுகளைக் கொண்ட ஒரு ஆப்ஜெக்ட் ஆகும்: ஒரு கையொப்பம் (சில ஒப்புக்கொள்ளப்பட்ட அடையாளத் திட்டத்தின்படி உருவாக்கப்பட்ட ரெக்கார்டு உள்ளடக்கங்களின் ஹாஷ்), ரெக்கார்டில் ஏற்படும் மாற்றங்களைக் கண்காணிக்கும் வரிசை எண் மற்றும் key:value ஜோடிகளின் தன்னிச்சையான பட்டியல். இது எதிர்காலத்திற்கு ஏற்ற வடிவமைப்பாகும், இது புதிய பியர்களுக்கு இடையே அடையாளத் தகவல்களை எளிதாகப் பரிமாறிக்கொள்ள அனுமதிக்கிறது மற்றும் எத்தேரியம் நோடுகளுக்கான விருப்பமான நெட்வொர்க் முகவரி வடிவமைப்பாகும்.

டிஸ்கவரி ஏன் UDP-இல் கட்டமைக்கப்பட்டுள்ளது?

UDP எந்தப் பிழை சரிபார்ப்பையும், தோல்வியுற்ற பாக்கெட்டுகளை மீண்டும் அனுப்புவதையும் அல்லது இணைப்புகளை மாறும் வகையில் திறப்பதையும் மூடுவதையும் ஆதரிக்காது - அதற்குப் பதிலாக அது வெற்றிகரமாகப் பெறப்பட்டதா என்பதைப் பொருட்படுத்தாமல், இலக்கை நோக்கித் தகவல்களின் தொடர்ச்சியான ஸ்ட்ரீமை அனுப்புகிறது. இந்த குறைந்தபட்ச செயல்பாடு குறைந்தபட்ச ஓவர்ஹெட்டாகவும் (overhead) மாறுகிறது, இது இந்த வகையான இணைப்பை மிக வேகமாக்குகிறது. டிஸ்கவரிக்கு, ஒரு நோடு ஒரு பியருடன் முறையான இணைப்பை ஏற்படுத்துவதற்காகத் தனது இருப்பை அறியப்படுத்த விரும்பும் போது, UDP போதுமானது. இருப்பினும், நெட்வொர்க்கிங் அடுக்கின் மற்ற பகுதிகளுக்கு, UDP நோக்கத்திற்குப் பொருந்தாது. நோடுகளுக்கு இடையிலான தகவல் பரிமாற்றம் மிகவும் சிக்கலானது, எனவே மீண்டும் அனுப்புதல், பிழை சரிபார்த்தல் போன்றவற்றை ஆதரிக்கக்கூடிய முழுமையான அம்சங்களைக் கொண்ட நெறிமுறை தேவைப்படுகிறது. TCP-உடன் தொடர்புடைய கூடுதல் ஓவர்ஹெட் கூடுதல் செயல்பாட்டிற்கு மதிப்புள்ளது. எனவே, P2P அடுக்கின் பெரும்பகுதி TCP-இல் இயங்குகிறது.

DevP2P

DevP2P என்பது பியர்-டு-பியர் நெட்வொர்க்கை நிறுவவும் பராமரிக்கவும் எத்தேரியம் செயல்படுத்தும் நெறிமுறைகளின் முழு அடுக்காகும். புதிய நோடுகள் நெட்வொர்க்கில் நுழைந்த பிறகு, அவற்றின் தொடர்புகள் DevP2P (opens in a new tab) அடுக்கில் உள்ள நெறிமுறைகளால் நிர்வகிக்கப்படுகின்றன. இவை அனைத்தும் TCP-இன் மேல் அமர்ந்திருக்கின்றன மற்றும் RLPx போக்குவரத்து நெறிமுறை, வயர் (wire) நெறிமுறை மற்றும் பல துணை நெறிமுறைகளை உள்ளடக்கியது. RLPx (opens in a new tab) என்பது நோடுகளுக்கு இடையிலான செஷன்களைத் தொடங்குதல், அங்கீகரித்தல் மற்றும் பராமரித்தல் ஆகியவற்றை நிர்வகிக்கும் நெறிமுறையாகும். RLPx செய்திகளை RLP (Recursive Length Prefix) ஐப் பயன்படுத்தி குறியாக்குகிறது, இது நோடுகளுக்கு இடையே அனுப்புவதற்கான குறைந்தபட்ச கட்டமைப்பில் தரவைக் குறியாக்கம் செய்வதற்கான மிகவும் இட-திறனுள்ள முறையாகும்.

இரண்டு நோடுகளுக்கு இடையிலான RLPx செஷன் ஆரம்ப கிரிப்டோகிராஃபிக் ஹேண்ட்ஷேக்குடன் (cryptographic handshake) தொடங்குகிறது. இதில் நோடு ஒரு அங்கீகார (auth) செய்தியை அனுப்புகிறது, அது பின்னர் பியரால் சரிபார்க்கப்படுகிறது. வெற்றிகரமான சரிபார்ப்பின் போது, பியர் ஒரு அங்கீகார-ஒப்புதல் (auth-acknowledgement) செய்தியை உருவாக்கித் தொடக்க நோடிற்குத் திருப்பி அனுப்புகிறது. இது ஒரு விசை-பரிமாற்ற (key-exchange) செயல்முறையாகும், இது நோடுகள் தனிப்பட்ட முறையிலும் பாதுகாப்பாகவும் தொடர்பு கொள்ள உதவுகிறது. வெற்றிகரமான கிரிப்டோகிராஃபிக் ஹேண்ட்ஷேக் பின்னர் இரண்டு நோடுகளையும் "ஆன் தி வயர்" (on the wire) ஒன்றோடொன்று "hello" செய்தியை அனுப்பத் தூண்டுகிறது. வயர் நெறிமுறை hello செய்திகளின் வெற்றிகரமான பரிமாற்றத்தால் தொடங்கப்படுகிறது.

hello செய்திகளில் பின்வருவன அடங்கும்:

  • நெறிமுறை பதிப்பு
  • கிளையண்ட் ID
  • போர்ட்
  • நோடு ID
  • ஆதரிக்கப்படும் துணை நெறிமுறைகளின் பட்டியல்

வெற்றிகரமான தொடர்புக்குத் தேவையான தகவல் இதுவாகும், ஏனெனில் இது இரண்டு நோடுகளுக்கும் இடையே என்ன திறன்கள் பகிரப்படுகின்றன என்பதை வரையறுக்கிறது மற்றும் தொடர்பை உள்ளமைக்கிறது. துணை நெறிமுறை பேச்சுவார்த்தை செயல்முறை உள்ளது, அங்கு ஒவ்வொரு நோடும் ஆதரிக்கும் துணை நெறிமுறைகளின் பட்டியல்கள் ஒப்பிடப்படுகின்றன மற்றும் இரண்டு நோடுகளுக்கும் பொதுவானவை செஷனில் பயன்படுத்தப்படலாம்.

hello செய்திகளுடன், வயர் நெறிமுறை "disconnect" செய்தியையும் அனுப்பலாம், இது இணைப்பு மூடப்படும் என்று பியருக்கு எச்சரிக்கை அளிக்கிறது. வயர் நெறிமுறையில் PING மற்றும் PONG செய்திகளும் அடங்கும், அவை செஷனைத் திறந்து வைத்திருக்க அவ்வப்போது அனுப்பப்படுகின்றன. எனவே RLPx மற்றும் வயர் நெறிமுறை பரிமாற்றங்கள் நோடுகளுக்கு இடையிலான தொடர்பின் அடித்தளங்களை நிறுவுகின்றன, ஒரு குறிப்பிட்ட துணை நெறிமுறையின்படி பயனுள்ள தகவல்களைப் பரிமாறிக்கொள்வதற்கான சாரக்கட்டுகளை வழங்குகின்றன.

துணை நெறிமுறைகள்

வயர் நெறிமுறை

பியர்கள் இணைக்கப்பட்டு, RLPx செஷன் தொடங்கப்பட்டவுடன், பியர்கள் எவ்வாறு தொடர்பு கொள்கிறார்கள் என்பதை வயர் நெறிமுறை வரையறுக்கிறது. ஆரம்பத்தில், வயர் நெறிமுறை மூன்று முக்கிய பணிகளை வரையறுத்தது: செயின் ஒத்திசைவு, பிளாக் பரப்புதல் மற்றும் பரிவர்த்தனை பரிமாற்றம். இருப்பினும், எத்தேரியம் ப்ரூஃப்-ஆஃப்-ஸ்டேக்கிற்கு (proof-of-stake) மாறியவுடன், பிளாக் பரப்புதல் மற்றும் செயின் ஒத்திசைவு ஆகியவை கருத்தொற்றுமை அடுக்கின் ஒரு பகுதியாக மாறின. பரிவர்த்தனை பரிமாற்றம் இன்னும் செயலாக்க கிளையண்டுகளின் வரம்பிற்குள் உள்ளது. பரிவர்த்தனை பரிமாற்றம் என்பது நோடுகளுக்கு இடையே நிலுவையில் உள்ள பரிவர்த்தனைகளைப் பரிமாறிக்கொள்வதைக் குறிக்கிறது, இதனால் பிளாக் பில்டர்கள் அடுத்த பிளாக்கில் சேர்ப்பதற்கு அவற்றில் சிலவற்றைத் தேர்ந்தெடுக்கலாம். இந்தப் பணிகள் பற்றிய விரிவான தகவல்கள் இங்கே (opens in a new tab) கிடைக்கின்றன. இந்தத் துணை நெறிமுறைகளை ஆதரிக்கும் கிளையண்டுகள் அவற்றை JSON-RPC வழியாக வெளிப்படுத்துகின்றன.

les (லைட் எத்தேரியம் துணை நெறிமுறை)

இது லைட் கிளையண்டுகளை ஒத்திசைப்பதற்கான குறைந்தபட்ச நெறிமுறையாகும். பாரம்பரியமாக இந்த நெறிமுறை அரிதாகவே பயன்படுத்தப்படுகிறது, ஏனெனில் முழு நோடுகள் லைட் கிளையண்டுகளுக்கு ஊக்கத்தொகை இல்லாமல் தரவை வழங்க வேண்டும். செயலாக்க கிளையண்டுகளின் இயல்புநிலை நடத்தை les வழியாக லைட் கிளையண்ட் தரவை வழங்குவது அல்ல. les விவரக்குறிப்பில் (opens in a new tab) கூடுதல் தகவல்கள் கிடைக்கின்றன.

Snap

snap நெறிமுறை (opens in a new tab) என்பது ஒரு விருப்ப நீட்டிப்பாகும், இது பியர்கள் சமீபத்திய நிலைகளின் ஸ்னாப்ஷாட்களைப் பரிமாறிக்கொள்ள அனுமதிக்கிறது, இடைநிலை மெர்க்கல் ட்ரை (Merkle trie) நோடுகளைப் பதிவிறக்காமல் கணக்கு மற்றும் சேமிப்பகத் தரவைச் சரிபார்க்க பியர்களை அனுமதிக்கிறது.

Wit (சாட்சி நெறிமுறை)

சாட்சி நெறிமுறை (witness protocol) (opens in a new tab) என்பது ஒரு விருப்ப நீட்டிப்பாகும், இது பியர்களுக்கு இடையே நிலை சாட்சிகளைப் பரிமாறிக்கொள்ள உதவுகிறது, கிளையண்டுகளைச் செயினின் முனைக்கு ஒத்திசைக்க உதவுகிறது.

Whisper

விஸ்பர் (Whisper) என்பது பிளாக்செயினில் எந்தத் தகவலையும் எழுதாமல் பியர்களுக்கு இடையே பாதுகாப்பான செய்தியிடலை வழங்குவதை நோக்கமாகக் கொண்ட ஒரு நெறிமுறையாகும். இது DevP2P வயர் நெறிமுறையின் ஒரு பகுதியாக இருந்தது, ஆனால் இப்போது நிராகரிக்கப்பட்டுள்ளது. இதே போன்ற நோக்கங்களுடன் பிற தொடர்புடைய திட்டங்கள் (opens in a new tab) உள்ளன.

கருத்தொற்றுமை அடுக்கு

கருத்தொற்றுமை கிளையண்டுகள் வேறுபட்ட விவரக்குறிப்புடன் தனி பியர்-டு-பியர் நெட்வொர்க்கில் பங்கேற்கின்றன. கருத்தொற்றுமை கிளையண்டுகள் பிளாக் காசிப்பில் பங்கேற்க வேண்டும், இதனால் அவை பியர்களிடமிருந்து புதிய பிளாக்குகளைப் பெறலாம் மற்றும் பிளாக் முன்மொழிபவராக (block proposer) அவற்றின் முறை வரும்போது அவற்றை ஒளிபரப்பலாம். செயலாக்க அடுக்கைப் போலவே, இதற்கும் முதலில் ஒரு டிஸ்கவரி நெறிமுறை தேவைப்படுகிறது, இதனால் ஒரு நோடு பியர்களைக் கண்டறிந்து பிளாக்குகள், சான்றளிப்புகள் (attestations) போன்றவற்றைப் பரிமாறிக்கொள்வதற்கான பாதுகாப்பான செஷன்களை நிறுவ முடியும்.

டிஸ்கவரி

செயலாக்க கிளையண்டுகளைப் போலவே, கருத்தொற்றுமை கிளையண்டுகளும் பியர்களைக் கண்டறிய UDP-இல் discv5 (opens in a new tab)-ஐப் பயன்படுத்துகின்றன. discv5-இன் கருத்தொற்றுமை அடுக்குச் செயலாக்கம் செயலாக்க கிளையண்டுகளிலிருந்து வேறுபடுகிறது, இதில் discv5-ஐ libP2P (opens in a new tab) அடுக்கில் இணைக்கும் அடாப்டர் அடங்கும், இது DevP2P-ஐ நிராகரிக்கிறது. செயலாக்க அடுக்கின் RLPx செஷன்கள் libP2P-இன் நாய்ஸ் செக்யூர் சேனல் ஹேண்ட்ஷேக்கிற்கு (noise secure channel handshake) ஆதரவாக நிராகரிக்கப்படுகின்றன.

ENR-கள்

கருத்தொற்றுமை நோடுகளுக்கான ENR-இல் நோடின் பொது விசை, IP முகவரி, UDP மற்றும் TCP போர்ட்கள் மற்றும் இரண்டு கருத்தொற்றுமை சார்ந்த புலங்கள் அடங்கும்: சான்றளிப்பு சப்நெட் பிட்ஃபீல்டு (attestation subnet bitfield) மற்றும் eth2 விசை. முந்தையது குறிப்பிட்ட சான்றளிப்பு காசிப் துணை நெட்வொர்க்குகளில் பங்கேற்கும் பியர்களை நோடுகள் கண்டறிவதை எளிதாக்குகிறது. eth2 விசையானது நோடு எந்த எத்தேரியம் ஃபோர்க் (fork) பதிப்பைப் பயன்படுத்துகிறது என்பது பற்றிய தகவலைக் கொண்டுள்ளது, பியர்கள் சரியான எத்தேரியத்துடன் இணைக்கப்படுவதை உறுதிசெய்கிறது.

libP2P

libP2P அடுக்கு டிஸ்கவரிக்குப் பிறகு அனைத்துத் தொடர்புகளையும் ஆதரிக்கிறது. கிளையண்டுகள் தங்கள் ENR-இல் வரையறுக்கப்பட்டுள்ளபடி IPv4 மற்றும்/அல்லது IPv6-இல் டயல் செய்து கேட்கலாம். libP2P அடுக்கில் உள்ள நெறிமுறைகளை காசிப் மற்றும் req/resp டொமைன்களாகப் பிரிக்கலாம்.

காசிப் (Gossip)

காசிப் டொமைனில் நெட்வொர்க் முழுவதும் வேகமாகப் பரவ வேண்டிய அனைத்துத் தகவல்களும் அடங்கும். இதில் பீக்கான் பிளாக்குகள், சான்றுகள், சான்றளிப்புகள், வெளியேற்றங்கள் (exits) மற்றும் ஸ்லாஷிங்குகள் (slashings) ஆகியவை அடங்கும். இது libP2P gossipsub v1-ஐப் பயன்படுத்தி அனுப்பப்படுகிறது மற்றும் பெற மற்றும் அனுப்ப வேண்டிய காசிப் பேலோடுகளின் அதிகபட்ச அளவு உட்பட ஒவ்வொரு நோடிலும் உள்ளூரில் சேமிக்கப்படும் பல்வேறு மெட்டாடேட்டாவைச் சார்ந்துள்ளது. காசிப் டொமைன் பற்றிய விரிவான தகவல்கள் இங்கே (opens in a new tab) கிடைக்கின்றன.

கோரிக்கை-பதில் (Request-response)

கோரிக்கை-பதில் டொமைனில் கிளையண்டுகள் தங்கள் பியர்களிடமிருந்து குறிப்பிட்ட தகவலைக் கோருவதற்கான நெறிமுறைகள் உள்ளன. சில ரூட் ஹாஷ்களுடன் பொருந்தக்கூடிய அல்லது ஸ்லாட்டுகளின் வரம்பிற்குள் குறிப்பிட்ட பீக்கான் பிளாக்குகளைக் கோருவது எடுத்துக்காட்டுகளில் அடங்கும். பதில்கள் எப்போதும் ஸ்னாப்பி-கம்ப்ரஸ்டு (snappy-compressed) SSZ குறியிடப்பட்ட பைட்டுகளாகவே வழங்கப்படும்.

கருத்தொற்றுமை கிளையண்ட் RLP-ஐ விட SSZ-ஐ ஏன் விரும்புகிறது?

SSZ என்பது எளிய சீரியலைசேஷனைக் (simple serialization) குறிக்கிறது. இது நிலையான ஆஃப்செட்களைப் பயன்படுத்துகிறது, இது முழு கட்டமைப்பையும் டிகோட் செய்யாமல் குறியிடப்பட்ட செய்தியின் தனிப்பட்ட பகுதிகளை டிகோட் செய்வதை எளிதாக்குகிறது, இது கருத்தொற்றுமை கிளையண்டிற்கு மிகவும் பயனுள்ளதாக இருக்கும், ஏனெனில் இது குறியிடப்பட்ட செய்திகளிலிருந்து குறிப்பிட்ட தகவல்களைத் திறமையாகப் பெற முடியும். இது மெர்க்கல் நெறிமுறைகளுடன் ஒருங்கிணைக்கக் குறிப்பாக வடிவமைக்கப்பட்டுள்ளது, மெர்க்கலைசேஷனுக்கான (Merkleization) தொடர்புடைய திறன் ஆதாயங்களுடன். கருத்தொற்றுமை அடுக்கில் உள்ள அனைத்து ஹாஷ்களும் மெர்க்கல் ரூட்கள் என்பதால், இது ஒரு குறிப்பிடத்தக்க முன்னேற்றத்தைச் சேர்க்கிறது. SSZ மதிப்புகளின் தனித்துவமான பிரதிநிதித்துவங்களுக்கும் உத்தரவாதம் அளிக்கிறது.

செயலாக்க மற்றும் கருத்தொற்றுமை கிளையண்டுகளை இணைத்தல்

கருத்தொற்றுமை மற்றும் செயலாக்க கிளையண்டுகள் இரண்டும் இணையாக இயங்குகின்றன. அவை இணைக்கப்பட வேண்டும், இதனால் கருத்தொற்றுமை கிளையண்ட் செயலாக்க கிளையண்டிற்கு வழிமுறைகளை வழங்க முடியும், மேலும் செயலாக்க கிளையண்ட் பீக்கான் பிளாக்குகளில் சேர்ப்பதற்குப் பரிவர்த்தனைகளின் தொகுப்புகளைக் கருத்தொற்றுமை கிளையண்டிற்கு அனுப்ப முடியும். இரண்டு கிளையண்டுகளுக்கும் இடையிலான தொடர்பை உள்ளூர் RPC இணைப்பைப் பயன்படுத்தி அடையலாம். 'Engine-API' (opens in a new tab) எனப்படும் API இரண்டு கிளையண்டுகளுக்கும் இடையே அனுப்பப்படும் வழிமுறைகளை வரையறுக்கிறது. இரண்டு கிளையண்டுகளும் ஒற்றை நெட்வொர்க் அடையாளத்தின் பின்னால் அமர்ந்திருப்பதால், அவை ஒவ்வொரு கிளையண்டிற்கும் (eth1 விசை மற்றும் eth2 விசை) தனி விசையைக் கொண்ட ENR-ஐ (எத்தேரியம் நோடு ரெக்கார்டு) பகிர்ந்து கொள்கின்றன.

கட்டுப்பாட்டு ஓட்டத்தின் சுருக்கம் கீழே காட்டப்பட்டுள்ளது, அடைப்புக்குறிக்குள் தொடர்புடைய நெட்வொர்க்கிங் அடுக்கு உள்ளது.

கருத்தொற்றுமை கிளையண்ட் பிளாக் தயாரிப்பாளராக இல்லாதபோது:

  • கருத்தொற்றுமை கிளையண்ட் பிளாக் காசிப் நெறிமுறை (கருத்தொற்றுமை p2p) வழியாக ஒரு பிளாக்கைப் பெறுகிறது
  • கருத்தொற்றுமை கிளையண்ட் பிளாக்கை முன்-சரிபார்க்கிறது, அதாவது, சரியான மெட்டாடேட்டாவுடன் சரியான அனுப்புநரிடமிருந்து அது வந்ததை உறுதிசெய்கிறது
  • பிளாக்கில் உள்ள பரிவர்த்தனைகள் செயலாக்க அடுக்கிற்குச் செயலாக்க பேலோடாக (உள்ளூர் RPC இணைப்பு) அனுப்பப்படுகின்றன
  • செயலாக்க அடுக்கு பரிவர்த்தனைகளைச் செயல்படுத்துகிறது மற்றும் பிளாக் தலைப்பில் உள்ள நிலையைச் சரிபார்க்கிறது (அதாவது, ஹாஷ்கள் பொருந்துகிறதா எனச் சரிபார்க்கிறது)
  • செயலாக்க அடுக்கு சரிபார்ப்புத் தரவைக் கருத்தொற்றுமை அடுக்கிற்குத் திருப்பி அனுப்புகிறது, பிளாக் இப்போது சரிபார்க்கப்பட்டதாகக் கருதப்படுகிறது (உள்ளூர் RPC இணைப்பு)
  • கருத்தொற்றுமை அடுக்கு அதன் சொந்த பிளாக்செயினின் தலையில் பிளாக்கைச் சேர்க்கிறது மற்றும் அதற்குச் சான்றளிக்கிறது, நெட்வொர்க்கில் சான்றளிப்பை ஒளிபரப்புகிறது (கருத்தொற்றுமை p2p)

கருத்தொற்றுமை கிளையண்ட் பிளாக் தயாரிப்பாளராக இருக்கும்போது:

  • கருத்தொற்றுமை கிளையண்ட் அடுத்த பிளாக் தயாரிப்பாளர் என்ற அறிவிப்பைப் பெறுகிறது (கருத்தொற்றுமை p2p)
  • கருத்தொற்றுமை அடுக்கு செயலாக்க கிளையண்டில் create block முறையை அழைக்கிறது (உள்ளூர் RPC)
  • செயலாக்க அடுக்கு பரிவர்த்தனை காசிப் நெறிமுறையால் (செயலாக்க p2p) நிரப்பப்பட்ட பரிவர்த்தனை மெம்பூலை (mempool) அணுகுகிறது
  • செயலாக்க கிளையண்ட் பரிவர்த்தனைகளை ஒரு பிளாக்காகத் தொகுக்கிறது, பரிவர்த்தனைகளைச் செயல்படுத்துகிறது மற்றும் பிளாக் ஹாஷை உருவாக்குகிறது
  • கருத்தொற்றுமை கிளையண்ட் செயலாக்க கிளையண்டிலிருந்து பரிவர்த்தனைகள் மற்றும் பிளாக் ஹாஷைப் பெற்று அவற்றை பீக்கான் பிளாக்கில் சேர்க்கிறது (உள்ளூர் RPC)
  • கருத்தொற்றுமை கிளையண்ட் பிளாக் காசிப் நெறிமுறையில் பிளாக்கை ஒளிபரப்புகிறது (கருத்தொற்றுமை p2p)
  • மற்ற கிளையண்டுகள் பிளாக் காசிப் நெறிமுறை வழியாக முன்மொழியப்பட்ட பிளாக்கைப் பெறுகின்றன மற்றும் மேலே விவரிக்கப்பட்டுள்ளபடி சரிபார்க்கின்றன (கருத்தொற்றுமை p2p)

போதுமான வேலிடேட்டர்களால் பிளாக் சான்றளிக்கப்பட்டவுடன், அது செயினின் தலையில் சேர்க்கப்பட்டு, நியாயப்படுத்தப்பட்டு, இறுதியில் இறுதி செய்யப்படுகிறது.

எத்தேரியம் கருத்தொற்றுமை கிளையண்ட் நெட்வொர்க்கிங் அடுக்கின் வரைபடம் எத்தேரியம் செயலாக்க கிளையண்ட் நெட்வொர்க்கிங் அடுக்கின் வரைபடம்

கருத்தொற்றுமை மற்றும் செயலாக்க கிளையண்டுகளுக்கான நெட்வொர்க் அடுக்கு வரைபடம், ethresear.ch (opens in a new tab) இலிருந்து

மேலும் படிக்க

DevP2P (opens in a new tab) LibP2p (opens in a new tab) கருத்தொற்றுமை அடுக்கு நெட்வொர்க் விவரக்குறிப்புகள் (opens in a new tab) kademlia முதல் discv5 வரை (opens in a new tab) kademlia கட்டுரை (opens in a new tab) எத்தேரியம் p2p அறிமுகம் (opens in a new tab) eth1/eth2 உறவு (opens in a new tab) மெர்ஜ் மற்றும் eth2 கிளையண்ட் விவரங்கள் வீடியோ (opens in a new tab)

இந்தக் கட்டுரை பயனுள்ளதாக இருந்ததா?