انواع حسابهای شبکه اتریوم؛ بررسی جامع EOA ،CA و انتزاع حساب
حساب اتریوم در سادهترین تعریف، دروازه ورود شما به دنیای غیرمتمرکز و محل ثبت داراییها روی بلاکچین است. انواع مختلفی از حسابها وجود دارد که هرکدام از نظر امنیت، نحوه دسترسی و امکانات با یکدیگر تفاوت دارند. آشنایی با انواع حساب اتریوم به شما کمک میکند تا با توجه به میزان دارایی، هدف از استفاده و سطح امنیت موردنیاز خود، گزینه مناسبتری را انتخاب کنید

کاربری را تصور کنید که کلمات عبور کیف پول نرمافزاری یا سختافزاری خود را گم میکند یا لپتاپش به سرقت میرود. او درگیر استرس شدید میشود و تصور میکند تمام اترها و توکنهایش داخل آن دستگاه نابود شدهاند؛ در حالی که داراییها اصلا روی گوشی یا لپتاپ ذخیره نشدهاند و جای دیگری در دل شبکه امن هستند. در این مقاله، ساختار واقعی حسابهای اتریوم و تفاوت بنیادین آنها با کیف پولها را زیر ذرهبین میبریم تا متوجه شوید داراییهای شما دقیقا کجا نگهداری میشوند و چطور میتوانید با تسلط بر کلیدهای رمزنگاری، کنترل قطعی آنها را در دست بگیرید.
منظور از حساب اتریوم چیست و چگونه کار میکند؟
تصور کنید شبکهی اتریوم یک بانک جهانی و کاملا دیجیتال است. در این بانک، برای اینکه بتوانید پولی ارسال کنید، پولی دریافت کنید یا با دیگران تعامل داشته باشید، به یک هویت یا جایگاه اختصاصی نیاز دارید. این جایگاه اختصاصی همان حساب اتریوم (Ethereum Account) است.
یک حساب در شبکهی اتریوم، موجودیتی است که میتواند اتر (ارز دیجیتال بومی این شبکه) را در خود نگه دارد و تراکنشها را ارسال کند. درست مانند حساب بانکی شما که شماره حساب مشخصی دارد و موجودی شما را نشان میدهد، حساب اتریوم هم یک آدرس منحصربهفرد دارد. اما یک تفاوت بزرگ وجود دارد؛ در اینجا هیچ مدیر یا کارمندی حساب شما را کنترل نمیکند، بلکه این کدهای ریاضی و علم رمزنگاری (دانش ایمنسازی اطلاعات با استفاده از کدهای پیچیده) هستند که امنیت و مالکیت حساب شما را تضمین میکنند. هر حسابی در این شبکه میتواند با حسابهای دیگر در ارتباط باشد، دارایی جابهجا کند و حتی برنامههای پیچیدهای را به اجرا درآورد.
بررسی اجزای اصلی تشکیلدهنده یک حساب اتریوم (موجودی، نانس، کد بایت و فضای ذخیرهسازی)
برای اینکه درک بهتری از نحوهی کارکرد این حسابها داشته باشیم، بیایید نگاهی به درون آنها بیندازیم. هر حساب اتریوم، فارغ از اینکه چه نوعی باشد، از چهار بخش اصلی تشکیل شده است. میتوانید این چهار بخش را مانند فرم مشخصات یک حساب بانکی در نظر بگیرید:
- موجودی (Balance): این بخش نشان میدهد که حساب شما دقیقا چقدر دارایی دارد. موجودی حساب در اتریوم بر اساس واحدی به نام وی (Wei) محاسبه میشود. وی کوچکترین واحد شمارش اتر است، درست مانند اینکه ریال کوچکترین واحد شمارش پول در ایران یا سنت کوچکترین واحد برای دلار است.
- نانس (Nonce): کلمهی نانس در نگاه اول کمی پیچیده به نظر میرسد، اما در عمل مثل شماره سریال روی برگههای چک بانکی کار میکند. نانس یک عدد است که نشان میدهد این حساب تا به حال چند تراکنش انجام داده است. هدف اصلی نانس این است که از انجام شدن تکراری یک تراکنش جلوگیری کند. برای مثال اگر شما یک تراکنش برای دوستتان ارسال کنید، شبکهی اتریوم با بررسی عدد نانس مطمئن میشود که این پول فقط یک بار از حساب شما کم شده است و هکرها نمیتوانند همان تراکنش را دوباره در شبکه کپی کنند.
- کد بایت (Bytecode): این بخش مربوط به کدهای برنامهنویسی است. اگر حساب شما یک حساب شخصی معمولی باشد، این بخش کاملا خالی است. اما اگر حساب شما متعلق به یک قرارداد هوشمند (کدهای برنامهریزیشدهای که به صورت خودکار روی بلاکچین اجرا میشوند) باشد، کدهای اجرایی آن قرارداد در این قسمت نگهداری میشوند.
- فضای ذخیرهسازی (Storage Root): این قسمت، حافظهی اختصاصی حساب است. باز هم برای حسابهای شخصی معمولی این بخش خالی میماند، اما قراردادهای هوشمند از این فضا برای ذخیرهی اطلاعات مربوط به خودشان، مانند لیست کاربرانی که با آنها تعامل داشتهاند یا قوانین خاص برنامهی خود استفاده میکنند.
وضعیت یا State در شبکه اتریوم به چه معناست؟
وقتی در مورد شبکهی اتریوم مطالعه میکنید، حتما با کلمهی وضعیت یا استیت (State) روبهرو میشوید. درک این مفهوم برای شناخت نحوهی کارکرد اتریوم بسیار مهم است.
اتریوم را مانند یک دفتر کل حسابداری بسیار بزرگ یا یک تابلوی اعلانات جهانی تصور کنید. در هر لحظه از زمان، این تابلوی اعلانات یک تصویر دقیق از تمام حسابها، موجودی آنها و اطلاعات ثبتشده در شبکهی اتریوم را نشان میدهد. به این تصویر کلی و جامع از کل شبکه در یک لحظهی خاص، وضعیت میگویند.
حالا وقتی شما یک تراکنش جدید انجام میدهید، مثلا مقداری اتر به حساب دوستتان واریز میکنید، سیستم محاسباتی شبکهی اتریوم وارد عمل میشود. شبکه تراکنش شما را پردازش میکند، موجودی حساب شما را کاهش میدهد و به موجودی دوستتان اضافه میکند. با این کار، تصویر کلی شبکه تغییر میکند و اتریوم از وضعیت قبلی به یک وضعیت جدید منتقل میشود. در واقع، تمام هدف شبکهی اتریوم این است که این تغییرات وضعیت را به صورت کاملا امن، دقیق و پیوسته در سراسر جهان بهروزرسانی کند تا همهی کاربران همیشه یک نسخهی واحد و معتبر از اطلاعات را در دست داشته باشند.
معرفی انواع حسابهای شبکه اتریوم
همانطور که در سیستم بانکداری سنتی انواع مختلفی از حسابها (مانند حساب جاری شخصی یا حساب حقوقی شرکتی) وجود دارد، در شبکهی اتریوم نیز ساختار یکسانی برای همهی حسابها استفاده نمیشود. اتریوم برای اینکه بتواند هم به کاربران روزمره خدمات بدهد و هم بستر مناسبی برای اجرای برنامههای پیچیدهی مالی باشد، دو نوع حساب کاملا متمایز را طراحی کرده است. در این بخش با زبان ساده بررسی میکنیم که این دو حساب چه هستند و چه تفاوتهایی با یکدیگر دارند.
حسابهای کنترلشده توسط کاربر یا EOA چیست؟
عبارت EOA مخفف حساب تحت مالکیت خارجی (Externally Owned Account) است. اجازه ندهید این نام تخصصی شما را گیج کند؛ این دقیقا همان حساب شخصی و معمولی است که من و شما برای نگهداری، ارسال و دریافت ارزهای دیجیتال خود از آن استفاده میکنیم.
دلیل استفاده از کلمهی خارجی این است که این حسابها هیچ کد برنامهنویسی درونی ندارند و کنترل آنها از بیرون شبکهی اتریوم و توسط یک انسان فیزیکی انجام میشود. در واقع، تنها چیزی که به این حسابها جان میبخشد و آنها را مدیریت میکند، همان کلید خصوصی (رمز عبور فوقامنیتی شما) است.
نحوه ایجاد، مدیریت و کنترل حسابهای EOA
ساختن یک حساب EOA بسیار سادهتر از افتتاح حساب در یک بانک است و نیازی به پر کردن فرم یا ارائهی مدارک هویتی ندارد. شما تنها کافی است یک نرمافزار کیف پول معتبر دانلود کنید. در همان لحظهی اول، کیف پول به صورت تصادفی و با استفاده از معادلات ریاضی، یک جفت کلید خصوصی و عمومی برای شما میسازد.
مدیریت و کنترل این حساب کاملا در دستان شما است. هر زمان که بخواهید پولی انتقال دهید، کیف پول شما با استفاده از کلید خصوصیتان آن درخواست را تایید میکند. هیچ نهاد، سازمان یا شخص دیگری نمیتواند بدون داشتن کلید خصوصی شما، حتی یک دلار از این حساب جابهجا کند.
مزایا و محدودیتهای حسابهای تحت مالکیت خارجی
حسابهای EOA ویژگیهای خاص خود را دارند که باعث میشود برای استفادهی روزمره عالی باشند، اما در عین حال نقطه ضعفهایی نیز دارند.
- مزایای حساب EOA:
- رایگان بودن: ساخت این نوع حساب هیچ هزینهای برای شما ندارد و کاملا رایگان است.
- شروعکنندهی تراکنش: در شبکهی اتریوم، فقط و فقط حسابهای EOA میتوانند یک تراکنش جدید را آغاز کنند.
- سادگی در استفاده: کار با آنها برای ارسال و دریافت پول بسیار روان و سرراست است.
- محدودیتهای حساب EOA:
- وابستگی مطلق به کلید خصوصی: بزرگترین نقطه ضعف این حسابها این است که اگر کلید خصوصی خود (یا همان کلمات بازیابی کیف پول) را گم کنید، هیچ راهی برای بازگرداندن سرمایهی شما وجود ندارد و پولتان برای همیشه از دست میرود.
- نیاز به پرداخت کارمزد: برای انجام هر کاری با این حسابها، باید مقداری ارز اتر در حساب خود داشته باشید تا بتوانید گس (Gas یا همان کارمزد شبکهی اتریوم برای پردازش تراکنشها) را پرداخت کنید.
- عدم امکان برنامهریزی: شما نمیتوانید به این حسابها دستورات شرطی بدهید؛ مثلا نمیتوانید بگویید اگر قیمت اتریوم به فلان مبلغ رسید، این پول را برای دوستم بفرست.
حساب قرارداد هوشمند یا CA چیست؟
دومین نوع از حسابها در این شبکه، حساب قرارداد هوشمند (Contract Account) است. این حسابها متعلق به انسانها نیستند، بلکه متعلق به کدهای کامپیوتری هستند.
برای درک بهتر، یک دستگاه خودپرداز فروش نوشابه را تصور کنید. شما پول را وارد دستگاه میکنید، دکمهی نوشابهی مورد نظر را میفشارید و دستگاه به صورت خودکار نوشابه را به شما تحویل میدهد. هیچ فروشندهای داخل دستگاه پنهان نشده است؛ بلکه دستگاه بر اساس یک برنامهی از پیش تعیینشده کار میکند. حساب قرارداد هوشمند دقیقا نقش همین دستگاه را در شبکهی اتریوم بازی میکند. این حساب دارای موجودی، آدرس اختصاصی و از همه مهمتر، کدهای برنامهنویسی است که مشخص میکنند پولها باید تحت چه شرایطی مدیریت یا جابهجا شوند.
حسابهای قرارداد هوشمند چگونه ایجاد میشوند و چگونه کار میکنند؟
برخلاف حسابهای شخصی که رایگان و توسط کاربران عادی ساخته میشوند، حسابهای قرارداد هوشمند توسط برنامهنویسان خلق میشوند. یک توسعهدهنده، کدهای مورد نظر خود را مینویسد و سپس آنها را در قالب یک تراکنش به شبکهی اتریوم ارسال میکند. با این کار، شبکه یک فضای اختصاصی و یک آدرس جدید به این کدها اختصاص میدهد و هزینهای هم بابت این ثبت از برنامهنویس دریافت میکند.
نکتهی بسیار مهم در نحوهی کار این حسابها این است که آنها خواب هستند و نمیتوانند خودبهخود کاری را شروع کنند! یک قرارداد هوشمند تنها زمانی بیدار میشود و کارهایش را انجام میدهد که یک کاربر عادی (صاحب یک حساب EOA) به آن پیامی بفرستد و از آن بخواهد فعالیتی را استارت بزند.
کاربردهای اصلی حسابهای قرارداد هوشمند در دیفای و اپلیکیشنهای غیرمتمرکز
حسابهای قرارداد هوشمند، قلب تپندهی نوآوری در شبکهی اتریوم هستند. بدون این حسابها، اتریوم صرفا شبکهای برای جابهجایی پول بود، اما به لطف آنها، این شبکه تبدیل به یک کامپیوتر جهانی شده است. مهمترین کاربرد این قراردادها در ساخت برنامههای دیفای (DeFi یا سیستمهای مالی غیرمتمرکز که خدمات بانکی را بدون نیاز به بانک ارائه میدهند) است. چند نمونه از کاربردهای جذاب این حسابها عبارتند از:
- صرافیهای غیرمتمرکز: پلتفرمهایی که به شما اجازه میدهند ارزهای دیجیتال خود را مستقیما با کاربران دیگر معامله کنید، بدون اینکه نیاز باشد پولتان را به شرکت خاصی بسپارید. کدهای قرارداد هوشمند وظیفهی تطبیق خریدار و فروشنده را بر عهده دارند.
- پلتفرمهای وامدهی: در دنیای رمزارز میتوانید بدون ارائهی ضامن فیزیکی و فقط با قفل کردن بخشی از داراییهای خود در یک قرارداد هوشمند، وام دریافت کنید.
- بازیهای بلاکچینی و توکنهای غیرمثلی: مدیریت داراییهای درون بازی یا مالکیت آثار هنری دیجیتال، همگی توسط کدهای حساب قرارداد هوشمند ثبت و تضمین میشوند.
مقایسه جامع حسابهای EOA و قراردادهای هوشمند
حالا که با مفهوم هر دو نوع حساب در شبکهی اتریوم آشنا شدیم، زمان آن رسیده است که آنها را رودرروی یکدیگر قرار دهیم و به شکلی عمیقتر با هم مقایسه کنیم. درک تفاوتهای این دو حساب، مانند یادگیری قوانین راهنمایی و رانندگی قبل از ورود به جادههای دنیای رمزارز است و به شما کمک میکند تا با اطمینان بیشتری داراییهای خود را مدیریت کنید.
تفاوت در نحوه کنترل، امکان برنامهریزی و اجرای کد
اصلیترین و بنیادیترین تفاوت این دو حساب، در ماهیت کنترلکنندهی آنها نهفته است:
- حساب شخصی یا EOA: این حسابها به هیچ وجه هوشمند نیستند و کاملا فرمانبردار شما محسوب میشوند. کنترل این حساب تنها از طریق کلید خصوصی انجام میشود. شما هیچ کدی نمیتوانید در این حساب بنویسید و هیچ شرطی نمیتوانید برای آن تعیین کنید. به زبان ساده، این حساب مانند یک گاوصندوق فیزیکی است؛ فقط کسی که کلید را دارد میتواند در آن را باز کند و پولها را جابهجا کند. هیچ منطق یا برنامهی پیچیدهای در این گاوصندوق وجود ندارد.
- حساب قرارداد هوشمند: در نقطهی مقابل، حساب قرارداد هوشمند توسط کلید خصوصی کنترل نمیشود، بلکه کنترلکنندهی اصلی آن، کدهای برنامهنویسی یا همان کد بایت (Bytecode: زبان ماشین یا دستورالعملهای کامپیوتری که شبکهی اتریوم آنها را میفهمد و اجرا میکند) است. این حسابها قابلیت برنامهریزی دارند. شما میتوانید هر منطق یا شرطی را در آنها پیادهسازی کنید. برای مثال، میتوانید کدی بنویسید که میگوید: هر زمان که شخص الف ۵۰ توکن به این حساب واریز کرد، به صورت خودکار یک سند دیجیتال را به آدرس او ارسال کن. در اینجا، کدها جایگزین انسان شدهاند و همه چیز را مدیریت میکنند.
تفاوت در نحوه شروع تراکنشها و پرداخت کارمزد شبکه (Gas)
یکی از قوانین سفت و سخت شبکهی اتریوم این است که هر اتفاقی در شبکه، نیازمند یک نقطهی شروع است. این قانون تفاوت مهم دیگری را بین حسابها رقم میزند:
- شروعکنندهی تراکنش کیست؟ در دنیای اتریوم، فقط حسابهای EOA میتوانند یک تراکنش را آغاز کنند. قراردادهای هوشمند هرچقدر هم که پیچیده و پیشرفته باشند، نمیتوانند خودبهخود از خواب بیدار شوند و فعالیتی را استارت بزنند. قرارداد هوشمند همیشه منتظر میماند تا یک انسان (از طریق حساب EOA خود) پیامی برای او بفرستد یا پولی واریز کند، و تنها در واکنش به آن پیام است که کدهای قرارداد اجرا میشوند. میتوانید این فرآیند را مانند چیدن مهرههای دومینو تصور کنید؛ حساب EOA همان دستی است که به اولین مهره ضربه میزند و قراردادهای هوشمند مهرههای بعدی هستند که در اثر این ضربه به حرکت درمیآیند.
- پرداخت کارمزد: از آنجایی که حسابهای EOA آغازکنندهی تراکنشها هستند، وظیفهی پرداخت کارمزد یا گس (Gas: هزینهای که برای پردازش و تایید تراکنشها به رایانههای پردازشگر شبکه پرداخت میشود) نیز بر عهدهی آنها است. بنابراین، یک حساب شخصی EOA برای انجام هر کاری باید حتما مقداری ارز اتر موجودی داشته باشد. قراردادهای هوشمند به خودی خود کارمزدی برای شروع پرداخت نمیکنند، اما وقتی یک کاربر با آنها تعامل میکند، هزینهی پردازش کدهای آن قرارداد را باید کاربر آغازکننده بپردازد.
جدول مقایسه سریع ویژگیهای حساب شخصی و حساب قرارداد هوشمند
برای مرور سریع و راحتتر مفاهیمی که تا اینجا یاد گرفتیم، در جدول زیر مهمترین ویژگیهای هر دو حساب را در کنار هم قرار دادهایم:
|
ویژگی مورد بررسی |
حساب شخصی (EOA) |
حساب قرارداد هوشمند |
|
نوع کنترلکننده |
کلید خصوصی (در دست کاربر انسان) |
کدهای برنامهنویسی مستقر در شبکه |
|
امکان شروع تراکنش |
بله، فقط این حسابها میتوانند تراکنش را آغاز کنند |
خیر، فقط در واکنش به حسابهای دیگر عمل میکنند |
|
قابلیت برنامهریزی و اجرای کد |
ندارد (فقط برای نگهداری و انتقال ساده است) |
دارد (هر نوع منطق و شرطی قابل پیادهسازی است) |
|
نیاز به پرداخت کارمزد برای شروع |
دارد (باید برای شروع هر کاری اتر بپردازد) |
ندارد (کارمزد اجرای کدهایش توسط کاربر شروعکننده پرداخت میشود) |
|
قابلیت بازیابی حساب |
در صورت گم شدن کلید خصوصی، حساب برای همیشه از دست میرود |
میتوان از قبل، کدهایی برای بازیابی امن و چندمرحلهای در آن تعریف کرد |
فناوری Account Abstraction : حساب جدیدی در اتریوم
با وجود تمام مزایایی که شبکهی اتریوم تا به امروز داشته است، کار با آن برای بسیاری از کاربران عادی همچنان سخت و دلهرهآور است. برای حل این مشکل، توسعهدهندگان اتریوم به سراغ یک بهروزرسانی بزرگ و انقلابی به نام انتزاع حساب (Account Abstraction: جدا کردن فرآیند تایید تراکنشها از ساختار خشک و سنتی اتریوم و سپردن آن به کدهای قابل برنامهریزی) رفتهاند. این فناوری قرار است تجربهی کار با ارزهای دیجیتال را به سادگی کار با اپلیکیشنهای روزمرهی بانکی تبدیل کند. در این بخش میبینیم که این فناوری دقیقا چیست و چرا شبکهی اتریوم به شدت به آن نیاز داشت.
محدودیتهای حسابهای سنتی و دلیل نیاز شبکه به ارتقا
برای اینکه اهمیت این تحول را درک کنیم، ابتدا باید ببینیم حسابهای سنتی یا همان EOA چه مشکلاتی دارند که توسعهدهندگان را مجبور به طراحی یک سیستم جدید کرده است. حسابهای شخصی با وجود سادگی، محدودیتهای آزاردهندهای دارند:
- کابوس گم شدن کلید خصوصی: در سیستم سنتی، تمام امنیت و دارایی شما به یک رشته حروف ۱۲ یا ۲۴ کلمهای گره خورده است. اگر این کلمات را گم کنید یا کسی آنها را بدزدد، هیچ راهی برای بازیابی حساب وجود ندارد و سرمایهی شما برای همیشه نابود میشود.
- مشکل پرداخت کارمزد: تصور کنید در کیف پول خود ۱۰۰۰ دلار ارز تتر (USDT) دارید و میخواهید مقداری از آن را برای دوستتان بفرستید. در کمال تعجب میبینید که شبکه به شما اجازهی این کار را نمیدهد؛ زیرا برای پرداخت کارمزد شبکهی اتریوم، حتما باید ارز اتر (ETH) در حساب خود داشته باشید! این یعنی باید دوباره مراحل خرید اتر و نگهداری آن را طی کنید که بسیار زمانبر و خستهکننده است.
- عدم انعطافپذیری: در حسابهای EOA نمیتوانید سقف برداشت روزانه تعیین کنید، نمیتوانید تراکنشها را برای آینده زمانبندی کنید و امکان استفاده از تایید دو مرحلهای (مانند ارسال پیامک یا تایید ایمیلی) وجود ندارد. این حسابها دقیقا مانند یک گاوصندوق قدیمی هستند که فقط یک کلید ساده دارند و هیچ تکنولوژی هوشمندی در آنها به کار نرفته است.
فناوری Account Abstraction چگونه نحوه تایید تراکنشها را تغییر میدهد؟
فناوری انتزاع حساب یا همان Account Abstraction، راهکاری درخشان برای دور زدن تمام این محدودیتها است. این فناوری به زبان ساده، ویژگیهای حساب شخصی (EOA) و حساب قرارداد هوشمند را با هم ترکیب میکند. نتیجهی این ترکیب، خلق نسل جدیدی از حسابها است که به آنها کیف پول هوشمند گفته میشود.
در سیستم قدیمی، شبکهی اتریوم فقط یک نوع امضا را قبول میکرد: امضایی که مستقیما با کلید خصوصی شما زده شده باشد. اما با استفاده از این فناوری جدید، شما میتوانید به شبکهی اتریوم بگویید: از این به بعد، به جای کلید خصوصی ثابت، قوانین من را برای تایید تراکنشها بپذیر.
این یعنی شما میتوانید منطق تایید تراکنش را خودتان برنامهریزی کنید. به جای اینکه سیستم فقط منتظر یک کلید خصوصی باشد، میتوانید حساب خود را طوری تنظیم کنید که تراکنشها با اسکن اثر انگشت شما تایید شوند، یا اگر مبلغ تراکنش بالا بود، علاوه بر شما، همسرتان نیز باید آن را در گوشی خودش تایید کند (سیستم چندامضایی). این انعطافپذیری فوقالعاده، امنیت و راحتی را به شکل بیسابقهای افزایش میدهد.
آشنایی ساده با استاندارد EIP-4337 و نقش آن در انتزاع حساب
اجرای چنین تغییر بزرگی در شبکهی عظیمی مانند اتریوم کار سادهای نیست. تغییر دادن هستهی اصلی کدهای اتریوم بسیار خطرناک است و میتواند کل شبکه را دچار اختلال کند. اینجاست که راهحل هوشمندانهای به نام EIP-4337 وارد میدان میشود.
کلمهی EIP (Ethereum Improvement Proposal: پیشنهادهای رسمی و فنی که توسط برنامهنویسان برای بهبود و ارتقای شبکهی اتریوم ارائه میشود) به طرحهایی اشاره دارد که مسیر آیندهی شبکه را مشخص میکنند. شماره 4337 یک پیشنهاد بسیار حیاتی بود که موفق شد فناوری انتزاع حساب را بدون دست زدن به کدهای اصلی و حساس اتریوم، روی شبکه پیادهسازی کند.
این استاندارد، یک مسیر فرعی و امن در کنار جادهی اصلی اتریوم ایجاد کرد. به لطف EIP-4337، تراکنشهای مربوط به کیف پولهای هوشمند در یک اتاق انتظار جداگانه جمعآوری میشوند و سپس توسط رباتهای خاصی به نام بستهبند، دستهبندی شده و به شبکهی اصلی ارسال میگردند. نقش کلیدی این استاندارد این بود که به برنامهنویسان سراسر جهان اجازه داد بدون نیاز به تغییر قوانین بنیادین اتریوم، همین فردا ساخت کیف پولهای هوشمند و کاربرپسند را آغاز کنند و نسل جدیدی از خدمات مالی را به کاربران ارائه دهند.
مزایا و کاربردهای اصلی Account Abstraction
حالا که با مفهوم انتزاع حساب آشنا شدیم، وقت آن است که ببینیم این فناوری در عمل چه فایدهای برای ما دارد. ارتقای شبکهی اتریوم با این تکنولوژی، دقیقا شبیه به گذر از گوشیهای موبایل دکمهای و قدیمی به گوشیهای هوشمند امروزی است. این تغییر بنیادین، امکانات بینظیری را برای کاربران فراهم کرده است که در ادامه سه مورد از مهمترین مزایا و کاربردهای آن را با هم بررسی میکنیم.
تولد کیف پولهای هوشمند یا Smart Wallets و ارتقای چشمگیر تجربه کاربری
مهمترین دستاورد این فناوری، خلق نسل جدیدی از کیف پولها به نام کیف پول هوشمند (Smart Wallet: نرمافزاری که برای مدیریت داراییها به جای کلید خصوصی ساده، از کدهای برنامهنویسیشده استفاده میکند) است. تا پیش از این، کار با ارزهای دیجیتال برای افراد مبتدی پر از استرس و پیچیدگی بود، اما کیف پولهای هوشمند این تجربه را کاملا دگرگون کردهاند.
به کمک این کیف پولها، شما کنترل بسیار دقیقتری روی داراییهای خود دارید. برخی از جذابترین امکاناتی که به این کیف پولها اضافه شده است عبارتند از:
- دیگر نیازی به نوشتن روی کاغذ و مخفی کردن کلمات بازیابی طولانی و پیچیده نیست.
- میتوانید برای تراکنشهای روزمرهی خود سقف برداشت روزانه یا ماهانه تعیین کنید تا در صورت بروز مشکل امنیتی، تمام سرمایهی شما به خطر نیفتد (دقیقا مانند کارتهای بانکی).
- امکان زمانبندی و خودکارسازی تراکنشهای تکراری، مانند پرداخت حق اشتراک ماهانهی یک سایت یا سرویس اینترنتی، به راحتی فراهم شده است.
افزایش امنیت با تایید چندمرحلهای و امکان بازیابی اجتماعی حساب
در سیستمهای سنتی، از دست دادن کلید خصوصی مساوی با نابودی قطعی سرمایه بود و هیچ راه برگشتی وجود نداشت. اما انتزاع حساب، امنیت را به سطح کاملا جدیدی ارتقا داده است. با این فناوری، شما میتوانید از احراز هویت چندمرحلهای (Multi-Factor Authentication: روشی امنیتی که برای تایید یک عملیات، به بیش از یک تاییدیه نیاز دارد) استفاده کنید. برای مثال، میتوانید تنظیم کنید که انتقال مبالغ بزرگ فقط در صورتی انجام شود که هم در لپتاپ و هم در گوشی موبایل شما تایید شود.
ویژگی شگفتانگیز دیگر، قابلیتی به نام بازیابی اجتماعی (Social Recovery: سیستمی که به شما اجازه میدهد در صورت گم کردن رمز عبور، حساب خود را به کمک افراد یا دستگاههای معتمد بازیابی کنید) است. با این قابلیت، شما میتوانید چند نفر از اعضای خانواده، دوستان قابل اعتماد یا حتی دستگاههای دیگر خود را به عنوان نگهبان حساب تعیین کنید. اگر روزی رمز عبور خود را فراموش کردید یا دستگاهتان گم شد، این نگهبانها میتوانند با تایید هویت شما، دسترسی به حسابتان را بازگردانند؛ بدون اینکه نیازی به سیستمهای متمرکز بانکی باشد.
قابلیت پرداخت کارمزد تراکنش توسط اشخاص ثالث و تراکنشهای بدون گس
یکی از بزرگترین دردسرهای کاربران مبتدی در شبکهی اتریوم، گیر کردن تراکنشها به دلیل نداشتن ارز اتر برای پرداخت کارمزد بود. فناوری انتزاع حساب این مشکل را با مفهومی به نام تراکنش بدون گس (Gasless Transaction: تراکنشی که کاربر برای انجام آن نیازی به پرداخت مستقیم کارمزد با ارز بومی شبکه ندارد) حل کرده است.
با استفاده از این قابلیت، دو اتفاق بسیار عالی برای کاربران رقم میخورد:
- پرداخت کارمزد با سایر ارزها: شما میتوانید کارمزد شبکهی اتریوم را با همان ارزی که در حال انتقال آن هستید (مثلا تتر یا سایر توکنها) پرداخت کنید. به این ترتیب، دیگر مجبور نیستید همیشه مقداری اتر در حساب خود به عنوان هزینهی تراکنش نگه دارید.
- پرداخت توسط شخص ثالث (Third Party): توسعهدهندگان برنامهها یا شرکتها میتوانند کارمزد تراکنشهای کاربران خود را پرداخت کنند. فرض کنید میخواهید وارد یک بازی بلاکچینی جدید شوید؛ سازندهی بازی میتواند برای تشویق شما، هزینهی تراکنشهای اولیهی شما را بر عهده بگیرد تا بتوانید بدون هیچ هزینهای بازی را شروع کنید. این ویژگی، ورود افراد جدید به دنیای رمزارز را بسیار سادهتر، ارزانتر و جذابتر میکند.

تفاوت حساب شبکه اتریوم با کیف پول ارز دیجیتال در چیست؟
یکی از رایجترین اشتباهات بین کاربران تازهکار این است که فکر میکنند حساب اتریوم و کیف پول ارز دیجیتال دقیقا یک چیز هستند. برای درک بهتر این موضوع، بیایید به سراغ یک مثال آشنا برویم.
حساب بانکی خود و اپلیکیشن موبایل بانک روی گوشیتان را در نظر بگیرید. پولهای شما در واقع داخل نرمافزار موبایل بانک یا حافظهی گوشی ذخیره نشدهاند؛ بلکه در سیستم و پایگاه دادهی مرکزی بانک ثبت هستند. اپلیکیشن موبایل بانک تنها یک ابزار یا پنجره است که به شما اجازه میدهد موجودی خود را ببینید و به بانک دستور انتقال پول بدهید. اگر گوشی شما گم شود، پول شما از بین نمیرود، زیرا فقط کافی است نرمافزار موبایل بانک را روی یک گوشی دیگر نصب کنید.
در دنیای بلاکچین (دفتر کل توزیعشده و دیجیتالی که اطلاعات تراکنشها را در سراسر شبکهای از کامپیوترها ثبت و نگهداری میکند) نیز دقیقا همین قانون برقرار است. حساب اتریوم شما، در واقع همان جایگاه ثبتشده در دل شبکهی اتریوم است که موجودی شما را نگه میدارد. اما کیف پول ارز دیجیتال نرمافزاری مانند متامسک یا تراست ولت است که تنها یک پل ارتباطی محسوب میشود. این نرمافزارها به شما کمک میکنند تا با حساب خود در شبکهی اتریوم ارتباط برقرار کنید، موجودیتان را چک کنید و تراکنشها را مدیریت کنید. پس فراموش نکنید که داراییهای شما همیشه در شبکهی اتریوم امن هستند، نه در حافظهی گوشی یا لپتاپ شما.
درک نقش کلید خصوصی و کلید عمومی در مدیریت داراییها
حالا که متوجه شدیم کیف پول فقط یک رابط کاربری است، این سوال پیش میآید که شبکهی اتریوم از کجا میفهمد چه کسی صاحب واقعی یک حساب است و حق دارد پولها را جابهجا کند؟ اینجا است که دو مفهوم بسیار مهم به نامهای کلید خصوصی و کلید عمومی وارد میدان میشوند. به زبان ساده، این دو کلید مانند یک جفت کلید و قفل دیجیتالی کار میکنند:
- کلید خصوصی (Private Key): این کلید دقیقا مانند رمز عبور کارت بانکی یا رمز گاوصندوق شما است. کلید خصوصی یک رشتهی طولانی از حروف و اعداد است که به شما اجازه میدهد داراییهای حساب خود را خرج کنید یا به حساب دیگری انتقال دهید. کسی که این کلید را در اختیار داشته باشد، کنترل کامل حساب را در دست دارد. بنابراین، کلید خصوصی باید همیشه در امنترین جای ممکن مخفی بماند و هرگز نباید آن را با کسی به اشتراک بگذارید.
- کلید عمومی (Public Key): این کلید مانند شماره شبا یا شماره حساب بانکی شما است. شبکهی اتریوم کلید عمومی را با استفاده از فرمولهای پیچیدهی ریاضی و مستقیما از روی کلید خصوصی شما میسازد. شما میتوانید کلید عمومی را به راحتی در اختیار دیگران قرار دهید تا برای شما پول ارسال کنند. نکتهی جذاب ماجرا این است که هیچکس نمیتواند با داشتن کلید عمومی، به داراییهای شما دسترسی پیدا کند یا کلید خصوصی شما را از روی آن حدس بزند.
وقتی میخواهید مقداری اتر برای دوستتان بفرستید، کیف پول شما به صورت خودکار با استفاده از کلید خصوصیتان، تراکنش را امضای دیجیتال (یک تاییدیه رمزنگاریشده که ثابت میکند شما صاحب واقعی حساب هستید) میکند. سپس شبکه با بررسی این امضا، مطمئن میشود که دستور انتقال واقعا از طرف شخص شما صادر شده است و اجازهی انجام آن را میدهد.
آدرس اتریوم چیست و چگونه از کلید عمومی ساخته میشود؟
ممکن است بپرسید پس آدرس اتریوم که همیشه با حروف 0x شروع میشود چیست؟ آیا همان کلید عمومی است؟ پاسخ منفی است، اما این آدرس ارتباط بسیار نزدیکی با کلید عمومی شما دارد.
کلید عمومی یک رشتهی بسیار طولانی و نامنظم از حروف و اعداد است. خواندن، نوشتن و کپی کردن چنین عبارت طولانیای برای انسانها سخت است و احتمال خطای تایپی در آن بسیار بالا میرود. به همین دلیل، توسعهدهندگان شبکهی اتریوم تصمیم گرفتند این فرآیند را برای کاربران سادهتر و ایمنتر کنند.
آنها با استفاده از توابع هش (یک عملیات ریاضی یکطرفه که اطلاعات طولانی را به یک کد کوتاهتر با طول ثابت تبدیل میکند)، کلید عمومی را فشرده میکنند. در این فرآیند، ۲۰ بایت آخر این کد فشردهشده جدا میشود و در نهایت، به ابتدای آن عبارت 0x اضافه میگردد تا در تمام دنیای ارزهای دیجیتال مشخص شود که این یک آدرس متعلق به شبکهی اتریوم است.
بنابراین، آدرس اتریوم شما در واقع نسخهی کوتاهشده، کاربرپسند و استاندارد کلید عمومی شما است. وقتی شخصی از شما میخواهد آدرس کیف پولتان را برای دریافت ارز دیجیتال بدهید، شما همین آدرس کوتاه (مثلا 0x1A2B...) را برای او میفرستید. این سیستم هوشمندانه باعث میشود تا جابهجایی داراییها هم امن بماند و هم برای کاربران روزمره ساده و سریع باشد.

تراکنشها در شبکه اتریوم چگونه بین حسابها انجام میشوند؟
شبکهی اتریوم را مانند یک سیستم پستی جهانی و بسیار پیشرفته در نظر بگیرید. در این سیستم، تراکنشها در واقع همان نامهها یا بستههایی هستند که از یک آدرس به آدرس دیگر فرستاده میشوند. هر زمان که اتفاقی در این شبکه میافتد و وضعیتی تغییر میکند، پای یک تراکنش در میان است. اما بسته به اینکه فرستنده و گیرندهی این نامه چه کسانی باشند، فرآیند و نتیجهی کار کاملا متفاوت خواهد بود. در ادامه بررسی میکنیم که این پیامها چگونه بین انواع حسابها رد و بدل میشوند.
تعامل و انتقال دارایی بین دو حساب EOA
تصور کنید میخواهید مقداری اتر برای دوست خود بفرستید. در این حالت، هر دوی شما دارای حساب شخصی یا EOA هستید. این سادهترین نوع تراکنش در شبکهی اتریوم است که به آن انتقال همتا به همتا (Peer-to-Peer: ارتباط مستقیم و بدون واسطهی دو شخص با یکدیگر) میگویند. فرآیند این انتقال ساده را میتوان در سه مرحلهی روان خلاصه کرد:
- ثبت درخواست: شما در نرمافزار کیف پول خود، آدرس اتریوم دوستتان و مبلغ مورد نظر را وارد میکنید.
- امضای دیجیتال: کیف پول با استفاده از کلید خصوصی شما، این درخواست را به صورت دیجیتالی امضا میکند تا به شبکه ثابت کند این دستور واقعا از طرف شما صادر شده است.
- تایید و انتقال: درخواست شما به شبکه ارسال میشود. اعتبارسنجها (Validators: کامپیوترهای قدرتمندی که وظیفهی بررسی صحت تراکنشها و تامین امنیت شبکه را بر عهده دارند) موجودی شما و صحت امضا را بررسی میکنند. اگر همهچیز درست باشد، مبلغ از حساب شما کسر و به حساب دوستتان اضافه میشود.
در این انتقال مستقیم، هیچ کد پیچیدهای اجرا نمیشود و همهچیز شبیه به یک عملیات کارت به کارت بانکی ساده و روزمره است.
نحوه ارتباط کاربران با حسابهای قرارداد هوشمند و فراخوانی توابع
حالا بیایید سناریوی کمی جذابتر و پیچیدهتر را بررسی کنیم. زمانی که شما میخواهید یک توکن جدید بخرید، در یک صرافی غیرمتمرکز معامله کنید یا در یک بازی بلاکچینی شرکت کنید، در حال تعامل با یک حساب قرارداد هوشمند هستید.
همانطور که در بخشهای قبل یاد گرفتیم، قراردادهای هوشمند در حالت عادی خواب هستند. برای بیدار کردن و ارتباط با آنها، شما باز هم از حساب EOA خود یک تراکنش ارسال میکنید، اما این بار پیام شما علاوه بر مبلغ، حاوی دستورات خاصی است که به آن دادههای همراه (Payload: اطلاعات اضافهای که به قرارداد میگوید دقیقا چه کاری باید انجام دهد) میگویند.
برای درک بهتر این موضوع، یک دستگاه پخش موسیقی سکهای را تصور کنید. اگر شما فقط یک سکه به دستگاه بدهید اتفاق خاصی نمیافتد؛ اما اگر سکه را بیندازید و دکمهی شماره ۵ را فشار دهید (ارسال پیام حاوی دستور)، دستگاه میفهمد که باید آهنگ شماره ۵ را برای شما پخش کند.
در دنیای برنامهنویسی اتریوم، به این کار فراخوانی توابع (Function Call: دستور دادن به یک بخش خاص از کدهای برنامه برای اجرای یک وظیفهی مشخص) گفته میشود. مسیر این تعامل به شکل زیر است:
- شما تراکنشی حاوی دادههای مشخص به آدرس قرارداد هوشمند میفرستید.
- به محض رسیدن پیام، قرارداد هوشمند بیدار میشود و دادههای شما را میخواند.
- قرارداد بررسی میکند که آیا شما شرایط لازم (مانند پرداخت هزینهی کافی) را دارید یا خیر.
- سپس کدهای مربوطه اجرا میشوند و وظیفهی خواستهشده (مثلا ثبت نام شما در یک بازی یا تبدیل اتریوم به یک توکن دیگر) به صورت خودکار انجام میگیرد.
این قابلیت اجرای خودکار دستورات، دقیقا همان جادویی است که به اپلیکیشنهای غیرمتمرکز اجازه میدهد کارهای پیچیدهی مالی و محاسباتی را بدون نیاز به هیچ واسطه یا مدیر انسانی انجام دهند.

سوالات متداول
خیر، ساخت حساب شخصی (EOA) در شبکه اتریوم کاملا رایگان است. شما تنها زمانی ملزم به پرداخت هزینه هستید که بخواهید تراکنشی انجام دهید یا داراییهای خود را به حساب دیگری منتقل کنید که به آن کارمزد شبکه میگویند.
خیر، در صورت گم شدن کلید خصوصی هیچ راهی برای دسترسی مجدد به حساب و بازیابی داراییها وجود ندارد. در شبکهی اتریوم هیچ نهاد مرکزی برای بازگردانی رمز عبور وجود ندارد، بنابراین حفظ امنیت این کلید کاملا بر عهدهی خود شما است.
خیر، قراردادهای هوشمند هرگز نمیتوانند به صورت خودجوش فعالیتی را استارت بزنند. آنها همیشه برای بیدار شدن و اجرای کدهای برنامهریزیشدهی خود، به یک پیام یا تراکنش اولیه از طرف یک حساب شخصی (EOA) نیاز دارند.
بهترین انتخاب برای کاربران مبتدی، همان حساب شخصی یا EOA است. این نوع حسابها در تمام کیف پولهای رایج پشتیبانی میشوند، ساخت آنها رایگان است و برای ارسال و دریافت روزمرهی ارزهای دیجیتال سادهترین گزینه محسوب میشوند.
متامسک در اصل یک نرمافزار کیف پول است که حسابهای شخصی (EOA) را برای شما ایجاد و مدیریت میکند. بنابراین، تمام آدرسهایی که به صورت پیشفرض در متامسک میسازید و استفاده میکنید، از نوع حسابهای EOA هستند و قرارداد هوشمند محسوب نمیشوند.
یادگیری کریپتو از صفر
دانشنامه و مقالات آموزشی کیف پول من، رایگان



