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

வெர்கிள் மரங்கள்

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

நிலையற்ற தன்மை

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

எத்திரியம் கிளையண்டுகள் தற்போது அதன் நிலைத் தரவைச் சேமிக்க பாட்ரிசியா மெர்க்கல் ட்ரை (Patricia Merkle Trie) எனப்படும் தரவுக் கட்டமைப்பைப் பயன்படுத்துகின்றன. தனிப்பட்ட கணக்குகள் பற்றிய தகவல்கள் ட்ரையில் இலைகளாகச் சேமிக்கப்படுகின்றன, மேலும் ஒரே ஒரு ஹாஷ் மட்டுமே எஞ்சியிருக்கும் வரை இலைகளின் ஜோடிகள் மீண்டும் மீண்டும் ஹாஷ் செய்யப்படுகின்றன. இந்த இறுதி ஹாஷ் "ரூட்" (root) என்று அழைக்கப்படுகிறது. தொகுதிகளைச் சரிபார்க்க, எத்திரியம் கிளையண்டுகள் ஒரு தொகுதியில் உள்ள அனைத்துப் பரிவர்த்தனைகளையும் செயல்படுத்தி, அவற்றின் உள்ளூர் நிலை ட்ரையைப் புதுப்பிக்கின்றன. உள்ளூர் மரத்தின் ரூட், தொகுதி முன்மொழிபவர் வழங்கிய ரூட்டிற்குச் சமமாக இருந்தால் தொகுதி செல்லுபடியாகும் என்று கருதப்படுகிறது, ஏனெனில் தொகுதி முன்மொழிபவர் மற்றும் சரிபார்க்கும் கணு செய்யும் கணக்கீட்டில் ஏதேனும் வேறுபாடுகள் இருந்தால் ரூட் ஹாஷ் முற்றிலும் மாறுபடும். இதில் உள்ள சிக்கல் என்னவென்றால், தொகுதிச்சங்கிலியைச் சரிபார்க்க ஒவ்வொரு கிளையண்டும் தலைப்புத் தொகுதி மற்றும் பல வரலாற்றுத் தொகுதிகளுக்கான முழு நிலை ட்ரையையும் சேமிக்க வேண்டும் (கெத்தில் (Geth) உள்ள இயல்புநிலை, தலைப்பிற்குப் பின்னால் 128 தொகுதிகளுக்கான நிலைத் தரவை வைத்திருப்பதாகும்). இதற்கு கிளையண்டுகள் அதிக அளவிலான வட்டு இடத்திற்கான அணுகலைக் கொண்டிருக்க வேண்டும், இது மலிவான, குறைந்த சக்தி கொண்ட வன்பொருளில் முழு கணுக்களை இயக்குவதற்கு ஒரு தடையாகும். இதற்கான ஒரு தீர்வு, நிலை ட்ரையை மிகவும் திறமையான கட்டமைப்பிற்கு (வெர்கிள் மரம்) புதுப்பிப்பதாகும், இது முழு நிலைத் தரவிற்குப் பதிலாகப் பகிரக்கூடிய தரவிற்கான சிறிய "சான்றைப்" பயன்படுத்திச் சுருக்கப்படலாம். நிலைத் தரவை வெர்கிள் மரமாக மறுவடிவமைப்பது நிலையற்ற கிளையண்டுகளுக்கு மாறுவதற்கான ஒரு படிக்கல்லாகும்.

சான்று என்றால் என்ன, அவை நமக்கு ஏன் தேவை?

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

வெர்கிள் மரங்கள் ஏன் சிறிய சான்றுகளைச் செயல்படுத்துகின்றன?

மெர்க்கல் ட்ரையின் கட்டமைப்பு சான்றின் அளவுகளை மிகப் பெரியதாக்குகிறது - 12 வினாடி நேரப்பகுதிக்குள் சக-முனையங்களுக்கு இடையே பாதுகாப்பாக ஒளிபரப்ப முடியாத அளவுக்குப் பெரியது. இதற்குக் காரணம், சான்று என்பது இலைகளில் உள்ள தரவை ரூட் ஹாஷுடன் இணைக்கும் ஒரு பாதையாகும். தரவைச் சரிபார்க்க, ஒவ்வொரு இலையையும் ரூட்டுடன் இணைக்கும் அனைத்து இடைநிலை ஹாஷ்கள் மட்டுமின்றி, அனைத்து "உடன்பிறப்பு" (sibling) கணுக்களையும் கொண்டிருப்பது அவசியமாகும். ட்ரையில் அடுத்த ஹாஷை உருவாக்க, ஆதாரத்தில் உள்ள ஒவ்வொரு கணுவும் ஹாஷ் செய்யப்படும் ஒரு உடன்பிறப்பைக் கொண்டுள்ளது. இது நிறையத் தரவாகும். மரத்தின் இலைகளுக்கும் அதன் ரூட்டிற்கும் இடையிலான தூரத்தைக் குறைப்பதன் மூலமும், ரூட் ஹாஷைச் சரிபார்க்க உடன்பிறப்புக் கணுக்களை வழங்க வேண்டிய அவசியத்தை நீக்குவதன் மூலமும் வெர்கிள் மரங்கள் சான்றின் அளவைக் குறைக்கின்றன. ஹாஷ்-பாணி வெக்டர் உறுதிப்பாட்டிற்குப் பதிலாக சக்திவாய்ந்த பல்லுறுப்புக்கோவை உறுதிப்பாடு (polynomial commitment) திட்டத்தைப் பயன்படுத்துவதன் மூலம் இன்னும் அதிக இடத் திறன் பெறப்படும். பல்லுறுப்புக்கோவை உறுதிப்பாடு, சான்று நிரூபிக்கும் இலைகளின் எண்ணிக்கையைப் பொருட்படுத்தாமல் ஒரு நிலையான அளவைக் கொண்டிருக்க அனுமதிக்கிறது.

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

சான்றின் அளவு அது உள்ளடக்கிய இலைகளின் எண்ணிக்கையைப் பொறுத்து மாறுபடும். சான்று 1000 இலைகளை உள்ளடக்கியது என்று வைத்துக்கொண்டால், ஒரு மெர்க்கல் ட்ரைக்கான சான்று சுமார் 3.5MB ஆக இருக்கும் (ட்ரையில் 7 நிலைகள் இருப்பதாகக் கருதி). வெர்கிள் மரத்தில் அதே தரவிற்கான சான்று (மரத்தில் 4 நிலைகள் இருப்பதாகக் கருதி) சுமார் 150 kB ஆக இருக்கும் - சுமார் 23 மடங்கு சிறியது. சான்றின் அளவிலான இந்தக் குறைப்பு, நிலையற்ற கிளையண்ட் சான்றுகளை ஏற்றுக்கொள்ளக்கூடிய அளவுக்குச் சிறியதாக இருக்க அனுமதிக்கும். எந்தக் குறிப்பிட்ட பல்லுறுப்புக்கோவை உறுதிப்பாடு பயன்படுத்தப்படுகிறது என்பதைப் பொறுத்து பல்லுறுப்புக்கோவை சான்றுகள் 0.128 - 1 kB வரை இருக்கும்.

வெர்கிள் மரத்தின் கட்டமைப்பு என்ன?

வெர்கிள் மரங்கள் என்பவை (key,value) ஜோடிகளாகும், இதில் விசைகள் (keys) 31-பைட் தண்டு (stem) மற்றும் ஒற்றை பைட் பின்னொட்டு (suffix) ஆகியவற்றைக் கொண்ட 32-பைட் கூறுகளாகும். இந்த விசைகள் நீட்டிப்புக் (extension) கணுக்கள் மற்றும் உள் (inner) கணுக்களாக ஒழுங்கமைக்கப்பட்டுள்ளன. நீட்டிப்புக் கணுக்கள் வெவ்வேறு பின்னொட்டுகளைக் கொண்ட 256 குழந்தைகளுக்கான ஒற்றைத் தண்டைக் குறிக்கின்றன. உள் கணுக்களும் 256 குழந்தைகளைக் கொண்டுள்ளன, ஆனால் அவை பிற நீட்டிப்புக் கணுக்களாக இருக்கலாம். வெர்கிள் மரம் மற்றும் மெர்க்கல் மரக் கட்டமைப்பு ஆகியவற்றுக்கு இடையேயான முக்கிய வேறுபாடு என்னவென்றால், வெர்கிள் மரம் மிகவும் தட்டையானது, அதாவது ஒரு இலையை ரூட்டுடன் இணைக்கும் இடைநிலைக் கணுக்கள் குறைவு, எனவே ஒரு ஆதாரத்தை உருவாக்கக் குறைவான தரவே தேவைப்படுகிறது.

Diagram of a Verkle tree data structure

வெர்கிள் மரங்களின் கட்டமைப்பு பற்றி மேலும் படிக்கவும் (opens in a new tab)

தற்போதைய முன்னேற்றம்

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

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

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