Pectra 7702
சுருக்கம்
EIP 7702 ஆனது ஒரு EOA-வில் குறியீட்டைச் சேர்ப்பதற்கான ஒரு பொறிமுறையை வரையறுக்கிறது. இந்தப் முன்மொழிவு, பாரம்பரிய Ethereum கணக்குகளான EOA-க்கள் குறுகிய கால செயல்பாட்டு மேம்பாடுகளைப் பெற அனுமதிக்கிறது, இது பயன்பாடுகளின் பயன்பாட்டினை அதிகரிக்கிறது. ஏற்கனவே பயன்படுத்தப்பட்ட குறியீட்டிற்கு ஒரு புதிய பரிவர்த்தனை வகை: 4-ஐப் பயன்படுத்தி ஒரு பாயிண்டரை அமைப்பதன் மூலம் இது செய்யப்படுகிறது.
இந்தப் புதிய பரிவர்த்தனை வகை ஒரு அங்கீகாரப் பட்டியலை அறிமுகப்படுத்துகிறது. பட்டியலில் உள்ள ஒவ்வொரு அங்கீகார டூப்பிளும் (tuple) பின்வருமாறு வரையறுக்கப்படுகிறது
[ chain_id, address, nonce, y_parity, r, s ]
address என்பது பிரதிநிதித்துவம் (EOA-ஆல் பயன்படுத்தப்படும் ஏற்கனவே பயன்படுத்தப்பட்ட பைட் குறியீடு) chain_id அங்கீகாரத்தை ஒரு குறிப்பிட்ட செயினுக்குப் பூட்டுகிறது (அல்லது அனைத்து செயின்களுக்கும் 0) nonce அங்கீகாரத்தை ஒரு குறிப்பிட்ட கணக்கு நான்ஸுக்குப் (nonce) பூட்டுகிறது (y_parity, r, s) என்பது அங்கீகார டூப்பிளின் கையொப்பமாகும், இது அங்கீகாரம் பொருந்தும் EOA-இன் தனிப்பட்ட திறவுகோலால் (அதிகாரம் என்றும் அழைக்கப்படுகிறது) keccak(0x05 || rlp ([chain_id ,address, nonce])) என வரையறுக்கப்படுகிறது.
பூஜ்ய முகவரிக்கு (null address) பிரதிநிதித்துவப்படுத்துவதன் மூலம் ஒரு பிரதிநிதித்துவத்தை மீட்டமைக்க முடியும்.
பிரதிநிதித்துவத்திற்குப் பிறகும் EOA-இன் தனிப்பட்ட திறவுகோல் கணக்கின் மீது முழு கட்டுப்பாட்டைத் தக்க வைத்துக் கொள்கிறது. எடுத்துக்காட்டாக, ஒரு Safe-க்கு பிரதிநிதித்துவப்படுத்துவது கணக்கை ஒரு மல்டிசிக் (multisig) ஆக்காது, ஏனெனில் எந்தவொரு கையொப்பக் கொள்கையையும் தவிர்க்கக்கூடிய ஒற்றைத் திறவுகோல் இன்னும் உள்ளது. இனிமேல், கணினியில் பங்கேற்கும் எவரும் ஒரு ஸ்மார்ட் ஒப்பந்தமாக இருக்கலாம் என்ற அனுமானத்துடன் டெவலப்பர்கள் வடிவமைக்க வேண்டும். ஸ்மார்ட் ஒப்பந்த டெவலப்பர்களுக்கு, tx.origin என்பது ஒரு EOA-ஐக் குறிக்கிறது என்று கருதுவது இனி பாதுகாப்பானது அல்ல.
சிறந்த நடைமுறைகள்
கணக்கு சுருக்கம் (Account Abstraction): இணக்கத்தன்மையை அதிகரிக்க, ஒரு பிரதிநிதித்துவ ஒப்பந்தம் Ethereum-இன் பரந்த கணக்கு சுருக்க (AA) தரநிலைகளுடன் ஒத்துப்போக வேண்டும். குறிப்பாக, இது ERC-4337-க்கு இணக்கமானதாக இருப்பது சிறந்தது.
அனுமதியற்ற மற்றும் தணிக்கை-எதிர்ப்பு வடிவமைப்பு: Ethereum அனுமதியற்ற பங்கேற்பை மதிக்கிறது. ஒரு பிரதிநிதித்துவ ஒப்பந்தம் எந்தவொரு ஒற்றை "நம்பகமான" ரிலேயர் (relayer) அல்லது சேவையையும் ஹார்ட்கோட் செய்யவோ அல்லது நம்பியிருக்கவோ கூடாது. ரிலேயர் ஆஃப்லைனில் சென்றால் இது கணக்கை முடக்கிவிடும். பேட்ச்சிங் (எ.கா., approve+transferFrom) போன்ற அம்சங்களை ரிலேயர் இல்லாமல் EOA-வே பயன்படுத்தலாம். 7702-ஆல் இயக்கப்பட்ட மேம்பட்ட அம்சங்களை (Gas Abstraction, Privacy-Preserving Withdrawals) பயன்படுத்த விரும்பும் பயன்பாட்டு டெவலப்பர்களுக்கு, உங்களுக்கு ஒரு ரிலேயர் தேவைப்படும். வெவ்வேறு ரிலேயர் கட்டமைப்புகள் இருந்தாலும், குறைந்தபட்சம் entry point 0.8 (opens in a new tab)-ஐ சுட்டிக்காட்டும் 4337 bundlers (opens in a new tab)-ஐப் பயன்படுத்தப் பரிந்துரைக்கிறோம், ஏனெனில்:
- அவை ரிலே செய்வதற்கான தரப்படுத்தப்பட்ட இடைமுகங்களை வழங்குகின்றன
- உள்ளமைக்கப்பட்ட பேமாஸ்டர் (paymaster) அமைப்புகளை உள்ளடக்கியுள்ளன
- முன்னோக்கிய இணக்கத்தன்மையை உறுதி செய்கின்றன
- ஒரு பொது மெம்பூல் (public mempool) (opens in a new tab) மூலம் தணிக்கை எதிர்ப்பை ஆதரிக்க முடியும்
- init செயல்பாட்டை EntryPoint (opens in a new tab)-லிருந்து மட்டுமே அழைக்கக் கோரலாம்
வேறு வார்த்தைகளில் கூறுவதானால், கணக்கிலிருந்து தேவையான செல்லுபடியாகும் கையொப்பம் அல்லது UserOperation-ஐ வழங்கும் வரை எவரும் பரிவர்த்தனை ஸ்பான்சர்/ரிலேயராக செயல்பட முடியும். இது தணிக்கை எதிர்ப்பை உறுதி செய்கிறது: தனிப்பயன் உள்கட்டமைப்பு எதுவும் தேவையில்லை என்றால், ஒரு பயனரின் பரிவர்த்தனைகளை ஒரு கேட்கீப்பிங் ரிலே மூலம் தன்னிச்சையாகத் தடுக்க முடியாது. எடுத்துக்காட்டாக, MetaMask’s Delegation Toolkit (opens in a new tab) ஒரு MetaMask-குறிப்பிட்ட சேவையகத்தைக் கோருவதற்குப் பதிலாக, எந்தவொரு செயினிலும் உள்ள எந்தவொரு ERC-4337 பண்ட்லர் (bundler) அல்லது பேமாஸ்டருடனும் வெளிப்படையாகச் செயல்படுகிறது.
வாலட் இடைமுகங்கள் வழியாக dApps ஒருங்கிணைப்பு:
EIP-7702-க்கான குறிப்பிட்ட பிரதிநிதித்துவ ஒப்பந்தங்களை வாலட்கள் அனுமதிப்பட்டியலில் (whitelist) சேர்க்கும் என்பதால், dApp-கள் நேரடியாக 7702 அங்கீகாரங்களைக் கோரும் என்று எதிர்பார்க்கக் கூடாது. அதற்குப் பதிலாக, தரப்படுத்தப்பட்ட வாலட் இடைமுகங்கள் மூலம் ஒருங்கிணைப்பு நிகழ வேண்டும்:
-
ERC-5792 (
wallet_sendCalls): பேட்ச் செய்யப்பட்ட அழைப்புகளைச் செயல்படுத்த வாலட்களைக் கோர dApp-களை அனுமதிக்கிறது, இது பரிவர்த்தனை பேட்ச்சிங் மற்றும் கேஸ் சுருக்கம் போன்ற செயல்பாடுகளை எளிதாக்குகிறது. -
ERC-6900: வாலட்-நிர்வகிக்கப்பட்ட தொகுதிகள் மூலம் அமர்வுத் திறவுகோல்கள் (session keys) மற்றும் கணக்கு மீட்பு போன்ற மட்டு ஸ்மார்ட் கணக்கு (modular smart account) திறன்களைப் பயன்படுத்த dApp-களை அனுமதிக்கிறது.
இந்த இடைமுகங்களைப் பயன்படுத்துவதன் மூலம், dApp-கள் பிரதிநிதித்துவங்களை நேரடியாக நிர்வகிக்காமல் EIP-7702 வழங்கும் ஸ்மார்ட் கணக்கு செயல்பாடுகளை அணுகலாம், இது வெவ்வேறு வாலட் செயலாக்கங்களில் இணக்கத்தன்மை மற்றும் பாதுகாப்பை உறுதி செய்கிறது.
குறிப்பு: dApp-கள் நேரடியாக 7702 அங்கீகார கையொப்பங்களைக் கோருவதற்கு தரப்படுத்தப்பட்ட முறை எதுவும் இல்லை. EIP-7702 அம்சங்களைப் பயன்படுத்திக் கொள்ள DApp-கள் ERC-6900 போன்ற குறிப்பிட்ட வாலட் இடைமுகங்களை நம்பியிருக்க வேண்டும்.
மேலும் தகவலுக்கு:
விற்பனையாளர் லாக்-இன்னைத் தவிர்த்தல் (Avoiding Vendor Lock-In): மேற்கூறியவற்றுக்கு இணங்க, ஒரு நல்ல செயலாக்கம் விற்பனையாளர்-நடுநிலையானது மற்றும் இயங்கக்கூடியது. இது பெரும்பாலும் ஸ்மார்ட் கணக்குகளுக்கான வளர்ந்து வரும் தரநிலைகளை கடைபிடிப்பதைக் குறிக்கிறது. எடுத்துக்காட்டாக, Alchemy’s Modular Account (opens in a new tab) மட்டு ஸ்மார்ட் கணக்குகளுக்கு ERC-6900 தரநிலையைப் பயன்படுத்துகிறது மற்றும் "அனுமதியற்ற இயங்கக்கூடிய பயன்பாட்டை" மனதில் கொண்டு வடிவமைக்கப்பட்டுள்ளது.
தனியுரிமைப் பாதுகாப்பு: ஆன்செயின் தனியுரிமை குறைவாக இருந்தாலும், ஒரு பிரதிநிதித்துவ ஒப்பந்தம் தரவு வெளிப்பாடு மற்றும் இணைக்கக்கூடிய தன்மையைக் குறைக்க முயற்சிக்க வேண்டும். ERC-20 டோக்கன்களில் கேஸ் செலுத்துதல்கள் (எனவே பயனர்கள் பொது ETH இருப்பை பராமரிக்கத் தேவையில்லை, இது தனியுரிமை மற்றும் UX-ஐ மேம்படுத்துகிறது) மற்றும் ஒரு முறை அமர்வுத் திறவுகோல்கள் (இது ஒற்றை நீண்ட கால திறவுகோலை நம்பியிருப்பதைக் குறைக்கிறது) போன்ற அம்சங்களை ஆதரிப்பதன் மூலம் இதை அடையலாம். எடுத்துக்காட்டாக, EIP-7702 ஸ்பான்சர் செய்யப்பட்ட பரிவர்த்தனைகள் மூலம் டோக்கன்களில் கேஸ் செலுத்துவதை செயல்படுத்துகிறது, மேலும் ஒரு நல்ல செயலாக்கம் தேவையானதை விட அதிகமான தகவல்களைக் கசியவிடாமல் அத்தகைய பேமாஸ்டர்களை ஒருங்கிணைப்பதை எளிதாக்கும். கூடுதலாக, சில ஒப்புதல்களின் ஆஃப்-செயின் பிரதிநிதித்துவம் (ஆன்செயினில் சரிபார்க்கப்பட்ட கையொப்பங்களைப் பயன்படுத்தி) பயனரின் முதன்மைத் திறவுகோலுடன் குறைவான ஆன்செயின் பரிவர்த்தனைகளைக் குறிக்கிறது, இது தனியுரிமைக்கு உதவுகிறது. ரிலேயரைப் பயன்படுத்த வேண்டிய கணக்குகள் பயனர்கள் தங்கள் IP முகவரிகளை வெளிப்படுத்த கட்டாயப்படுத்துகின்றன. PublicMempools இதை மேம்படுத்துகிறது, ஒரு பரிவர்த்தனை/UserOp மெம்பூல் வழியாகப் பரவும்போது, அது அனுப்பிய IP-யிலிருந்து உருவானதா அல்லது p2p நெறிமுறை வழியாக ரிலே செய்யப்பட்டதா என்பதை உங்களால் கூற முடியாது.
நீட்டிப்பு மற்றும் மட்டுப் பாதுகாப்பு (Extensibility and Modular Security): கணக்குச் செயலாக்கங்கள் நீட்டிக்கக்கூடியதாக இருக்க வேண்டும், இதனால் அவை புதிய அம்சங்கள் மற்றும் பாதுகாப்பு மேம்பாடுகளுடன் உருவாகலாம். EIP-7702 மூலம் மேம்படுத்தும் திறன் இயல்பாகவே சாத்தியமாகும் (ஏனெனில் ஒரு EOA அதன் தர்க்கத்தை மேம்படுத்த எதிர்காலத்தில் எப்போதும் ஒரு புதிய ஒப்பந்தத்திற்குப் பிரதிநிதித்துவப்படுத்த முடியும்). மேம்படுத்தும் திறனுக்கு அப்பால், ஒரு நல்ல வடிவமைப்பு மாடுலாரிட்டியை (modularity) அனுமதிக்கிறது – எ.கா., வெவ்வேறு கையொப்பத் திட்டங்கள் அல்லது செலவுக் கொள்கைகளுக்கான பிளக்-இன் தொகுதிகள் – முழுமையாக மீண்டும் பயன்படுத்த வேண்டிய அவசியமின்றி. Alchemy-இன் Account Kit ஒரு சிறந்த எடுத்துக்காட்டு, இது டெவலப்பர்களை சரிபார்ப்புத் தொகுதிகள் (ECDSA, BLS போன்ற வெவ்வேறு கையொப்ப வகைகளுக்கு) மற்றும் தனிப்பயன் தர்க்கத்திற்கான செயலாக்கத் தொகுதிகளை நிறுவ அனுமதிக்கிறது. EIP-7702-இயக்கப்பட்ட கணக்குகளில் அதிக நெகிழ்வுத்தன்மை மற்றும் பாதுகாப்பை அடைய, டெவலப்பர்கள் நேரடியாக ஒரு குறிப்பிட்ட செயலாக்கத்திற்குப் பதிலாக ஒரு ப்ராக்ஸி (proxy) ஒப்பந்தத்திற்குப் பிரதிநிதித்துவப்படுத்த ஊக்குவிக்கப்படுகிறார்கள். இந்த அணுகுமுறை ஒவ்வொரு மாற்றத்திற்கும் கூடுதல் EIP-7702 அங்கீகாரங்கள் தேவையில்லாமல் தடையற்ற மேம்படுத்தல்கள் மற்றும் மாடுலாரிட்டியை அனுமதிக்கிறது.
ப்ராக்ஸி பேட்டர்னின் (Proxy Pattern) நன்மைகள்:
-
மேம்படுத்தும் திறன்: ப்ராக்ஸியை ஒரு புதிய செயலாக்க ஒப்பந்தத்திற்குச் சுட்டிக்காட்டுவதன் மூலம் ஒப்பந்தத் தர்க்கத்தைப் புதுப்பிக்கலாம்.
-
தனிப்பயன் துவக்கத் தர்க்கம்: தேவையான நிலை மாறிகளைப் பாதுகாப்பாக அமைக்க ப்ராக்ஸிக்குள் துவக்கச் செயல்பாடுகளை இணைக்கலாம்.
எடுத்துக்காட்டாக, EIP-7702-இணக்கமான கணக்குகளில் பிரதிநிதித்துவங்களைப் பாதுகாப்பாகத் துவக்கவும் நிர்வகிக்கவும் ஒரு ப்ராக்ஸியை எவ்வாறு பயன்படுத்தலாம் என்பதை SafeEIP7702Proxy (opens in a new tab) விளக்குகிறது.
ப்ராக்ஸி பேட்டர்னின் தீமைகள்:
- வெளிப்புற நபர்களை நம்பியிருத்தல்: பாதுகாப்பற்ற ஒப்பந்தத்திற்கு மேம்படுத்தாமல் இருக்க நீங்கள் ஒரு வெளிப்புறக் குழுவை நம்பியிருக்க வேண்டும்.
பாதுகாப்புக் கருத்தாய்வுகள்
ரீஎன்ட்ரன்சி கார்டு (Reentrancy guard): EIP-7702 பிரதிநிதித்துவத்தின் அறிமுகத்துடன், ஒரு பயனரின் கணக்கு வெளிப்புறமாகச் சொந்தமான கணக்கு (EOA) மற்றும் ஸ்மார்ட் ஒப்பந்தம் (SC) ஆகியவற்றுக்கு இடையே மாறும் வகையில் மாறலாம். இந்த நெகிழ்வுத்தன்மை கணக்கை பரிவர்த்தனைகளைத் தொடங்கவும் அழைப்புகளின் இலக்காகவும் இருக்கச் செயல்படுத்துகிறது. இதன் விளைவாக, ஒரு கணக்கு தன்னைத்தானே அழைக்கும் மற்றும் வெளிப்புற அழைப்புகளைச் செய்யும் காட்சிகளில் msg.sender ஆனது tx.origin-க்குச் சமமாக இருக்கும், இது முன்பு tx.origin எப்போதும் ஒரு EOA ஆக இருப்பதை நம்பியிருந்த சில பாதுகாப்பு அனுமானங்களை குறைமதிப்பிற்கு உட்படுத்துகிறது.
ஸ்மார்ட் ஒப்பந்த டெவலப்பர்களுக்கு, tx.origin என்பது ஒரு EOA-ஐக் குறிக்கிறது என்று கருதுவது இனி பாதுகாப்பானது அல்ல. அதேபோல, ரீஎன்ட்ரன்சி தாக்குதல்களுக்கு எதிரான பாதுகாப்பாக msg.sender == tx.origin-ஐப் பயன்படுத்துவது இனி நம்பகமான உத்தி அல்ல.
இனிமேல், கணினியில் பங்கேற்கும் எவரும் ஒரு ஸ்மார்ட் ஒப்பந்தமாக இருக்கலாம் என்ற அனுமானத்துடன் டெவலப்பர்கள் வடிவமைக்க வேண்டும். மாற்றாக, அவர்கள் nonReentrant மாடிஃபையர் (modifier) பேட்டர்ன்களுடன் ரீஎன்ட்ரன்சி கார்டுகளைப் பயன்படுத்தி வெளிப்படையான ரீஎன்ட்ரன்சி பாதுகாப்பைச் செயல்படுத்தலாம். தணிக்கை செய்யப்பட்ட மாடிஃபையரைப் பின்பற்றப் பரிந்துரைக்கிறோம், எ.கா Open Zeppelin's Reentrancy Guard (opens in a new tab). அவர்கள் ஒரு டிரான்சியன்ட் ஸ்டோரேஜ் மாறியையும் (transient storage variable) (opens in a new tab) பயன்படுத்தலாம்.
துவக்கப் பாதுகாப்புக் கருத்தாய்வுகள்
EIP-7702 பிரதிநிதித்துவ ஒப்பந்தங்களைச் செயல்படுத்துவது குறிப்பிட்ட பாதுகாப்புச் சவால்களை அறிமுகப்படுத்துகிறது, குறிப்பாகத் துவக்கச் செயல்முறை தொடர்பாக. துவக்கச் செயல்பாடு (init) பிரதிநிதித்துவச் செயல்முறையுடன் அணு ரீதியாக இணைக்கப்படும்போது ஒரு முக்கியமான பாதிப்பு எழுகிறது. இதுபோன்ற சந்தர்ப்பங்களில், ஒரு ஃபிரண்ட்ரன்னர் (frontrunner) பிரதிநிதித்துவக் கையொப்பத்தை இடைமறித்து, மாற்றப்பட்ட அளவுருக்களுடன் init செயல்பாட்டைச் செயல்படுத்தலாம், இது கணக்கின் கட்டுப்பாட்டைக் கைப்பற்றக்கூடும்.
ஏற்கனவே உள்ள ஸ்மார்ட் ஒப்பந்தக் கணக்கு (SCA) செயலாக்கங்களை அவற்றின் துவக்க வழிமுறைகளை மாற்றாமல் EIP-7702 உடன் பயன்படுத்த முயற்சிக்கும்போது இந்த ஆபத்து குறிப்பாகப் பொருத்தமானது.
துவக்கப் பாதிப்புகளைத் தணிப்பதற்கான தீர்வுகள்
-
initWithSig-ஐச் செயல்படுத்துதல்
நிலையானinitசெயல்பாட்டைinitWithSigசெயல்பாட்டுடன் மாற்றவும், இது பயனர் துவக்க அளவுருக்களில் கையொப்பமிட வேண்டும். இந்த அணுகுமுறை வெளிப்படையான பயனர் ஒப்புதலுடன் மட்டுமே துவக்கம் தொடர முடியும் என்பதை உறுதி செய்கிறது, இதன் மூலம் அங்கீகரிக்கப்படாத துவக்க அபாயங்களைத் தணிக்கிறது. -
ERC-4337-இன் EntryPoint-ஐப் பயன்படுத்துதல்
துவக்கச் செயல்பாடு ERC-4337 EntryPoint ஒப்பந்தத்திலிருந்து பிரத்தியேகமாக அழைக்கப்பட வேண்டும் எனக் கோரவும். இந்த முறை ERC-4337 வழங்கும் தரப்படுத்தப்பட்ட சரிபார்ப்பு மற்றும் செயலாக்கக் கட்டமைப்பைப் பயன்படுத்துகிறது, இது துவக்கச் செயல்முறைக்குக் கூடுதல் பாதுகாப்பு அடுக்கைச் சேர்க்கிறது.
(காண்க: Safe Docs (opens in a new tab))
இந்தத் தீர்வுகளைப் பின்பற்றுவதன் மூலம், டெவலப்பர்கள் EIP-7702 பிரதிநிதித்துவ ஒப்பந்தங்களின் பாதுகாப்பை மேம்படுத்தலாம், துவக்கக் கட்டத்தில் சாத்தியமான ஃபிரண்ட்ரன்னிங் தாக்குதல்களுக்கு எதிராகப் பாதுகாக்கலாம்.
ஸ்டோரேஜ் மோதல்கள் (Storage Collisions) குறியீட்டைப் பிரதிநிதித்துவப்படுத்துவது ஏற்கனவே உள்ள ஸ்டோரேஜை அழிக்காது. ஒரு பிரதிநிதித்துவ ஒப்பந்தத்திலிருந்து மற்றொன்றுக்கு மாறும்போது, முந்தைய ஒப்பந்தத்தின் எஞ்சிய தரவு அப்படியே இருக்கும். புதிய ஒப்பந்தம் அதே ஸ்டோரேஜ் ஸ்லாட்டுகளைப் பயன்படுத்தினால், ஆனால் அவற்றை வித்தியாசமாக விளக்கினால், அது எதிர்பாராத நடத்தைக்கு வழிவகுக்கும். எடுத்துக்காட்டாக, ஆரம்பப் பிரதிநிதித்துவம் ஒரு ஸ்டோரேஜ் ஸ்லாட் bool-ஐக் குறிக்கும் ஒப்பந்தத்திற்கு இருந்தால், மற்றும் அடுத்தடுத்த பிரதிநிதித்துவம் அதே ஸ்லாட் uint-ஐக் குறிக்கும் ஒப்பந்தத்திற்கு இருந்தால், பொருந்தாமை கணிக்க முடியாத விளைவுகளுக்கு வழிவகுக்கும்.
ஃபிஷிங் அபாயங்கள் (Phishing risks) EIP-7702 பிரதிநிதித்துவத்தைச் செயல்படுத்துவதன் மூலம், ஒரு பயனரின் கணக்கில் உள்ள சொத்துக்கள் முழுமையாக ஸ்மார்ட் ஒப்பந்தங்களால் கட்டுப்படுத்தப்படலாம். ஒரு பயனர் அறியாமல் தங்கள் கணக்கை ஒரு தீங்கிழைக்கும் ஒப்பந்தத்திற்குப் பிரதிநிதித்துவப்படுத்தினால், தாக்குபவர் எளிதாகக் கட்டுப்பாட்டைப் பெற்று நிதியைத் திருடலாம். chain_id=0-ஐப் பயன்படுத்தும்போது பிரதிநிதித்துவம் அனைத்து செயின் ஐடிகளுக்கும் (chain ids) பயன்படுத்தப்படும். மாறாத ஒப்பந்தத்திற்கு மட்டுமே பிரதிநிதித்துவப்படுத்துங்கள் (ஒருபோதும் ப்ராக்ஸிக்குப் பிரதிநிதித்துவப்படுத்த வேண்டாம்), மற்றும் CREATE2-ஐப் பயன்படுத்திப் பயன்படுத்தப்பட்ட ஒப்பந்தங்களுக்கு மட்டுமே (நிலையான initcode உடன் - மெட்டாமார்பிக் ஒப்பந்தங்கள் இல்லை) பிரதிநிதித்துவப்படுத்துங்கள், இதனால் டெப்ளாயர் (deployer) வேறு எங்கும் அதே முகவரிக்கு வேறு எதையும் பயன்படுத்த முடியாது. இல்லையெனில் உங்கள் பிரதிநிதித்துவம் மற்ற அனைத்து EVM செயின்களிலும் உங்கள் கணக்கை ஆபத்தில் ஆழ்த்துகிறது.
பயனர்கள் பிரதிநிதித்துவப்படுத்தப்பட்ட கையொப்பங்களைச் செய்யும்போது, ஃபிஷிங் அபாயங்களைத் தணிக்க உதவ, பிரதிநிதித்துவத்தைப் பெறும் இலக்கு ஒப்பந்தம் தெளிவாகவும் முக்கியமாகவும் காட்டப்பட வேண்டும்.
குறைந்தபட்ச நம்பகமான மேற்பரப்பு மற்றும் பாதுகாப்பு (Minimal Trusted Surface & Security): நெகிழ்வுத்தன்மையை வழங்கும் அதே வேளையில், ஒரு பிரதிநிதித்துவ ஒப்பந்தம் அதன் முக்கியத் தர்க்கத்தைக் குறைந்தபட்சமாகவும் தணிக்கை செய்யக்கூடியதாகவும் வைத்திருக்க வேண்டும். ஒப்பந்தம் திறம்படப் பயனரின் EOA-இன் நீட்டிப்பாகும், எனவே எந்தவொரு குறையும் பேரழிவை ஏற்படுத்தும். செயலாக்கங்கள் ஸ்மார்ட் ஒப்பந்தப் பாதுகாப்புச் சமூகத்தின் சிறந்த நடைமுறைகளைப் பின்பற்ற வேண்டும். எடுத்துக்காட்டாக, கன்ஸ்ட்ரக்டர் (constructor) அல்லது இனிஷியலைசர் (initializer) செயல்பாடுகள் கவனமாகப் பாதுகாக்கப்பட வேண்டும் – Alchemy-ஆல் சிறப்பிக்கப்பட்டபடி, 7702-இன் கீழ் ஒரு ப்ராக்ஸி பேட்டர்னைப் பயன்படுத்தினால், பாதுகாப்பற்ற இனிஷியலைசர் தாக்குபவர் கணக்கைக் கைப்பற்ற அனுமதிக்கலாம். குழுக்கள் ஆன்செயின் குறியீட்டை எளிமையாக வைத்திருக்க இலக்கு வைக்க வேண்டும்: Ambire-இன் 7702 ஒப்பந்தம் ~200 வரிகள் Solidity மட்டுமே, பிழைகளைக் குறைக்க வேண்டுமென்றே சிக்கலைக் குறைக்கிறது. அம்சம் நிறைந்த தர்க்கத்திற்கும் தணிக்கையை எளிதாக்கும் எளிமைக்கும் இடையே ஒரு சமநிலை ஏற்படுத்தப்பட வேண்டும்.
அறியப்பட்ட செயலாக்கங்கள்
EIP 7702-இன் தன்மை காரணமாக, பயனர்கள் 3-ஆம் தரப்பு ஒப்பந்தத்திற்குப் பிரதிநிதித்துவப்படுத்த உதவும்போது வாலட்கள் எச்சரிக்கையுடன் செயல்படப் பரிந்துரைக்கப்படுகிறது. தணிக்கை செய்யப்பட்ட அறியப்பட்ட செயலாக்கங்களின் தொகுப்பு கீழே பட்டியலிடப்பட்டுள்ளது:
| ஒப்பந்த முகவரி (Contract address) | ஆதாரம் (Source) | தணிக்கைகள் (Audits) |
|---|---|---|
| 0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00 | Uniswap/calibur (opens in a new tab) | audits (opens in a new tab) |
| 0x69007702764179f14F51cdce752f4f775d74E139 | alchemyplatform/modular-account (opens in a new tab) | audits (opens in a new tab) |
| 0x5A7FC11397E9a8AD41BF10bf13F22B0a63f96f6d | AmbireTech/ambire-common (opens in a new tab) | audits (opens in a new tab) |
| 0x63c0c19a282a1b52b07dd5a65b58948a07dae32b | MetaMask/delegation-framework (opens in a new tab) | audits (opens in a new tab) |
| 0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9 | Ethereum Foundation AA team (opens in a new tab) | audits (opens in a new tab) |
| 0x17c11FDdADac2b341F2455aFe988fec4c3ba26e3 | Luganodes/Pectra-Batch-Contract (opens in a new tab) | audits (opens in a new tab) |
வன்பொருள் வாலட் வழிகாட்டுதல்கள்
வன்பொருள் வாலட்கள் (Hardware wallets) தன்னிச்சையான பிரதிநிதித்துவத்தை வெளிப்படுத்தக் கூடாது. வன்பொருள் வாலட் இடத்தில் உள்ள ஒருமித்த கருத்து, நம்பகமான பிரதிநிதித்துவ ஒப்பந்தங்களின் பட்டியலைப் பயன்படுத்துவதாகும். மேலே பட்டியலிடப்பட்டுள்ள அறியப்பட்ட செயலாக்கங்களை அனுமதிக்கவும், மற்றவற்றை ஒவ்வொரு வழக்கின் அடிப்படையில் பரிசீலிக்கவும் நாங்கள் பரிந்துரைக்கிறோம். உங்கள் EOA-ஐ ஒரு ஒப்பந்தத்திற்குப் பிரதிநிதித்துவப்படுத்துவது அனைத்து சொத்துக்களின் மீதும் கட்டுப்பாட்டைக் கொடுப்பதால், வன்பொருள் வாலட்கள் 7702-ஐச் செயல்படுத்தும் விதத்தில் எச்சரிக்கையாக இருக்க வேண்டும்.
துணைப் பயன்பாடுகளுக்கான ஒருங்கிணைப்புக் காட்சிகள்
லேஸி (Lazy)
EOA இன்னும் வழக்கம் போல் செயல்படுவதால், செய்வதற்கு ஒன்றுமில்லை.
குறிப்பு: ERC 1155 NFT-கள் போன்ற சில சொத்துக்கள் பிரதிநிதித்துவக் குறியீட்டால் தானாகவே நிராகரிக்கப்படலாம், மேலும் ஆதரவுக் குழு இதைப் பற்றி அறிந்திருக்க வேண்டும்.
அவேர் (Aware)
EOA-இன் குறியீட்டைச் சரிபார்ப்பதன் மூலம் அதற்கான பிரதிநிதித்துவம் நடைமுறையில் உள்ளது என்பதைப் பயனருக்குத் தெரிவிக்கவும், மேலும் விருப்பப்பட்டால் பிரதிநிதித்துவத்தை அகற்றுவதற்கான வாய்ப்பை வழங்கவும்.
பொதுவான பிரதிநிதித்துவம்
வன்பொருள் வழங்குநர் அறியப்பட்ட பிரதிநிதித்துவ ஒப்பந்தங்களை அனுமதிப்பட்டியலில் சேர்க்கிறார் மற்றும் மென்பொருள் துணையில் அவற்றின் ஆதரவைச் செயல்படுத்துகிறார். முழு ERC 4337 ஆதரவுடன் ஒரு ஒப்பந்தத்தைத் தேர்வு செய்யப் பரிந்துரைக்கப்படுகிறது.
வேறு ஒன்றிற்குப் பிரதிநிதித்துவப்படுத்தப்பட்ட EOA-க்கள் நிலையான EOA-க்களாகக் கையாளப்படும்.
தனிப்பயன் பிரதிநிதித்துவம்
வன்பொருள் வழங்குநர் தனது சொந்தப் பிரதிநிதித்துவ ஒப்பந்தத்தைச் செயல்படுத்துகிறார் மற்றும் அதை மென்பொருள் துணையில் அதன் ஆதரவைச் செயல்படுத்தும் பட்டியல்களில் சேர்க்கிறார். முழு ERC 4337 ஆதரவுடன் ஒரு ஒப்பந்தத்தை உருவாக்கப் பரிந்துரைக்கப்படுகிறது.
வேறு ஒன்றிற்குப் பிரதிநிதித்துவப்படுத்தப்பட்ட EOA-க்கள் நிலையான EOA-க்களாகக் கையாளப்படும்.
பக்கம் கடைசியாகப் புதுப்பிக்கப்பட்டது: 22 அக்டோபர், 2025