Skip to content
সব অপশন ও ফিউচারস গাইড
ইথেরিয়াম অ্যাকাউন্ট ডেলিগেশন৯ মিনিট পড়তে

EIP-7702: EOA কোড ডেলিগেশন ও ঝুঁকি

EIP-7702 কীভাবে EOA-কে ডিপ্লয় করা কোডে নির্দেশ করতে দেয়, type-4 অনুমোদনে কী স্বাক্ষর হয় এবং কোন ক্ষমতা ও ঝুঁকি যাচাই করবেন তা জানুন।

এই গাইডেEIP-7702 কী বদলায় আর কী বদলায় না

সংক্ষিপ্ত সারাংশ

EIP-7702 একটি বিদ্যমান externally owned account (EOA)-কে ডিপ্লয় করা কোডের দিকে নির্দেশ করা মার্কার সেট করতে দেয়। ঠিকানা ও কী একই থাকে, তবে অ্যাকাউন্টে কল এলে সেটি অ্যাকাউন্টের ক্ষমতায় ওই কোড চালাতে পারে। স্ট্যান্ডার্ডটি সীমিত অনুমতি বা নিরাপত্তার নিশ্চয়তা দেয় না। স্বাক্ষরের আগে লক্ষ্য কোড ও তার নিয়ন্ত্রক যাচাই করুন।

EIP-7702 কী বদলায় আর কী বদলায় না

সাধারণ EOA ব্যক্তিগত কী দিয়ে লেনদেন স্বাক্ষর করে এবং নিজের ঠিকানায় চালানোর মতো কোড রাখে না। EIP-7702 তাকে অন্য ঠিকানায় আগে থেকে ডিপ্লয় করা কোডের দিকে নির্দেশ করতে দেয়। ডেলিগেটেড অ্যাকাউন্টে কল এলে ক্লায়েন্ট সেই কোড লোড করে অ্যাকাউন্টের প্রসঙ্গে চালায়। তাই ঠিকানা, ব্যালান্স ও স্টোরেজ অ্যাকাউন্টেরই থাকে; এটি নতুন কন্ট্রাক্টে স্থানান্তর বা কী বদল নয়।

EIP-7702 স্পেসিফিকেশন type-4 set-code লেনদেন ও authorization list সংজ্ঞায়িত করে। Ethereum.org-এর Pectra নির্দেশিকা এটিকে ডিপ্লয় করা কোডের পয়েন্টার হিসেবে বর্ণনা করে। ওয়ালেটের “smart account” লেবেল যাচাই-নীতি, পুনরুদ্ধার বা আসল কোড জানায় না। কে কোড বদলাতে পারে এবং অ্যাকাউন্টের সম্পদ ও স্টোরেজে তার কী ক্ষমতা আছে তা দেখুন।

Type-4 লেনদেনে আলাদা স্বাক্ষরিত অনুমোদন তালিকা থাকে

Set-code লেনদেনের type byte হলো 0x04। প্রতিটি authorization tuple-এ chain ID, কোডের ঠিকানা, অনুমোদনকারী অ্যাকাউন্টের nonce এবং তার স্বাক্ষর থাকে। অনুমোদনকারী tuple-এ স্বাক্ষর করে, আর প্রেরক বাইরের লেনদেনে আলাদা স্বাক্ষর করে; দুই অ্যাকাউন্ট আলাদা হতে পারে।

Chain ID সাধারণত অনুমোদনকে একটি নেটওয়ার্কে সীমাবদ্ধ করে। মান 0 EIP-7702 সমর্থনকারী চেইনে বিস্তৃত পরিসর দিতে পারে, কিন্তু সব জায়গায় সফল হওয়ার নিশ্চয়তা নয়: nonce ও অ্যাকাউন্টের অবস্থা মিলতে হবে। স্বাক্ষর স্ক্রিনে নেটওয়ার্ক, অ্যাকাউন্ট ও সম্পূর্ণ লক্ষ্য ঠিকানা নির্ভরযোগ্য ব্লক এক্সপ্লোরারের সঙ্গে মিলিয়ে নিন। Ethereum.org-এর লেনদেন নথি type-4 authorization list ব্যাখ্যা করে। এটি smart-account নির্দেশিকায় থাকা ERC-4337 UserOperation বা paymaster নয়।

ডেলিগেশন মার্কার কোড ধারণ করে না, কোডের দিকে নির্দেশ করে

EOA-র কোডে 0xef0100 উপসর্গ ও লক্ষ্য ঠিকানা দিয়ে মার্কার তৈরি হয়। ক্লায়েন্ট কল চালানোর সময় মার্কার চিনে লক্ষ্য ঠিকানা থেকে কোড আনে। অ্যাকাউন্ট ও কোডের ঠিকানা তাই আলাদা। কোড বর্তমান চেইন থেকে আসে; একই ঠিকানায় অন্য চেইনে ভিন্ন কোড বা কোনো কোড নাও থাকতে পারে।

ডেলিগেটেড কোড অ্যাকাউন্টের প্রসঙ্গে চলে এবং তার স্টোরেজ ব্যবহার করতে পারে। যুক্তি অনুযায়ী এটি ETH বা টোকেন পাঠাতে, বাইরের কন্ট্রাক্ট ডাকতে বা স্টোরেজ বদলাতে পারে। EIP-7702 নিজে “শুধু এই টোকেন” ধরনের সীমা দেয় না। লক্ষ্য proxy হলে প্রশাসক ও upgrade ক্ষমতা যাচাই করুন।

ডেলিগেটেড কোড অ্যাকাউন্টে বিস্তৃত ক্ষমতা পেতে পারে

দুর্বল যাচাই সম্পদ স্থানান্তর, টোকেন অনুমোদন, বাইরের কল বা স্টোরেজ পরিবর্তনের সুযোগ দিতে পারে। EIP-এর নিরাপত্তা বিবেচনা replay সুরক্ষা, লক্ষ্য ও calldata, ETH মূল্য এবং gas শর্ত স্বাক্ষরের সঙ্গে বাঁধার কথা বলে। এগুলো না থাকলে sponsor অন্য কল পাঠাতে বা লেনদেন ব্যর্থ করতে পারে।

কোন কন্ট্রাক্টে অ্যাকাউন্ট কল করতে পারে, স্বাক্ষর কীভাবে যাচাই হয়, জরুরি বা upgrade ক্ষমতা কার হাতে এবং ডিপ্লয় করা কোড যাচাইকৃত উৎসের সঙ্গে মেলে কি না দেখুন। Audit badge আপনার অনুরোধের সঠিক ঠিকানা ও সংস্করণ যাচাই হয়েছে প্রমাণ করে না। টোকেন অনুমোদন ও swap একসঙ্গে হলে দুই কলই পড়ুন এবং প্রয়োজনীয় পরিমাণে অনুমোদন সীমিত করুন।

বাইরের লেনদেন ব্যর্থ হলেও ডেলিগেশন থেকে যেতে পারে

EIP-7702 বাইরের লেনদেন চালানোর আগে authorization list প্রক্রিয়া করে। পরে execution ব্যর্থ বা revert হলেও ইতিমধ্যে প্রক্রিয়াকৃত delegation indicator ফিরিয়ে নেওয়া হয় না—স্পেসিফিকেশন এটাই বলে। তাই ব্যর্থ রসিদ মানেই অ্যাকাউন্টের আগের অবস্থা নয়। রসিদ ও বর্তমান অ্যাকাউন্ট কোড আলাদা করে যাচাই করুন।

অনুমোদন সফল হলেও পরের initialization কল ব্যর্থ হতে পারে, ফলে সেটআপ অসম্পূর্ণ অবস্থায় ডেলিগেশন সক্রিয় থাকে। আবার পাঠানোর আগে transaction hash, অনুমোদনকারী অ্যাকাউন্ট, nonce ও কোড পয়েন্টার মিলিয়ে নিন; nonce বদলে গেলে পুরোনো স্বাক্ষর অকার্যকর হতে পারে।

ডেলিগেশন মুছলে অন্য অবস্থা মুছে যায় না

নতুন authorization অন্য কোডে নির্দেশ করতে পারে। Null address-এ authorization delegation marker সরিয়ে অ্যাকাউন্ট কোড খালি করে, কিন্তু স্টোরেজ, ERC-20 কন্ট্রাক্টের allowance, সম্পন্ন transfer বা বাইরের কন্ট্রাক্টের পরিবর্তন মুছে না। টোকেন অনুমোদন আলাদা করে যাচাই ও বাতিল করুন।

নতুন কোড পুরোনো স্টোরেজ ভিন্নভাবে বুঝতে পারে। বদলানোর আগে storage layout ও migration পরিকল্পনা দেখুন। Allowance-এর জন্য টোকেন অনুমোদন ও allowance নির্দেশিকা পড়ুন। কী বা recovery phrase ফাঁস হলে কোড মুছে কী পুনরুদ্ধার হয় না; ওয়ালেট পুনরুদ্ধার নির্দেশিকা দেখুন।

স্বাক্ষরের আগে চেইন, লক্ষ্য ও ব্যর্থতার পর অবস্থা যাচাই করুন

নির্বাচিত নেটওয়ার্কে ওয়ালেট EIP-7702 সমর্থন করে কি না অফিসিয়াল নথি দেখুন। Chain ID, অ্যাকাউন্ট, লক্ষ্য ঠিকানা, যাচাইকৃত কোড ও proxy প্রশাসক মিলিয়ে নিন। অনুমোদন স্বাক্ষরকে বাইরের লেনদেনের প্রেরক ও ফি-দাতার থেকে আলাদা করুন; sponsorship কোডকে নিরাপদ করে না।

ডেলিগেশন সক্রিয় থাকলে শুধু transaction status দেখবেন না; বর্তমান মার্কার ও কোডের ঠিকানা দেখুন। অপ্রত্যাশিত হলে আরও কল ও অনুমোদন থামান। ফি-র জন্য Ethereum gas নির্দেশিকা এবং nonce বা pending transaction-এর জন্য pending লেনদেন নির্দেশিকা দেখুন।

প্রোটোকলের ক্ষমতা ও ওয়ালেটের প্রতিশ্রুতি আলাদা রাখুন

EIP-7702 EOA-কে ডিপ্লয় করা কোডের সঙ্গে যুক্ত করার লেনদেন-রীতি নির্ধারণ করে। একসঙ্গে একাধিক কল, fee sponsorship, session permission ও recovery নির্দিষ্ট কোড ও পরিষেবার ওপর নির্ভর করে। Ethereum Foundation-এর Pectra mainnet ঘোষণা authorization বদল বা বাতিল করার কথা বলে; ERC-4337 UserOperation ও paymaster আলাদা প্রক্রিয়া।

“Smart account” লেখা দেখে কী কার কাছে, কে কোড আপগ্রেড বা recovery বদলাতে পারে বোঝা যায় না। বাস্তব implementation, সেটিংস ও ওয়ালেট সমর্থন যাচাই করুন। সম্পদ থাকা অ্যাকাউন্ট বদলানোর আগে সমর্থন নিশ্চিত করুন। এই নির্দেশিকা প্রক্রিয়া ব্যাখ্যা করে, কোনো ওয়ালেট সুপারিশ করে না।

সাধারণ প্রশ্ন

Q1EIP-7702 কি EOA-কে সাধারণ smart-contract wallet বানায়?

না। এটি EOA-কে কোডে কল ডেলিগেট করতে দেয়, কিন্তু স্বয়ংক্রিয়ভাবে wallet policy, recovery বা নির্দিষ্ট permission যোগ করে না।

Q2Authorization ও type-4 transaction-এর স্বাক্ষর কি একই?

না। অনুমোদনকারী লক্ষ্য, chain ID ও nonce-এ স্বাক্ষর করে; প্রেরক বাইরের লেনদেনে আলাদা স্বাক্ষর করে।

Q3ডেলিগেশন মুছলে টোকেন অনুমোদন বাতিল হয়?

না। Token contract allowance আলাদাভাবে রাখে। সেটি আলাদা করে যাচাই ও বাতিল করতে হবে।

Q4ডেলিগেশন লক্ষ্য সম্পর্কে কী যাচাই করব?

বর্তমান চেইনের ঠিকানা ও কোড, যাচাইকৃত উৎস, upgrade প্রশাসক এবং অ্যাকাউন্টের সম্পদ ও স্টোরেজে কোডের ক্ষমতা পরীক্ষা করুন।

উৎস ও আরও পড়ুন

সমস্যা জানান

এই নিবন্ধের লিংকসহ একটি ইমেল তৈরি হবে। পাঠানোর পরেই Mark প্রতিবেদনটি পাবে

দ্রুত যাচাই

গাইডটি পড়ার পর 3টি প্রশ্নে নিজেকে যাচাই করুন

প্রশ্ন 1 / 3

প্রশ্ন 01

বৈধ authorization প্রক্রিয়ার পর বাইরের execution ব্যর্থ হলে কী হতে পারে?

ব্যাখ্যা দেখতে একটি উত্তর বেছে নিন

অপশন শব্দকোষ

অপশনের কার্যপ্রণালিঅপশন অ্যাসাইনমেন্ট কী?মেয়াদের আগে বা মেয়াদে বিক্রি করা অপশন কীভাবে শেয়ার দেওয়া বা কেনার দায় তৈরি করে তা বুঝুনএকটি অনুমোদিত চুক্তির সংখ্যা ঝুঁকি বাজেটের মতো নয়বিকল্প অবস্থানের সীমা বনাম ব্যায়াম সীমা ব্যাখ্যা করা হয়েছেকীভাবে তালিকাভুক্ত বিকল্প অবস্থানের সীমা ব্যায়ামের সীমা থেকে আলাদা তা জানুন, কেন একই-পাশে একত্রিতকরণ এবং রিপোর্টিং ব্যাপার এবং কেন মার্জিন বা ক্রয় ক্ষমতা একটি পরিমাণ অনুমোদিত কিনা তা দেখায় নাঅপশন ট্রেডিংঅপশনের বিড-আস্ক স্প্রেড কী?বিড ও আস্ক কী বোঝায়, তাদের পার্থক্য কেন গুরুত্বপূর্ণ এবং এটি কীভাবে এক্সিকিউশনকে প্রভাবিত করতে পারে তা জানুনঅপশন ট্রেডিংউন্মুক্ত সুদ এবং তারল্য একটি বিকল্প সম্পর্কে আপনাকে কী বলে?একটি বিকল্পের প্রকৃত তারল্য বিচার করার আগে খোলা আগ্রহ, ভলিউম, বিড-আস্ক স্প্রেড, প্রদর্শিত আকার এবং উদ্ধৃতি গুণমান বুঝুনমেয়াদ শেষ0DTE বিকল্প কি?0DTE বিকল্প কী তা জানুন, কেন সময় ক্ষয় এবং তারল্য দ্রুত পরিবর্তন হয় এবং প্রবেশের আগে কীভাবে শেষ-বাণিজ্য কাটঅফ, সেটেলমেন্ট এবং ব্রোকারের নিয়মগুলি পরীক্ষা করতে হয়