ஒற்றை ஸ்லாட் இறுதிநிலை
ஒரு Ethereum பிளாக் இறுதிநிலையை அடைய சுமார் 15 நிமிடங்கள் ஆகும். இருப்பினும், Ethereum இன் ஒருமித்த பொறிமுறையை (consensus mechanism) பிளாக்குகளை மிகவும் திறமையாக சரிபார்க்கச் செய்து, இறுதிநிலைக்கான நேரத்தை (time-to-finality) கணிசமாகக் குறைக்க முடியும். பதினைந்து நிமிடங்கள் காத்திருப்பதற்குப் பதிலாக, பிளாக்குகள் ஒரே ஸ்லாட்டில் முன்மொழியப்பட்டு இறுதி செய்யப்படலாம். இந்தக் கருத்து ஒற்றை ஸ்லாட் இறுதிநிலை (single slot finality - SSF) என்று அழைக்கப்படுகிறது.
இறுதிநிலை (finality) என்றால் என்ன?
Ethereum இன் ப்ரூஃப்-ஆஃப்-ஸ்டேக் (proof-of-stake) அடிப்படையிலான ஒருமித்த பொறிமுறையில், இறுதிநிலை என்பது ஸ்டேக் செய்யப்பட்ட மொத்த ETH இல் குறைந்தது 33% ஐ எரிக்காமல் (burning) பிளாக்செயினிலிருந்து ஒரு பிளாக்கை மாற்றவோ அல்லது அகற்றவோ முடியாது என்பதற்கான உத்தரவாதத்தைக் குறிக்கிறது. இது 'கிரிப்டோ-பொருளாதார' (crypto-economic) பாதுகாப்பாகும், ஏனெனில் சங்கிலியின் வரிசையையோ அல்லது உள்ளடக்கத்தையோ மாற்றுவதோடு தொடர்புடைய மிக அதிக செலவிலிருந்து இந்த நம்பிக்கை வருகிறது, இது எந்தவொரு பகுத்தறிவுள்ள பொருளாதார நடிகரையும் (rational economic actor) இதை முயற்சிப்பதிலிருந்து தடுக்கும்.
விரைவான இறுதிநிலையை ஏன் இலக்காகக் கொள்ள வேண்டும்?
தற்போதைய இறுதிநிலைக்கான நேரம் மிக நீண்டதாக மாறிவிட்டது. பெரும்பாலான பயனர்கள் இறுதிநிலைக்காக 15 நிமிடங்கள் காத்திருக்க விரும்புவதில்லை, மேலும் அதிக பரிவர்த்தனை செயல்திறனை (transaction throughput) விரும்பும் செயலிகள் மற்றும் பரிமாற்றங்களுக்கு (exchanges) தங்கள் பரிவர்த்தனைகள் நிரந்தரமானவை என்பதை உறுதிப்படுத்த இவ்வளவு நேரம் காத்திருக்க வேண்டியிருப்பது சிரமமாக உள்ளது. ஒரு பிளாக்கின் முன்மொழிவுக்கும் இறுதிப்படுத்தலுக்கும் இடையில் தாமதம் இருப்பது, ஒரு தாக்குபவர் சில பிளாக்குகளைத் தணிக்கை செய்ய அல்லது MEV ஐப் பிரித்தெடுக்கப் பயன்படுத்தக்கூடிய குறுகிய மறுசீரமைப்புகளுக்கான (short reorgs) வாய்ப்பையும் உருவாக்குகிறது. பிளாக்குகளை கட்டம் கட்டமாக மேம்படுத்துவதைக் கையாளும் பொறிமுறையும் மிகவும் சிக்கலானது மற்றும் பாதுகாப்பு பாதிப்புகளை மூடுவதற்கு பல முறை பேட்ச் (patch) செய்யப்பட்டுள்ளது, இது Ethereum குறியீட்டுத் தளத்தின் (codebase) நுட்பமான பிழைகள் (subtle bugs) எழ வாய்ப்புள்ள பகுதிகளில் ஒன்றாக அமைகிறது. இறுதிநிலைக்கான நேரத்தை ஒற்றை ஸ்லாட்டாகக் குறைப்பதன் மூலம் இந்தச் சிக்கல்கள் அனைத்தையும் நீக்க முடியும்.
பரவலாக்கம் / நேரம் / மேல்நிலை பரிமாற்றம் (The decentralization / time / overhead tradeoff)
இறுதிநிலை உத்தரவாதம் என்பது ஒரு புதிய பிளாக்கின் உடனடிப் பண்பு அல்ல; ஒரு புதிய பிளாக் இறுதி செய்யப்படுவதற்கு நேரம் எடுக்கும். இதற்குக் காரணம், நெட்வொர்க்கில் ஸ்டேக் செய்யப்பட்ட மொத்த ETH இல் குறைந்தது 2/3 பங்கைப் பிரதிநிதித்துவப்படுத்தும் வேலிடேட்டர்கள் (validators) பிளாக்கிற்கு வாக்களிக்க வேண்டும் ("சான்றளிக்க" - attest), அப்போதுதான் அது இறுதி செய்யப்பட்டதாகக் கருதப்படும். ஒரு பிளாக் அந்த 2/3 வரம்பை அடைந்துள்ளதா இல்லையா என்பதை அறிய, நெட்வொர்க்கில் உள்ள ஒவ்வொரு வேலிடேட்டிங் நோடும் (validating node) மற்ற நோடுகளிலிருந்து வரும் சான்றளிப்புகளைச் (attestations) செயல்படுத்த வேண்டும்.
இறுதிநிலையை அடைய அனுமதிக்கப்படும் நேரம் எவ்வளவு குறைவாக இருக்கிறதோ, அவ்வளவு அதிக கணினி சக்தி (computing power) ஒவ்வொரு நோடிலும் தேவைப்படுகிறது, ஏனெனில் சான்றளிப்பு செயலாக்கம் (attestation processing) வேகமாகச் செய்யப்பட வேண்டும். மேலும், நெட்வொர்க்கில் அதிக வேலிடேட்டிங் நோடுகள் இருக்கும்போது, ஒவ்வொரு பிளாக்கிற்கும் அதிக சான்றளிப்புகள் செயல்படுத்தப்பட வேண்டும், இதுவும் தேவையான செயலாக்க சக்தியை (processing power) அதிகரிக்கிறது. அதிக செயலாக்க சக்தி தேவைப்படும்போது, குறைவான நபர்களே பங்கேற்க முடியும், ஏனெனில் ஒவ்வொரு வேலிடேட்டிங் நோடையும் இயக்க அதிக விலையுயர்ந்த வன்பொருள் (hardware) தேவைப்படுகிறது. பிளாக்குகளுக்கு இடையிலான நேரத்தை அதிகரிப்பது ஒவ்வொரு நோடிலும் தேவைப்படும் கணினி சக்தியைக் குறைக்கிறது, ஆனால் சான்றளிப்புகள் மெதுவாகச் செயல்படுத்தப்படுவதால் இறுதிநிலைக்கான நேரத்தையும் நீட்டிக்கிறது.
எனவே, மேல்நிலை (overhead - கணினி சக்தி), பரவலாக்கம் (சங்கிலியைச் சரிபார்ப்பதில் பங்கேற்கக்கூடிய நோடுகளின் எண்ணிக்கை) மற்றும் இறுதிநிலைக்கான நேரம் ஆகியவற்றுக்கு இடையே ஒரு பரிமாற்றம் (trade-off) உள்ளது. சிறந்த அமைப்பு குறைந்தபட்ச கணினி சக்தி, அதிகபட்ச பரவலாக்கம் மற்றும் குறைந்தபட்ச இறுதிநிலைக்கான நேரம் ஆகியவற்றைச் சமநிலைப்படுத்துகிறது.
Ethereum இன் தற்போதைய ஒருமித்த பொறிமுறை இந்த மூன்று அளவுருக்களையும் பின்வருமாறு சமநிலைப்படுத்தியது:
- குறைந்தபட்ச ஸ்டேக்கை 32 ETH ஆக அமைத்தல். இது தனிப்பட்ட நோடுகளால் செயல்படுத்தப்பட வேண்டிய வேலிடேட்டர்களின் சான்றளிப்புகளின் எண்ணிக்கையில் ஒரு மேல் வரம்பை (upper limit) அமைக்கிறது, எனவே ஒவ்வொரு நோடிற்குமான கணக்கீட்டுத் தேவைகளிலும் ஒரு மேல் வரம்பை அமைக்கிறது.
- இறுதிநிலைக்கான நேரத்தை ~15 நிமிடங்களாக அமைத்தல். இது சாதாரண வீட்டு கணினிகளில் இயங்கும் வேலிடேட்டர்களுக்கு ஒவ்வொரு பிளாக்கிற்கான சான்றளிப்புகளையும் பாதுகாப்பாகச் செயல்படுத்தப் போதுமான நேரத்தை அளிக்கிறது.
தற்போதைய பொறிமுறை வடிவமைப்பில், இறுதிநிலைக்கான நேரத்தைக் குறைக்க, நெட்வொர்க்கில் உள்ள வேலிடேட்டர்களின் எண்ணிக்கையைக் குறைப்பது அல்லது ஒவ்வொரு நோடிற்குமான வன்பொருள் தேவைகளை அதிகரிப்பது அவசியமாகும். இருப்பினும், சான்றளிப்புகள் செயல்படுத்தப்படும் விதத்தில் மேம்பாடுகளைச் செய்ய முடியும், இது ஒவ்வொரு நோடிலும் மேல்நிலையைச் சேர்க்காமல் அதிக சான்றளிப்புகளைக் கணக்கிட அனுமதிக்கும். மிகவும் திறமையான செயலாக்கம், இரண்டு எபோக்குகளில் (epochs) அல்லாமல், ஒரே ஸ்லாட்டிற்குள் இறுதிநிலையைத் தீர்மானிக்க அனுமதிக்கும்.
SSF-க்கான வழிகள்
Ethereum ஒருமித்த பொறிமுறை வடிவமைக்கப்பட்டதிலிருந்து, கையொப்ப ஒருங்கிணைப்புத் திட்டம் (BLS) ஆரம்பத்தில் நினைத்ததை விட மிகவும் அளவிடக்கூடியதாக (scalable) கண்டறியப்பட்டுள்ளது, அதே நேரத்தில் கையொப்பங்களைச் செயல்படுத்திச் சரிபார்க்கும் கிளையண்டுகளின் (clients) திறனும் மேம்பட்டுள்ளது. ஏராளமான வேலிடேட்டர்களிடமிருந்து சான்றளிப்புகளைச் செயல்படுத்துவது உண்மையில் ஒரே ஸ்லாட்டிற்குள் சாத்தியமாகும் என்று மாறிவிட்டது. எடுத்துக்காட்டாக, ஒரு மில்லியன் வேலிடேட்டர்கள் ஒவ்வொரு ஸ்லாட்டிலும் இரண்டு முறை வாக்களித்து, ஸ்லாட் நேரங்கள் 16 வினாடிகளாகச் சரிசெய்யப்பட்டால், ஸ்லாட்டிற்குள் அனைத்து 1 மில்லியன் சான்றளிப்புகளையும் செயல்படுத்த நோடுகள் வினாடிக்குக் குறைந்தபட்சம் 125,000 ஒருங்கிணைப்புகள் என்ற விகிதத்தில் கையொப்பங்களைச் சரிபார்க்க வேண்டியிருக்கும். உண்மையில், ஒரு சாதாரண கணினிக்கு ஒரு கையொப்பச் சரிபார்ப்பைச் செய்ய சுமார் 500 நானோ விநாடிகள் ஆகும், அதாவது 125,000 ஐ ~62.5 ms இல் செய்ய முடியும் - இது ஒரு வினாடி வரம்பிற்குக் கீழே உள்ளது.
எடுத்துக்காட்டாக, ஒரு ஸ்லாட்டிற்கு 125,000 தோராயமாகத் தேர்ந்தெடுக்கப்பட்ட வேலிடேட்டர்களைக் கொண்ட சூப்பர்கமிட்டிகளை (supercommittees) உருவாக்குவதன் மூலம் மேலும் செயல்திறன் ஆதாயங்களைப் பெறலாம். இந்த வேலிடேட்டர்கள் மட்டுமே ஒரு பிளாக்கிற்கு வாக்களிக்க முடியும், எனவே வேலிடேட்டர்களின் இந்தத் துணைக்குழு மட்டுமே ஒரு பிளாக் இறுதி செய்யப்படுகிறதா என்பதைத் தீர்மானிக்கிறது. இது ஒரு நல்ல யோசனையா இல்லையா என்பது, Ethereum மீதான வெற்றிகரமான தாக்குதல் எவ்வளவு செலவுமிக்கதாக இருக்க வேண்டும் என்று சமூகம் விரும்புகிறது என்பதைப் பொறுத்தது. இதற்குக் காரணம், ஸ்டேக் செய்யப்பட்ட மொத்த ஈதரில் 2/3 தேவைப்படுவதற்குப் பதிலாக, ஒரு தாக்குபவர் அந்தச் சூப்பர்கமிட்டியில் ஸ்டேக் செய்யப்பட்ட ஈதரில் 2/3 ஐக் கொண்டு ஒரு நேர்மையற்ற பிளாக்கை இறுதி செய்ய முடியும். இது இன்னும் ஒரு செயலில் உள்ள ஆராய்ச்சிப் பகுதியாகும், ஆனால் முதலில் சூப்பர்கமிட்டிகள் தேவைப்படும் அளவுக்குப் பெரிய வேலிடேட்டர் தொகுப்பிற்கு, அந்தத் துணைக்குழுக்களில் ஒன்றைத் தாக்குவதற்கான செலவு மிக அதிகமாக இருக்கும் என்பது நம்பத்தகுந்ததாகத் தெரிகிறது (எ.கா., ETH மதிப்பிடப்பட்ட தாக்குதல் செலவு 2/3 * 125,000 * 32 = ~2.6 மில்லியன் ETH ஆக இருக்கும்). வேலிடேட்டர் தொகுப்பின் அளவை அதிகரிப்பதன் மூலம் தாக்குதலின் செலவைச் சரிசெய்யலாம் (எ.கா., தாக்குதலின் செலவு 1 மில்லியன் ஈதர், 4 மில்லியன் ஈதர், 10 மில்லியன் ஈதர் போன்றவற்றுக்குச் சமமாக இருக்கும்படி வேலிடேட்டர் அளவைச் சரிசெய்யவும்). சமூகத்தின் ஆரம்ப வாக்கெடுப்புகள் (opens in a new tab) 1-2 மில்லியன் ஈதர் என்பது ஏற்றுக்கொள்ளக்கூடிய தாக்குதல் செலவு என்று பரிந்துரைப்பதாகத் தெரிகிறது, இது ஒரு சூப்பர்கமிட்டிக்கு ~65,536 - 97,152 வேலிடேட்டர்களைக் குறிக்கிறது.
இருப்பினும், சரிபார்ப்பு என்பது உண்மையான இடையூறு (bottleneck) அல்ல - கையொப்ப ஒருங்கிணைப்புதான் வேலிடேட்டர் நோடுகளுக்குச் சவாலாக உள்ளது. கையொப்ப ஒருங்கிணைப்பை அளவிட, ஒவ்வொரு சப்நெட்டிலும் உள்ள வேலிடேட்டர்களின் எண்ணிக்கையை அதிகரிப்பது, சப்நெட்டுகளின் எண்ணிக்கையை அதிகரிப்பது அல்லது ஒருங்கிணைப்பின் கூடுதல் அடுக்குகளைச் சேர்ப்பது (அதாவது, கமிட்டிகளின் கமிட்டிகளைச் செயல்படுத்துவது) தேவைப்படலாம். தீர்வின் ஒரு பகுதி சிறப்பு அக்ரிகேட்டர்களை அனுமதிப்பதாக இருக்கலாம் - முன்மொழிபவர்-உருவாக்குபவர் பிரிப்பு (proposer-builder separation - PBS) மற்றும் Danksharding ஆகியவற்றின் கீழ் ரோலப் (rollup) தரவிற்கான பிளாக் உருவாக்கம் மற்றும் கமிட்மெண்ட்களை உருவாக்குவது சிறப்பு பிளாக் உருவாக்குபவர்களுக்கு (block builders) அவுட்சோர்ஸ் (outsource) செய்யப்படுவது போல.
SSF இல் ஃபோர்க்-சாய்ஸ் விதியின் (fork-choice rule) பங்கு என்ன?
இன்றைய ஒருமித்த பொறிமுறையானது ஃபைனாலிட்டி கேட்ஜெட் (finality gadget - 2/3 வேலிடேட்டர்கள் ஒரு குறிப்பிட்ட சங்கிலிக்குச் சான்றளித்துள்ளார்களா என்பதைத் தீர்மானிக்கும் அல்காரிதம்) மற்றும் ஃபோர்க் சாய்ஸ் விதி (fork choice rule - பல விருப்பங்கள் இருக்கும்போது எந்தச் சங்கிலி சரியானது என்பதை முடிவு செய்யும் அல்காரிதம்) ஆகியவற்றுக்கு இடையேயான நெருக்கமான இணைப்பை (tight coupling) நம்பியுள்ளது. ஃபோர்க் சாய்ஸ் அல்காரிதம் கடைசியாக இறுதி செய்யப்பட்ட பிளாக்கிற்குப் பிறகு உள்ள பிளாக்குகளை மட்டுமே கருத்தில் கொள்கிறது. SSF இன் கீழ், ஃபோர்க் சாய்ஸ் விதி கருத்தில் கொள்ள எந்த பிளாக்குகளும் இருக்காது, ஏனெனில் பிளாக் முன்மொழியப்படும் அதே ஸ்லாட்டிலேயே இறுதிநிலை நிகழ்கிறது. இதன் பொருள் SSF இன் கீழ் எந்த நேரத்திலும் ஃபோர்க் சாய்ஸ் அல்காரிதம் அல்லது ஃபைனாலிட்டி கேட்ஜெட் செயலில் இருக்கும். 2/3 வேலிடேட்டர்கள் ஆன்லைனில் இருந்து நேர்மையாகச் சான்றளிக்கும் பிளாக்குகளை ஃபைனாலிட்டி கேட்ஜெட் இறுதி செய்யும். ஒரு பிளாக் 2/3 வரம்பைத் தாண்ட முடியாவிட்டால், எந்தச் சங்கிலியைப் பின்பற்ற வேண்டும் என்பதைத் தீர்மானிக்க ஃபோர்க் சாய்ஸ் விதி தொடங்கும். இது >1/3 வேலிடேட்டர்கள் ஆஃப்லைனில் செல்லும் சங்கிலியை மீட்டெடுக்கும் இன்ஆக்டிவிட்டி லீக் (inactivity leak) பொறிமுறையைப் பராமரிப்பதற்கான வாய்ப்பையும் உருவாக்குகிறது, இருப்பினும் சில கூடுதல் நுணுக்கங்களுடன்.
நிலுவையில் உள்ள சிக்கல்கள்
ஒரு சப்நெட்டிற்கு வேலிடேட்டர்களின் எண்ணிக்கையை அதிகரிப்பதன் மூலம் ஒருங்கிணைப்பை அளவிடுவதில் உள்ள சிக்கல் என்னவென்றால், இது பியர்-டு-பியர் (peer-to-peer) நெட்வொர்க்கில் அதிக சுமைக்கு வழிவகுக்கிறது. ஒருங்கிணைப்புகளின் அடுக்குகளைச் சேர்ப்பதில் உள்ள சிக்கல் என்னவென்றால், இது வடிவமைக்க மிகவும் சிக்கலானது மற்றும் தாமதத்தைச் சேர்க்கிறது (அதாவது, பிளாக் முன்மொழிபவர் அனைத்து சப்நெட் அக்ரிகேட்டர்களிடமிருந்தும் கேட்க அதிக நேரம் ஆகலாம்). BLS கையொப்ப ஒருங்கிணைப்புடன் கூட, ஒவ்வொரு ஸ்லாட்டிலும் சாத்தியமாகச் செயல்படுத்தக்கூடியதை விட நெட்வொர்க்கில் அதிக செயலில் உள்ள வேலிடேட்டர்கள் இருக்கும் சூழ்நிலையை எப்படிக் கையாள்வது என்பதும் தெளிவாக இல்லை. ஒரு சாத்தியமான தீர்வு என்னவென்றால், அனைத்து வேலிடேட்டர்களும் ஒவ்வொரு ஸ்லாட்டிலும் சான்றளிப்பதாலும், SSF இன் கீழ் கமிட்டிகள் இல்லாததாலும், பயனுள்ள இருப்பின் (effective balance) மீதான 32 ETH வரம்பை முழுமையாக அகற்றலாம், அதாவது பல வேலிடேட்டர்களை நிர்வகிக்கும் ஆபரேட்டர்கள் தங்கள் ஸ்டேக்கை ஒருங்கிணைத்துக் குறைவானவற்றை இயக்கலாம், இது முழு வேலிடேட்டர் தொகுப்பிற்கும் கணக்கிட வேலிடேட்டிங் நோடுகள் செயல்படுத்த வேண்டிய செய்திகளின் எண்ணிக்கையைக் குறைக்கிறது. இது பெரிய ஸ்டேக்கர்கள் தங்கள் வேலிடேட்டர்களை ஒருங்கிணைக்க ஒப்புக்கொள்வதைப் பொறுத்தது. எந்த நேரத்திலும் வேலிடேட்டர்களின் எண்ணிக்கை அல்லது ஸ்டேக் செய்யப்பட்ட ETH இன் அளவு ஆகியவற்றின் மீது ஒரு நிலையான வரம்பை (fixed cap) விதிப்பதும் சாத்தியமாகும். இருப்பினும், எந்த வேலிடேட்டர்கள் பங்கேற்க அனுமதிக்கப்படுகிறார்கள், எவை அனுமதிக்கப்படவில்லை என்பதைத் தீர்மானிக்க இதற்குச் சில பொறிமுறைகள் தேவைப்படுகின்றன, இது தேவையற்ற இரண்டாம் நிலை விளைவுகளை (secondary effects) உருவாக்க வாய்ப்புள்ளது.
தற்போதைய முன்னேற்றம்
SSF ஆராய்ச்சி கட்டத்தில் உள்ளது. இது பல ஆண்டுகளுக்கு வெளியிடப்படும் என்று எதிர்பார்க்கப்படவில்லை, Verkle trees மற்றும் Danksharding போன்ற பிற கணிசமான மேம்படுத்தல்களுக்குப் பிறகு இது வர வாய்ப்புள்ளது.
மேலும் படிக்க
- EDCON 2022 இல் SSF பற்றி விட்டாலிக் (Vitalik) (opens in a new tab)
- விட்டாலிக்கின் குறிப்புகள்: ஒற்றை ஸ்லாட் இறுதிநிலைக்கான பாதைகள் (Paths to single slot finality) (opens in a new tab)
பக்கம் கடைசியாகப் புதுப்பிக்கப்பட்டது: 23 பிப்ரவரி, 2026