சுருக்கம்
EIP-7702 ஒரு EOA-க்கு குறியீட்டைச் சேர்ப்பதற்கான ஒரு வழிமுறையை வரையறுக்கிறது. இந்த முன்மொழிவு, பாரம்பரிய எத்திரியம் கணக்குகளான EOA-கள் குறுகிய கால செயல்பாட்டு மேம்பாடுகளைப் பெற அனுமதிக்கிறது, இது செயலிகளின் பயன்பாட்டினை அதிகரிக்கிறது. இது ஒரு புதிய பரிவர்த்தனை வகையான 4-ஐப் பயன்படுத்தி ஏற்கனவே நிலைநிறுத்தப்பட்ட குறியீட்டிற்கு ஒரு சுட்டியை அமைப்பதன் மூலம் செய்யப்படுகிறது.
இந்த புதிய பரிவர்த்தனை வகை ஒரு அங்கீகாரப் பட்டியலை அறிமுகப்படுத்துகிறது. பட்டியலில் உள்ள ஒவ்வொரு அங்கீகார டூப்பிளும் (tuple) பின்வருமாறு வரையறுக்கப்படுகிறது:
[ chain_id, address, nonce, y_parity, r, s ]
address என்பது பிரதிநிதித்துவம் (EOA-ஆல் பயன்படுத்தப்படும் ஏற்கனவே நிலைநிறுத்தப்பட்ட பைட் குறியீடு) chain_id அங்கீகாரத்தை ஒரு குறிப்பிட்ட சங்கிலிக்குப் பூட்டுகிறது (அல்லது அனைத்து சங்கிலிகளுக்கும் 0) nonce அங்கீகாரத்தை ஒரு குறிப்பிட்ட கணக்கு நான்ஸுக்குப் பூட்டுகிறது (y_parity, r, s) என்பது அங்கீகார டூப்பிளின் கையொப்பம் ஆகும், இது அங்கீகாரம் பொருந்தும் EOA-இன் தனிப்பட்ட திறவுகோலால் (அதிகாரம் என்றும் அழைக்கப்படுகிறது) keccak(0x05 || rlp ([chain_id ,address, nonce])) என வரையறுக்கப்படுகிறது.
வெற்று முகவரிக்கு (null address) பிரதிநிதித்துவம் செய்வதன் மூலம் ஒரு பிரதிநிதித்துவத்தை மீட்டமைக்க முடியும்.
பிரதிநிதித்துவத்திற்குப் பிறகும் EOA-இன் தனிப்பட்ட திறவுகோல் கணக்கின் மீது முழு கட்டுப்பாட்டைத் தக்கவைத்துக் கொள்கிறது. எடுத்துக்காட்டாக, ஒரு Safe-க்கு பிரதிநிதித்துவம் செய்வது கணக்கை ஒரு பல்கையெழுத்து (multisig) ஆக மாற்றாது, ஏனெனில் எந்தவொரு கையொப்பமிடுதல் கொள்கையையும் தவிர்க்கக்கூடிய ஒரு திறவுகோல் இன்னும் உள்ளது. இனிமேல், கணினியில் பங்கேற்கும் எவரும் ஒரு திறன் ஒப்பந்தமாக இருக்கலாம் என்ற அனுமானத்துடன் உருவாக்குநர்கள் வடிவமைக்க வேண்டும். திறன் ஒப்பந்த உருவாக்குநர்களுக்கு, tx.origin என்பது ஒரு EOA-ஐக் குறிக்கிறது என்று கருதுவது இனி பாதுகாப்பானது அல்ல.
சிறந்த நடைமுறைகள்
கணக்குச் சுருக்கம்: இணக்கத்தன்மையை அதிகரிக்க, ஒரு பிரதிநிதித்துவ ஒப்பந்தம் எத்திரியத்தின் பரந்த கணக்குச் சுருக்க (AA) தரநிலைகளுடன் ஒத்துப்போக வேண்டும். குறிப்பாக, இது ERC-4337 இணக்கமானதாகவோ அல்லது அதனுடன் செயல்படக்கூடியதாகவோ இருப்பது சிறந்தது.
அனுமதியற்ற மற்றும் தணிக்கை-எதிர்ப்பு வடிவமைப்பு: எத்திரியம் அனுமதியற்ற பங்கேற்பை மதிக்கிறது. ஒரு பிரதிநிதித்துவ ஒப்பந்தம் எந்தவொரு ஒற்றை "நம்பகமான" ரிலேயர் (relayer) அல்லது சேவையையும் ஹார்ட்கோட் செய்யவோ அல்லது நம்பியிருக்கவோ கூடாது. ரிலேயர் ஆஃப்லைனுக்குச் சென்றால் இது கணக்கை முடக்கிவிடும். தொகுத்தல் (எ.கா., approve+transferFrom) போன்ற அம்சங்களை ரிலேயர் இல்லாமல் EOA-வே பயன்படுத்தலாம். 7702-ஆல் செயல்படுத்தப்பட்ட மேம்பட்ட அம்சங்களை (எரிவாயு சுருக்கம், தனியுரிமையைப் பாதுகாக்கும் திரும்பப் பெறுதல்கள்) பயன்படுத்த விரும்பும் செயலி உருவாக்குநர்களுக்கு, உங்களுக்கு ஒரு ரிலேயர் தேவைப்படும். வெவ்வேறு ரிலேயர் கட்டமைப்புகள் இருந்தாலும், குறைந்தபட்சம் நுழைவுப் புள்ளி 0.8 (opens in a new tab)-ஐக் குறிக்கும் 4337 தொகுப்பிகளைப் (opens in a new tab) பயன்படுத்தப் பரிந்துரைக்கிறோம், ஏனெனில்:
- அவை ரிலே செய்வதற்கான தரப்படுத்தப்பட்ட இடைமுகங்களை வழங்குகின்றன
- உள்ளமைக்கப்பட்ட கட்டணதாரர் அமைப்புகளை உள்ளடக்கியுள்ளன
- முன்னோக்கிய இணக்கத்தன்மையை உறுதி செய்கின்றன
- ஒரு பொது மெம்பூல் (opens in a new tab) மூலம் தணிக்கை எதிர்ப்பை ஆதரிக்க முடியும்
- init செயல்பாடு EntryPoint (opens in a new tab)-லிருந்து மட்டுமே அழைக்கப்பட வேண்டும் என்று கோரலாம்
வேறு வார்த்தைகளில் கூறுவதானால், கணக்கிலிருந்து தேவையான செல்லுபடியாகும் கையொப்பம் அல்லது பயனர் செயல்பாட்டை வழங்கும் வரை எவரும் பரிவர்த்தனை ஸ்பான்சராக/ரிலேயராக செயல்பட முடியும். இது தணிக்கை எதிர்ப்பை உறுதி செய்கிறது: தனிப்பயன் உள்கட்டமைப்பு எதுவும் தேவையில்லை என்றால், ஒரு பயனரின் பரிவர்த்தனைகளை ஒரு கேட்கீப்பிங் ரிலே மூலம் தன்னிச்சையாகத் தடுக்க முடியாது. எடுத்துக்காட்டாக, மெட்டாமேஸ்க்-இன் பிரதிநிதித்துவக் கருவித்தொகுதி (Delegation Toolkit) (opens in a new tab) மெட்டாமேஸ்க்-குறிப்பிட்ட சேவையகத்தைக் கோருவதற்குப் பதிலாக, எந்தவொரு சங்கிலியிலும் உள்ள எந்தவொரு ERC-4337 தொகுப்பி அல்லது கட்டணதாரருடனும் வெளிப்படையாகச் செயல்படுகிறது.
பணப்பை இடைமுகங்கள் வழியாக பரவலாக்கப்பட்ட செயலி (dapp) ஒருங்கிணைப்பு:
பணப்பைகள் EIP-7702-க்கான குறிப்பிட்ட பிரதிநிதித்துவ ஒப்பந்தங்களை அனுமதிப்பட்டியலில் (whitelist) சேர்க்கும் என்பதால், dapp-கள் நேரடியாக 7702 அங்கீகாரங்களைக் கோரும் என்று எதிர்பார்க்கக் கூடாது. அதற்குப் பதிலாக, தரப்படுத்தப்பட்ட பணப்பை இடைமுகங்கள் மூலம் ஒருங்கிணைப்பு நிகழ வேண்டும்:
-
ERC-5792 (
wallet_sendCalls): தொகுக்கப்பட்ட அழைப்புகளைச் செயல்படுத்த பணப்பைகளைக் கோர dapp-களை அனுமதிக்கிறது, இது பரிவர்த்தனை தொகுத்தல் மற்றும் எரிவாயு சுருக்கம் போன்ற செயல்பாடுகளை எளிதாக்குகிறது. -
ERC-6900: பணப்பையால் நிர்வகிக்கப்படும் தொகுதிகள் மூலம் அமர்வுத் திறவுகோல்கள் (session keys) மற்றும் கணக்கு மீட்பு போன்ற மாடுலர் திறன் கணக்குத் திறன்களைப் பயன்படுத்த dapp-களை அனுமதிக்கிறது.
இந்த இடைமுகங்களைப் பயன்படுத்துவதன் மூலம், dapp-கள் பிரதிநிதித்துவங்களை நேரடியாக நிர்வகிக்காமல் EIP-7702 வழங்கும் திறன் கணக்குச் செயல்பாடுகளை அணுக முடியும், இது வெவ்வேறு பணப்பைச் செயலாக்கங்களில் இணக்கத்தன்மை மற்றும் பாதுகாப்பை உறுதி செய்கிறது.
குறிப்பு: dapp-கள் நேரடியாக 7702 அங்கீகாரக் கையொப்பங்களைக் கோருவதற்குத் தரப்படுத்தப்பட்ட முறை எதுவும் இல்லை. EIP-7702 அம்சங்களைப் பயன்படுத்திக் கொள்ள dapp-கள் ERC-6900 போன்ற குறிப்பிட்ட பணப்பை இடைமுகங்களை நம்பியிருக்க வேண்டும்.
மேலும் தகவலுக்கு:
விற்பனையாளர் லாக்-இன்னைத் தவிர்த்தல்: மேற்கூறியவற்றுக்கு இணங்க, ஒரு நல்ல செயலாக்கம் விற்பனையாளர்-நடுநிலையானது மற்றும் இயங்குதன்மையுள்ளது. இது பெரும்பாலும் திறன் கணக்குகளுக்கான வளர்ந்து வரும் தரநிலைகளைக் கடைப்பிடிப்பதைக் குறிக்கிறது. எடுத்துக்காட்டாக, Alchemy-இன் மாடுலர் கணக்கு (opens in a new tab) மாடுலர் திறன் கணக்குகளுக்கு ERC-6900 தரநிலையைப் பயன்படுத்துகிறது மற்றும் "அனுமதியற்ற இயங்குதன்மையுள்ள பயன்பாட்டை" மனதில் கொண்டு வடிவமைக்கப்பட்டுள்ளது.
தனியுரிமைப் பாதுகாப்பு: சங்கிலிசார் தனியுரிமை குறைவாக இருந்தாலும், ஒரு பிரதிநிதித்துவ ஒப்பந்தம் தரவு வெளிப்பாடு மற்றும் இணைக்கக்கூடிய தன்மையைக் குறைக்க முயற்சிக்க வேண்டும். ERC-20 டோக்கன்களில் எரிவாயு செலுத்துதல்கள் (எனவே பயனர்கள் பொது ETH இருப்பைப் பராமரிக்கத் தேவையில்லை, இது தனியுரிமை மற்றும் UX-ஐ மேம்படுத்துகிறது) மற்றும் ஒரு முறை அமர்வுத் திறவுகோல்கள் (இது ஒற்றை நீண்ட காலத் திறவுகோலைச் சார்ந்திருப்பதைக் குறைக்கிறது) போன்ற அம்சங்களை ஆதரிப்பதன் மூலம் இதை அடைய முடியும். எடுத்துக்காட்டாக, EIP-7702 ஸ்பான்சர் செய்யப்பட்ட பரிவர்த்தனைகள் மூலம் டோக்கன்களில் எரிவாயு செலுத்துவதை செயல்படுத்துகிறது, மேலும் ஒரு நல்ல செயலாக்கம் தேவையானதை விட அதிகமான தகவல்களைக் கசியவிடாமல் அத்தகைய கட்டணதாரர்களை ஒருங்கிணைப்பதை எளிதாக்கும். கூடுதலாக, சில ஒப்புதல்களின் புறச்சங்கிலி பிரதிநிதித்துவம் (சங்கிலிசார் சரிபார்க்கப்படும் கையொப்பங்களைப் பயன்படுத்தி) பயனரின் முதன்மைத் திறவுகோலுடன் குறைவான சங்கிலிசார் பரிவர்த்தனைகளைக் குறிக்கிறது, இது தனியுரிமைக்கு உதவுகிறது. ரிலேயரைப் பயன்படுத்த வேண்டிய கணக்குகள் பயனர்கள் தங்கள் IP முகவரிகளை வெளிப்படுத்த கட்டாயப்படுத்துகின்றன. பொது மெம்பூல்கள் (PublicMempools) இதை மேம்படுத்துகின்றன, ஒரு பரிவர்த்தனை/பயனர் செயல்பாடு மெம்பூல் வழியாகப் பரவும்போது, அது அனுப்பிய IP-யிலிருந்து உருவானதா அல்லது p2p நெறிமுறை வழியாக ரிலே செய்யப்பட்டதா என்பதை உங்களால் கூற முடியாது.
நீட்டிப்பு மற்றும் மாடுலர் பாதுகாப்பு: கணக்குச் செயலாக்கங்கள் நீட்டிக்கக்கூடியதாக இருக்க வேண்டும், இதனால் அவை புதிய அம்சங்கள் மற்றும் பாதுகாப்பு மேம்பாடுகளுடன் உருவாகலாம். EIP-7702 மூலம் மேம்படுத்தும் திறன் இயல்பாகவே சாத்தியமாகும் (ஏனெனில் ஒரு EOA அதன் தர்க்கத்தை மேம்படுத்த எதிர்காலத்தில் எப்போதும் ஒரு புதிய ஒப்பந்தத்திற்குப் பிரதிநிதித்துவம் செய்ய முடியும்). மேம்படுத்தும் திறனுக்கு அப்பால், ஒரு நல்ல வடிவமைப்பு மாடுலாரிட்டியை அனுமதிக்கிறது - எ.கா., வெவ்வேறு கையொப்பத் திட்டங்கள் அல்லது செலவுக் கொள்கைகளுக்கான செருகுநிரல் தொகுதிகள் - முழுமையாக மீண்டும் நிலைநிறுத்தத் தேவையில்லாமல். Alchemy-இன் கணக்குக் கருவித்தொகுதி (Account Kit) ஒரு சிறந்த எடுத்துக்காட்டு, இது சரிபார்ப்புத் தொகுதிகளை (ECDSA, BLS போன்ற வெவ்வேறு கையொப்ப வகைகளுக்கு) மற்றும் தனிப்பயன் தர்க்கத்திற்கான செயலாக்கத் தொகுதிகளை நிறுவ உருவாக்குநர்களை அனுமதிக்கிறது. EIP-7702-இயக்கப்பட்ட கணக்குகளில் அதிக நெகிழ்வுத்தன்மை மற்றும் பாதுகாப்பை அடைய, ஒரு குறிப்பிட்ட செயலாக்கத்திற்கு நேரடியாகப் பிரதிநிதித்துவம் செய்வதற்குப் பதிலாக ஒரு பதிலி ஒப்பந்தத்திற்குப் பிரதிநிதித்துவம் செய்ய உருவாக்குநர்கள் ஊக்குவிக்கப்படுகிறார்கள். இந்த அணுகுமுறை ஒவ்வொரு மாற்றத்திற்கும் கூடுதல் EIP-7702 அங்கீகாரங்கள் தேவையில்லாமல் தடையற்ற மேம்படுத்தல்கள் மற்றும் மாடுலாரிட்டியை அனுமதிக்கிறது.
பதிலி (Proxy) பேட்டர்னின் நன்மைகள்:
-
மேம்படுத்தும் திறன்: புதிய செயலாக்க ஒப்பந்தத்திற்குப் பதிலியைச் சுட்டிக்காட்டுவதன் மூலம் ஒப்பந்தத் தர்க்கத்தைப் புதுப்பிக்கலாம்.
-
தனிப்பயன் துவக்கத் தர்க்கம்: தேவையான நிலை மாறிகளைப் பாதுகாப்பாக அமைக்கப் பதிலிக்குள் துவக்கச் செயல்பாடுகளை இணைக்கலாம்.
எடுத்துக்காட்டாக, EIP-7702-இணக்கமான கணக்குகளில் பிரதிநிதித்துவங்களைப் பாதுகாப்பாகத் துவக்கவும் நிர்வகிக்கவும் ஒரு பதிலியை எவ்வாறு பயன்படுத்தலாம் என்பதை SafeEIP7702Proxy (opens in a new tab) விளக்குகிறது.
பதிலி பேட்டர்னின் தீமைகள்:
- வெளிப்புற நபர்களைச் சார்ந்திருத்தல்: பாதுகாப்பற்ற ஒப்பந்தத்திற்கு மேம்படுத்தாமல் இருக்க நீங்கள் ஒரு வெளிப்புறக் குழுவை நம்பியிருக்க வேண்டும்.
பாதுகாப்புக் கருத்தாய்வுகள்
மறுநுழைவுக் காப்பு: EIP-7702 பிரதிநிதித்துவத்தின் அறிமுகத்துடன், ஒரு பயனரின் கணக்கு வெளிப்புறமாகச் சொந்தமான கணக்கு (EOA) மற்றும் திறன் ஒப்பந்தம் (SC) ஆகியவற்றுக்கு இடையே மாறும் வகையில் மாறலாம். இந்த நெகிழ்வுத்தன்மை கணக்கைப் பரிவர்த்தனைகளைத் தொடங்கவும் அழைப்புகளின் இலக்காகவும் இருக்கச் செயல்படுத்துகிறது. இதன் விளைவாக, ஒரு கணக்கு தன்னைத்தானே அழைக்கும் மற்றும் வெளிப்புற அழைப்புகளைச் செய்யும் காட்சிகளில் msg.sender ஆனது tx.origin-க்குச் சமமாக இருக்கும், இது முன்பு tx.origin எப்போதும் ஒரு EOA ஆக இருப்பதை நம்பியிருந்த சில பாதுகாப்பு அனுமானங்களை குறைமதிப்பிற்கு உட்படுத்துகிறது.
திறன் ஒப்பந்த உருவாக்குநர்களுக்கு, tx.origin என்பது ஒரு EOA-ஐக் குறிக்கிறது என்று கருதுவது இனி பாதுகாப்பானது அல்ல. அதேபோல, மறுநுழைவுத் தாக்குதல்களுக்கு எதிரான பாதுகாப்பாக msg.sender == tx.origin-ஐப் பயன்படுத்துவது இனி நம்பகமான உத்தி அல்ல.
இனிமேல், கணினியில் பங்கேற்கும் எவரும் ஒரு திறன் ஒப்பந்தமாக இருக்கலாம் என்ற அனுமானத்துடன் உருவாக்குநர்கள் வடிவமைக்க வேண்டும். மாற்றாக, அவர்கள் nonReentrant மாற்றி (modifier) பேட்டர்ன்களுடன் மறுநுழைவுக் காப்புகளைப் பயன்படுத்தி வெளிப்படையான மறுநுழைவுப் பாதுகாப்பைச் செயல்படுத்தலாம். தணிக்கை செய்யப்பட்ட மாற்றியைப் பின்பற்றப் பரிந்துரைக்கிறோம், எ.கா. Open Zeppelin-இன் மறுநுழைவுக் காப்பு (opens in a new tab). அவர்கள் ஒரு நிலையற்ற சேமிப்பக மாறியையும் (transient storage variable) (opens in a new tab) பயன்படுத்தலாம்.
துவக்கப் பாதுகாப்புக் கருத்தாய்வுகள்
EIP-7702 பிரதிநிதித்துவ ஒப்பந்தங்களைச் செயல்படுத்துவது குறிப்பிட்ட பாதுகாப்புச் சவால்களை அறிமுகப்படுத்துகிறது, குறிப்பாகத் துவக்கச் செயல்முறை தொடர்பாக. துவக்கச் செயல்பாடு (init) பிரதிநிதித்துவச் செயல்முறையுடன் அணுரீதியாக (atomically) இணைக்கப்படும்போது ஒரு முக்கியமான பாதிப்பு எழுகிறது. இதுபோன்ற சந்தர்ப்பங்களில், ஒரு முன்-ஓடுபவர் (frontrunner) பிரதிநிதித்துவக் கையொப்பத்தை இடைமறித்து, மாற்றப்பட்ட அளவுருக்களுடன் init செயல்பாட்டைச் செயல்படுத்தலாம், இது கணக்கின் கட்டுப்பாட்டைக் கைப்பற்றக்கூடும்.
தற்போதுள்ள திறன் ஒப்பந்தக் கணக்கு (SCA) செயலாக்கங்களை அவற்றின் துவக்க வழிமுறைகளை மாற்றாமல் EIP-7702 உடன் பயன்படுத்த முயற்சிக்கும்போது இந்த ஆபத்து குறிப்பாகப் பொருத்தமானது.
துவக்கப் பாதிப்புகளைத் தணிப்பதற்கான தீர்வுகள்
-
initWithSig-ஐச் செயல்படுத்துதல்
நிலையானinitசெயல்பாட்டை, துவக்க அளவுருக்களில் பயனர் கையொப்பமிட வேண்டியinitWithSigசெயல்பாட்டுடன் மாற்றவும். இந்த அணுகுமுறை வெளிப்படையான பயனர் ஒப்புதலுடன் மட்டுமே துவக்கம் தொடர முடியும் என்பதை உறுதி செய்கிறது, இதன் மூலம் அங்கீகரிக்கப்படாத துவக்க அபாயங்களைத் தணிக்கிறது. -
ERC-4337-இன் EntryPoint-ஐப் பயன்படுத்துதல்
துவக்கச் செயல்பாடு ERC-4337 EntryPoint ஒப்பந்தத்திலிருந்து மட்டுமே அழைக்கப்பட வேண்டும் என்று கோரவும். இந்த முறை ERC-4337 வழங்கும் தரப்படுத்தப்பட்ட சரிபார்ப்பு மற்றும் செயலாக்கக் கட்டமைப்பைப் பயன்படுத்துகிறது, இது துவக்கச் செயல்முறைக்குக் கூடுதல் பாதுகாப்பு அடுக்கைச் சேர்க்கிறது.
(காண்க: Safe ஆவணங்கள் (opens in a new tab))
இந்தத் தீர்வுகளைப் பின்பற்றுவதன் மூலம், உருவாக்குநர்கள் EIP-7702 பிரதிநிதித்துவ ஒப்பந்தங்களின் பாதுகாப்பை மேம்படுத்தலாம், துவக்கக் கட்டத்தில் சாத்தியமான முன்-ஓடும் (frontrunning) தாக்குதல்களுக்கு எதிராகப் பாதுகாக்கலாம்.
சேமிப்பக மோதல்கள் குறியீட்டைப் பிரதிநிதித்துவம் செய்வது ஏற்கனவே உள்ள சேமிப்பகத்தை அழிக்காது. ஒரு பிரதிநிதித்துவ ஒப்பந்தத்திலிருந்து மற்றொன்றுக்கு மாறும்போது, முந்தைய ஒப்பந்தத்தின் எஞ்சிய தரவு அப்படியே இருக்கும். புதிய ஒப்பந்தம் அதே சேமிப்பக நேரப்பகுதிகளைப் (slots) பயன்படுத்தினால், ஆனால் அவற்றை வித்தியாசமாக விளக்கினால், அது எதிர்பாராத நடத்தைக்குக் காரணமாகலாம். எடுத்துக்காட்டாக, ஆரம்பப் பிரதிநிதித்துவம் ஒரு சேமிப்பக நேரப்பகுதி bool-ஐக் குறிக்கும் ஒப்பந்தத்திற்கு இருந்தால், மற்றும் அடுத்தடுத்த பிரதிநிதித்துவம் அதே நேரப்பகுதி uint-ஐக் குறிக்கும் ஒப்பந்தத்திற்கு இருந்தால், இந்த முரண்பாடு கணிக்க முடியாத விளைவுகளுக்கு வழிவகுக்கும்.
ஃபிஷிங் அபாயங்கள் EIP-7702 பிரதிநிதித்துவத்தின் செயலாக்கத்துடன், ஒரு பயனரின் கணக்கில் உள்ள சொத்துக்கள் முழுமையாகத் திறன் ஒப்பந்தங்களால் கட்டுப்படுத்தப்படலாம். ஒரு பயனர் அறியாமல் தங்கள் கணக்கை ஒரு தீங்கிழைக்கும் ஒப்பந்தத்திற்குப் பிரதிநிதித்துவம் செய்தால், தாக்குபவர் எளிதாகக் கட்டுப்பாட்டைப் பெற்று நிதியைத் திருடலாம். chain_id=0-ஐப் பயன்படுத்தும்போது பிரதிநிதித்துவம் அனைத்து சங்கிலி ஐடிகளுக்கும் (chain ids) பயன்படுத்தப்படும். மாற்றவியலாத ஒப்பந்தத்திற்கு மட்டுமே பிரதிநிதித்துவம் செய்யுங்கள் (ஒருபோதும் பதிலிக்குப் பிரதிநிதித்துவம் செய்ய வேண்டாம்), மற்றும் CREATE2-ஐப் பயன்படுத்தி (நிலையான initcode உடன் - உருமாறும் ஒப்பந்தங்கள் இல்லை) நிலைநிறுத்தப்பட்ட ஒப்பந்தங்களுக்கு மட்டுமே பிரதிநிதித்துவம் செய்யுங்கள், இதனால் நிலைநிறுத்துபவர் வேறு எங்கும் அதே முகவரிக்கு வேறு எதையும் நிலைநிறுத்த முடியாது. இல்லையெனில் உங்கள் பிரதிநிதித்துவம் மற்ற அனைத்து EVM சங்கிலிகளிலும் உங்கள் கணக்கை ஆபத்தில் ஆழ்த்துகிறது.
பயனர்கள் பிரதிநிதித்துவக் கையொப்பங்களைச் செய்யும்போது, பிரதிநிதித்துவத்தைப் பெறும் இலக்கு ஒப்பந்தம் ஃபிஷிங் அபாயங்களைத் தணிக்க உதவும் வகையில் தெளிவாகவும் முக்கியத்துவத்துடனும் காட்டப்பட வேண்டும்.
குறைந்தபட்ச நம்பகமான மேற்பரப்பு மற்றும் பாதுகாப்பு: நெகிழ்வுத்தன்மையை வழங்கும் அதே வேளையில், ஒரு பிரதிநிதித்துவ ஒப்பந்தம் அதன் முக்கியத் தர்க்கத்தைக் குறைந்தபட்சமாகவும் தணிக்கை செய்யக்கூடியதாகவும் வைத்திருக்க வேண்டும். ஒப்பந்தம் திறம்படப் பயனரின் EOA-இன் நீட்டிப்பாகும், எனவே எந்தவொரு குறையும் பேரழிவை ஏற்படுத்தும். செயலாக்கங்கள் திறன் ஒப்பந்தப் பாதுகாப்புச் சமூகத்தின் சிறந்த நடைமுறைகளைப் பின்பற்ற வேண்டும். எடுத்துக்காட்டாக, ஆக்கி (constructor) அல்லது துவக்கச் செயல்பாடுகள் கவனமாகப் பாதுகாக்கப்பட வேண்டும் - Alchemy சுட்டிக்காட்டியபடி, 7702-இன் கீழ் ஒரு பதிலி பேட்டர்னைப் பயன்படுத்தினால், பாதுகாப்பற்ற துவக்கி ஒரு தாக்குபவர் கணக்கைக் கைப்பற்ற அனுமதிக்கலாம். குழுக்கள் சங்கிலிசார் குறியீட்டை எளிமையாக வைத்திருக்க இலக்கு வைக்க வேண்டும்: Ambire-இன் 7702 ஒப்பந்தம் சுமார் 200 வரிகள் கொண்ட Solidity மட்டுமே, பிழைகளைக் குறைக்க வேண்டுமென்றே சிக்கலைக் குறைக்கிறது. அம்சம் நிறைந்த தர்க்கத்திற்கும் தணிக்கையை எளிதாக்கும் எளிமைக்கும் இடையே ஒரு சமநிலை ஏற்படுத்தப்பட வேண்டும்.
அறியப்பட்ட செயலாக்கங்கள்
EIP-7702-இன் தன்மை காரணமாக, பயனர்கள் 3-ஆம் தரப்பு ஒப்பந்தத்திற்குப் பிரதிநிதித்துவம் செய்ய உதவும்போது பணப்பைகள் எச்சரிக்கையுடன் செயல்படப் பரிந்துரைக்கப்படுகிறது. தணிக்கை செய்யப்பட்ட அறியப்பட்ட செயலாக்கங்களின் தொகுப்பு கீழே பட்டியலிடப்பட்டுள்ளது:
| ஒப்பந்த முகவரி | மூலக் குறியீடு | தணிக்கைகள் |
|---|---|---|
| 0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00 | யூனிஸ்வாப்/calibur (opens in a new tab) | தணிக்கைகள் (opens in a new tab) |
| 0x69007702764179f14F51cdce752f4f775d74E139 | alchemyplatform/modular-account (opens in a new tab) | தணிக்கைகள் (opens in a new tab) |
| 0x5A7FC11397E9a8AD41BF10bf13F22B0a63f96f6d | AmbireTech/ambire-common (opens in a new tab) | தணிக்கைகள் (opens in a new tab) |
| 0x63c0c19a282a1b52b07dd5a65b58948a07dae32b | மெட்டாமேஸ்க்/delegation-framework (opens in a new tab) | தணிக்கைகள் (opens in a new tab) |
| 0x4Cd241E8d1510e30b2076397afc7508Ae59C66c9 | எத்தீரியம் அறக்கட்டளை AA குழு (opens in a new tab) | தணிக்கைகள் (opens in a new tab) |
| 0x17c11FDdADac2b341F2455aFe988fec4c3ba26e3 | Luganodes/Pectra-Batch-Contract (opens in a new tab) | தணிக்கைகள் (opens in a new tab) |
வன்பொருள் பணப்பை வழிகாட்டுதல்கள்
வன்பொருள் பணப்பைகள் தன்னிச்சையான பிரதிநிதித்துவத்தை வெளிப்படுத்தக் கூடாது. வன்பொருள் பணப்பைத் துறையில் உள்ள ஒருமித்த கருத்து என்னவென்றால், நம்பகமான பிரதிநிதித்துவ ஒப்பந்தங்களின் பட்டியலைப் பயன்படுத்துவதாகும். மேலே பட்டியலிடப்பட்டுள்ள அறியப்பட்ட செயலாக்கங்களை அனுமதிக்கவும், மற்றவற்றை ஒவ்வொரு வழக்கின் அடிப்படையிலும் பரிசீலிக்கவும் நாங்கள் பரிந்துரைக்கிறோம். உங்கள் EOA-ஐ ஒரு ஒப்பந்தத்திற்குப் பிரதிநிதித்துவம் செய்வது அனைத்து சொத்துக்களின் மீதும் கட்டுப்பாட்டைக் கொடுப்பதால், வன்பொருள் பணப்பைகள் 7702-ஐச் செயல்படுத்தும் விதத்தில் எச்சரிக்கையாக இருக்க வேண்டும்.
துணைச் செயலிகளுக்கான ஒருங்கிணைப்புக் காட்சிகள்
லேஸி (Lazy)
EOA இன்னும் வழக்கம் போல் செயல்படுவதால், செய்வதற்கு ஒன்றுமில்லை.
குறிப்பு: ERC-1155 NFT-கள் போன்ற சில சொத்துக்கள் பிரதிநிதித்துவக் குறியீட்டால் தானாகவே நிராகரிக்கப்படலாம், மேலும் ஆதரவுக் குழுவினர் இதைப் பற்றி அறிந்திருக்க வேண்டும்.
விழிப்புணர்வு (Aware)
EOA-இன் குறியீட்டைச் சரிபார்ப்பதன் மூலம் அதற்கான பிரதிநிதித்துவம் நடைமுறையில் உள்ளது என்பதைப் பயனருக்குத் தெரிவிக்கவும், மேலும் விருப்பப்பட்டால் பிரதிநிதித்துவத்தை அகற்றுவதற்கான வாய்ப்பை வழங்கவும்.
பொதுவான பிரதிநிதித்துவம்
வன்பொருள் வழங்குநர் அறியப்பட்ட பிரதிநிதித்துவ ஒப்பந்தங்களை அனுமதிப்பட்டியலில் சேர்க்கிறார் மற்றும் மென்பொருள் துணையில் அவற்றின் ஆதரவைச் செயல்படுத்துகிறார். முழுமையான ERC-4337 ஆதரவுடன் ஒரு ஒப்பந்தத்தைத் தேர்வு செய்யப் பரிந்துரைக்கப்படுகிறது.
வேறு ஒன்றிற்குப் பிரதிநிதித்துவம் செய்யப்பட்ட EOA-கள் நிலையான EOA-களாகக் கையாளப்படும்.
தனிப்பயன் பிரதிநிதித்துவம்
வன்பொருள் வழங்குநர் தனது சொந்தப் பிரதிநிதித்துவ ஒப்பந்தத்தைச் செயல்படுத்துகிறார் மற்றும் அதை மென்பொருள் துணையில் அதன் ஆதரவைச் செயல்படுத்தும் பட்டியல்களில் சேர்க்கிறார். முழுமையான ERC-4337 ஆதரவுடன் ஒரு ஒப்பந்தத்தை உருவாக்கப் பரிந்துரைக்கப்படுகிறது.
வேறு ஒன்றிற்குப் பிரதிநிதித்துவம் செய்யப்பட்ட EOA-கள் நிலையான EOA-களாகக் கையாளப்படும்.