எத்திரியத்தில் பூஜ்ஜிய-அறிவுச் சான்றுகளுடன் தனியுரிமைச் செயலிகளை உருவாக்குவது எப்படி

எத்திரியம் வடிவமைப்பிலேயே முற்றிலும் பொதுவானது. ஒவ்வொரு முகவரி, இருப்பு, பரிவர்த்தனை, ஒப்பந்த அழைப்பு மற்றும் நிகழ்வுகள் ஆகியவற்றை தொகுதி ஆராய்வி உள்ள எவரும் பார்க்க முடியும். நீங்கள் சரிபார்க்கும் தன்மையை விரும்பும்போது அந்த வெளிப்படைத்தன்மை பயனுள்ளதாக இருக்கும். பயனர்கள் ஒவ்வொரு செயலையும் ஒரே பணப்பையுடன் இணைக்காமல் வாக்கு, உரிமைக்கோரல், திரும்பப் பெறுதல் அல்லது உறுப்பினராக இருப்பதை நிரூபிக்க வேண்டியிருக்கும் போது இது ஒரு சிக்கலாகிறது.
அநாமதேய உறுப்பினர் என்பது எத்திரியத்தில் உள்ள பெரிய அளவிலான தனியுரிமைச் செயலிகளுக்கு ஆற்றலளிக்கும் மறுபயன்பாட்டு முறைமையாகும். மக்கள் முதலில் பதிவு செய்கிறார்கள், பின்னர் அவர்கள் எந்த உறுப்பினர் என்பதை வெளிப்படுத்தாமல் குழுவைச் சேர்ந்தவர்கள் என்பதை நிரூபிக்கிறார்கள். பதிவு செய்யும் பணப்பைக்கும் செயல்படும் பணப்பைக்கும் இடையிலான பாலம் ஒரு பூஜ்ஜிய-அறிவுச் சான்று ஆகும், மேலும் அந்தப் பாலத்தை யார் கடந்தார்கள் என்பதை அது வெளிப்படுத்தாது.
சுற்றியுள்ள தயாரிப்பு மாறுகிறது, ஆனால் தனியுரிமை கட்டமைப்பு அப்படியே இருக்கும்.
அநாமதேய வாக்குப்பதிவு மூலம் விளக்கப்பட்ட முறைமை
இந்த முறைமை மூன்று பகுதிகளைக் கொண்டுள்ளது. ஒரு உறுதிப்பாடு ஒவ்வொரு உறுப்பினரையும் பதிவு செய்கிறது. ஒரு மெர்க்கல் மரம் அந்த உறுதிப்பாடுகளை ஒரு கூட்டமாக மாற்றுகிறது. ஒரு சான்று மற்றும் ஒரு ரத்துசெய்தல் (nullifier) எந்த உறுப்பினர் செயல்பட்டார் என்பதை வெளிப்படுத்தாமல் ஒரு உறுப்பினரை ஒரு முறை செயல்பட அனுமதிக்கிறது.
படி ஒன்று: பதிவு செய்தல்
ஒவ்வொரு வாக்காளரும் புறச்சங்கிலியில் ரகசியம் மற்றும் ரத்துசெய்தல் ஆகிய இரண்டு தனிப்பட்ட மதிப்புகளை உருவாக்குகிறார்கள். வாக்காளர் அந்த மதிப்புகளை ஒரு பொது உறுதிப்பாடாக ஹாஷ் செய்கிறார், பின்னர் அந்த உறுதிப்பாட்டை சங்கிலிசார் பதிவு செய்கிறார்.
உறுதிப்பாடு என்பது பொதுப் பதிவு ஆவணமாகும். ரகசியம் மற்றும் ரத்துசெய்தல் ஆகியவை வாக்காளருக்குப் பின்னர் தேவைப்படும் தனிப்பட்ட குறிப்புகளாகும். குறிப்பை இழந்துவிட்டால் வாக்காளரால் உறுப்பினராக இருப்பதை நிரூபிக்க முடியாது. அது கசிந்துவிட்டால், பயனரின் இடத்தில் வேறு யாராவது வாக்களிக்க முடியும்.
உறுதிப்பாடு ஒரு ஹாஷ் என்பதால், பார்வையாளர்களால் அதனுள் உள்ள தனிப்பட்ட மதிப்புகளை மீட்டெடுக்க முடியாது. அந்தப் பதிவை பின்னர் யார் பயன்படுத்துவார்கள் என்பதை வெளிப்படுத்தாமல் "யாரோ பதிவு செய்துள்ளனர்" என்று உறுதிப்பாடு கூறுகிறது.
படி இரண்டு: கூட்டத்தை உருவாக்குதல்
அதிகமான வாக்காளர்கள் பதிவு செய்யும்போது, செயலி அவர்களின் உறுதிப்பாடுகளை ஒரு மெர்க்கல் மரம் ஆக சேகரிக்கிறது. ஒரு மெர்க்கல் மரம் மதிப்புகளின் நீண்ட பட்டியலை வேர் (root) எனப்படும் ஒற்றை ஹாஷ் ஆக சுருக்குகிறது. பட்டியலில் உள்ள எந்தவொரு மதிப்பையும் மாற்றினால் ஹாஷ் மாறும், எனவே வேர் முழுத் தொகுப்பின் சேதப்படுத்தப்பட்டதை வெளிப்படுத்தும் சுருக்கமாக செயல்படுகிறது.
அந்த மரம் உங்கள் அநாமதேயக் கணம் ஆகும். மரத்தில் 10 பயனர்கள் இருந்தால், ஒரு பார்வையாளர் பிந்தைய செயலை அந்த 10 பேரில் ஒருவராகக் குறைக்க முடியும். மரத்தில் 10,000 பயனர்கள் இருந்தால், செயலை ஒரு நபருடன் இணைப்பது மிகவும் கடினம். குறியாக்கவியல் சரியாக இருந்தாலும், சிறிய அநாமதேயக் கணம் கொண்ட ஒரு தனியுரிமைச் செயலி பொதுவாக மிகவும் தனிப்பட்டதாக இருக்காது.
படி மூன்று: அநாமதேயமாகச் செயல்படுதல்
வாக்கெடுப்பு தொடங்கும் போது, உறுதிப்பாட்டைப் பதிவு செய்த அதே பணப்பை மூலம் வாக்காளர் வாக்களிக்கக் கூடாது. பதிவு செய்த பணப்பையிலிருந்து வாக்களிப்பது, வாக்கை நேரடியாகப் பதிவு செய்தவருடன் இணைத்து தனியுரிமைப் பணியை செயல்தவிர்க்கும். அதற்குப் பதிலாக, வாக்காளர் ஒரு பூஜ்ஜிய-அறிவுச் சான்று ஒன்றை உருவாக்குகிறார். "பதிவுசெய்யப்பட்ட உறுதிப்பாட்டை உருவாக்கும் தனிப்பட்ட மதிப்புகள் எனக்குத் தெரியும், மேலும் இந்த வாக்கெடுப்பிற்கான சரியான ரத்துசெய்தல் ஹாஷ்-ஐ நான் வெளிப்படுத்துகிறேன்" என்று கூறும் ஒரு சுற்றாக (circuit) இந்த அறிக்கை குறியாக்கம் செய்யப்பட்டுள்ளது.
இந்த அறிக்கை உண்மை என்பதை சரிபார்ப்பி ஒப்பந்தம் நம்புவதற்கு சான்று உதவுகிறது. இது ரகசியம், ரத்துசெய்தல் அல்லது எந்த உறுதிப்பாடு பயன்படுத்தப்பட்டது என்பதை வெளிப்படுத்தாது.
ரத்துசெய்தல் என்பது இரட்டை வாக்குப்பதிவைத் தடுப்பதாகும். சான்றுடன், வாக்காளர் ஒரு ரத்துசெய்தல் ஹாஷ்-ஐ வெளியிடுகிறார். வாக்கை ஏற்றுக்கொண்ட பிறகு வாக்குப்பதிவு ஒப்பந்தம் அந்த ஹாஷ்-ஐ சேமிக்கிறது. அதே வாக்கெடுப்பிற்கு அதே தனிப்பட்ட குறிப்பு மீண்டும் பயன்படுத்தப்பட்டால், அது அதே ரத்துசெய்தல் ஹாஷ்-ஐ உருவாக்குகிறது, மேலும் ஒப்பந்தம் இரண்டாவது வாக்கை நிராகரிக்கிறது. சான்றுடன் இணைந்தால், எந்தப் பதிவு செய்யப்பட்ட வாக்காளர் செயல்பட்டார் என்பதை அல்லாமல், யாரோ ஒரு பதிவு செய்யப்பட்ட வாக்காளர் ஒரு முறை செயல்பட்டார் என்பதை மட்டுமே ஒப்பந்தம் அறியும்.
மறுபயன்பாட்டு நுழைவாயில்
அதே சான்று மற்றும் ரத்துசெய்தல் ஜோடி வாக்குப்பதிவைத் தாண்டியும் செயல்படுகிறது. வாக்குப்பதிவுக் கதையை அகற்றிவிட்டால், திறன் ஒப்பந்தம் செயல்பாடுகளுக்கான தனியுரிமை நுழைவாயில் உங்களிடம் இருக்கும்.
செயல்பாடு இயங்குவதற்கு முன், ஒப்பந்தம் மெர்கல் வேர்-ஐ சரிபார்க்கிறது, சான்றை உறுதிப்படுத்துகிறது, ரத்துசெய்தல் ஹாஷ் பயன்படுத்தப்படவில்லை என்பதை உறுதிப்படுத்துகிறது, மேலும் பொது உள்ளீடுகளை சரியான செயலி, சங்கிலி, வாக்கெடுப்பு, உரிமைக்கோரல் அல்லது திரும்பப் பெறுதல் ஆகியவற்றுடன் பிணைக்கிறது. அந்தச் சரிபார்ப்புகள் தேர்ச்சி பெற்றால், அது ரத்துசெய்தலை பயன்படுத்தப்பட்டதாகக் குறிக்கிறது மற்றும் செயல்பாட்டின் மீதமுள்ள பகுதியை இயக்குகிறது.
அந்த நுழைவாயிலை ஒரு வாக்கின் முன் வைத்தால் உங்களுக்கு அநாமதேய வாக்குப்பதிவு கிடைக்கும். அதை ஒரு ஏர்ட்ராப் உரிமைக்கோரல் முன் வைத்தால் உங்களுக்கு அநாமதேய உரிமைக்கோரல்கள் கிடைக்கும். அதை ஒரு திரும்பப் பெறுதல் செயல்பாட்டின் முன் வைத்தால், மிக்சர்-பாணி திரும்பப் பெறும் ஓட்டத்தின் மையப்பகுதி உங்களுக்குக் கிடைக்கும். அதே உறுதிப்பாடு மரம், அதே ரத்துசெய்தல் யோசனை, அதே சான்று முறைமை. செயல்பாட்டின் உடல் மற்றும் சுற்றியுள்ள செயலி தர்க்கம் மட்டுமே மாறுகிறது.
எங்கு என்ன இயங்குகிறது
தனிப்பட்ட வேலைகள் பொதுவாக புறச்சங்கிலியில் நடக்கும். பயனர் குறிப்பைச் சேமிக்கிறார், மேலும் ஒரு கிளையன்ட் செயலி சான்றை (witness) உருவாக்குகிறது மற்றும் சான்றை (proof) உருவாக்க நிரூபிப்பவரை இயக்குகிறது. ஒரு குறியீட்டாளர் உறுதிப்பாடுகள் மற்றும் மெர்கல் வேர்களைக் கண்காணிக்கிறது. ஒரு தொகுப்பி பயனர் செயல்பாட்டை சங்கிலிசார் பரப்புகிறது மற்றும் ஒரு ERC-4337 கட்டணதாரர் எரிவாயுவுக்கு நிதியுதவி செய்கிறது, எனவே ஒரு புதிய பணப்பைக்கு முதலில் பயனரின் அறியப்பட்ட பணப்பையிலிருந்து ETH தேவையில்லை.
பொது அமலாக்கம் சங்கிலிசார் நடக்கிறது. சரிபார்ப்பி ஒப்பந்தம் சான்றைச் சரிபார்க்கிறது. செயலி ஒப்பந்தம் செல்லுபடியாகும் வேர்கள் மற்றும் பயன்படுத்தப்படாத ரத்துசெய்தல்களைச் சரிபார்க்கிறது, ரத்துசெய்தல் ஹாஷ்-ஐ சேமிக்கிறது மற்றும் பொதுச் செயலை இயக்குகிறது.
உணர்திறன் வாய்ந்த பயனர் அனுபவம் (UX) என்பது குறிப்பைக் கையாளுவதாகும். ரகசியம் மற்றும் ரத்துசெய்தலை திறவுகோல்களைப் போலக் கருதுங்கள். பகுப்பாய்வுகள், பதிவுகள், URLகள், பிழை அறிக்கைகள் அல்லது சாதாரண சேவையகப் பக்க டெலிமெட்ரி ஆகியவற்றில் அவற்றை வைக்க வேண்டாம். குறிப்பு கசிந்துவிட்டால், சான்று எவ்வளவு வலுவாக இருந்தாலும் தனியுரிமை போய்விடும்.
கருவிகள் மேம்பட்டுள்ளன
அடிப்படை குறியாக்கவியலை நீங்கள் கைமுறையாக குறியீடு செய்ய வேண்டியதில்லை. உயர்நிலை பூஜ்ய-அறிவு மொழியில் சுற்றை எழுதுவது, ஒரு Solidity சரிபார்ப்பியை உருவாக்குவது மற்றும் செயலி ஒப்பந்தத்திலிருந்து அந்த சரிபார்ப்பியை அழைப்பது ஒரு பொதுவான வழியாகும்.
சரியான தொழில்நுட்ப அடுக்கு வேலையைப் பொறுத்தது. snarkjs உடன் Circom என்பது செயலி-நிலை சுற்றுகளுக்கு நீண்ட காலமாக நிறுவப்பட்ட பாதையாகும். Barretenberg உடன் Noir என்பது டெவலப்பர்களுக்கு ஏற்ற புதிய பாதையாகும். Halo2 மற்றும் gnark ஆகியவை கீழ்-நிலை சுற்று நூலகங்களாகும். RISC Zero அல்லது SP1 போன்ற zkVMகள் சாதாரண நிரல்களை நிரூபிக்கின்றன, ஆனால் ஒரு சிறிய தனிப்பயன் சுற்றை விட நிரூபிக்க அதிக செலவாகலாம்.
அநாமதேய உறுப்பினருக்கு, உங்கள் சொந்த சுற்றை எழுதுவதற்கு முன் ஏற்கனவே உள்ள நெறிமுறையைப் பயன்படுத்தவும். Semaphore குழு உறுப்பினர் மற்றும் ரத்துசெய்தல் அடிப்படையிலான இரட்டைப் பயன்பாட்டுத் தடுப்பு ஆகியவற்றை ஒப்பந்தங்கள் மற்றும் JavaScript நூலகங்களில் தொகுக்கிறது. தனிப்பட்ட வாக்குப்பதிவு மற்றும் ஆளுகைக்கு, MACI ஒரு சிறப்புப் பாதையாகும், ஏனெனில் இது கூட்டுச்சதி எதிர்ப்புப் பண்புகளைச் சேர்க்கிறது. புதிய சுற்றுகளை விட முதிர்ந்த நெறிமுறைகள் பெரும்பாலும் பாதுகாப்பானவை.
சான்று மட்டும் போதாது
பணப்பை ஓட்டம் இணைப்பைக் கசியவிட்டால் ஒரு சரியான சான்று கூட தோல்வியடையும். பணப்பை A இலிருந்து பதிவு செய்து, பின்னர் பணப்பை A இலிருந்து செயல்பட்டால், கவனிக்கும் எவரும் பரிவர்த்தனைகளை இணைக்க முடியும். செயல்படுவதற்கு சற்று முன்பு பணப்பை A இலிருந்து பணப்பை B க்கு நிதியளித்தால், அந்த நிதியளிப்பு பரிவர்த்தனை அதே சிக்கலை உருவாக்குகிறது.
இதனால்தான் தொகுப்பிகள் மற்றும் கட்டணதாரர்கள் முக்கியம். செயல்படும் பணப்பை புதியதாக இருக்க வேண்டும், மேலும் பயனர் செயலிலிருந்து பிரிக்க முயற்சிக்கும் பணப்பையிலிருந்து அது ETH ஐப் பெற வேண்டியதில்லை.
இதே சிக்கல் புறச்சங்கிலியிலும் உள்ளது. ஒரே IP முகவரி, RPC வழங்குநர் அல்லது அமர்விலிருந்து பதிவு மற்றும் செயல் பரிவர்த்தனைகளைச் சமர்ப்பிப்பது சுற்று வழங்கும் தனியுரிமையை பலவீனப்படுத்தலாம். பகுப்பாய்வுகள், உள்ளூர் சேமிப்பகம் மற்றும் ஆதரவுப் பதிவுகள் மூலம் முன்பக்கங்கள் (Frontends) கசியக்கூடும். ஒரு பூஜ்ஜிய-அறிவுச் சான்று சான்றுக்குள் உள்ள மதிப்புகளை மறைக்கிறது. இது பரிவர்த்தனையைச் சுற்றியுள்ள அனைத்தையும் மறைக்காது.
பொது உள்ளீடுகள் தனியுரிமைச் செயலிகள் தோல்வியடையும் மற்றொரு இடமாகும். சுற்றில் பொதுவானது எனக் குறிக்கப்பட்ட, நிகழ்வுகள் ஆக வெளியிடப்பட்ட, அழைப்புத் தரவு-இல் சேர்க்கப்பட்ட அல்லது ஒப்பந்தம் மூலம் சேமிக்கப்பட்ட எதையும் பார்க்க முடியும். ஒரு Solidity ஒப்பந்தத்தில் அணுகல் கட்டுப்பாட்டைப் போலவே பொது உள்ளீடுகளையும் கவனமாக மதிப்பாய்வு செய்யவும்.
உருவாக்குநர்களுக்கு இது எதை மாற்றுகிறது
எத்திரியத்தில் தனியுரிமை வழங்கக்கூடியது. உருவாக்குநர்கள் துண்டுகளை உண்மையான செயலிகளாக உருவாக்க முடியும். தொழில்நுட்ப அடுக்கு என்பது தனிப்பட்ட அறிக்கைக்கான ஒரு சுற்று, சான்று சரிபார்ப்பிற்கான ஒரு சரிபார்ப்பி, பொது விதிகளுக்கான ஒரு செயலி ஒப்பந்தம், மெர்க்கல் தரவிற்கான ஒரு குறியீட்டாளர் மற்றும் இணைக்க முடியாத சமர்ப்பிப்பு மற்றும் எரிவாயு நிதியுதவிக்கான ஒரு தொகுப்பி மற்றும் கட்டணதாரர் ஆகும்.
தயாரிப்பு வடிவமைப்பு, திறவுகோல் மேலாண்மை, மீத்தரவு சுகாதாரம், தணிக்கைகள் மற்றும் அநாமதேயக் கணத்தை வளர்ப்பது ஆகியவை கடினமான பகுதிகளாகும். இவற்றில் ஏதேனும் ஒன்றை தவறாகச் செய்தால், சான்று அளித்த தனியுரிமை போய்விடும்.
மேலும் படிக்க
- பூஜ்ஜிய-அறிவுச் சான்றுகள் (ethereum.org) (opens in a new tab)
- Semaphore ஆவணங்கள் (opens in a new tab)
- MACI ஆவணங்கள் (opens in a new tab)
- Circom ஆவணங்கள் (opens in a new tab)
- Noir ஆவணங்கள் (opens in a new tab)
- Halo2 புத்தகம் (opens in a new tab)
- gnark ஆவணங்கள் (opens in a new tab)
- RISC Zero ஆவணங்கள் (opens in a new tab)
- SP1 ஆவணங்கள் (opens in a new tab)
- EIP-4337: EntryPoint ஒப்பந்தம் மூலம் கணக்குச் சுருக்கம் (opens in a new tab)
பக்கம் கடைசியாகப் புதுப்பிக்கப்பட்டது: 28 மே, 2026