از 4337 تا 7702: تفسیری عمیق از گذشته و آینده مسیر انتزاعی حساب اتریوم
از 4337 تا 7702: تفسیری عمیق از گذشته و آینده مسیر انتزاعی حساب اتریوم
پیشگفتار
این مقاله به دو ماژول اصلی تقسیم شده است:
نیمه اول در این بخش، از اولین پروپوزال AA در سال 2015 شروع می کنیم و به طور سیستماتیک مطالب اصلی پروپوزال های EIP را تا کنون سازماندهی می کنیم. .
نیمه دوم بر مقایسه بازخورد رکود بازار پس از پیشنهاد EIP4337 و سپس تجزیه و تحلیل عمیق EIP7702 تمرکز دارد که در نسخه بعدی ارتقاء اتریوم قرار خواهد گرفت ادغام، تمام جنبه های برنامه های کاربردی زنجیره ای را تغییر می دهد.
EIP-7702 دارای تغییرات دوران ساز است، لطفاً به توضیحات مفصل آقای شیشی
1 گوش دهید h3 >1.1 اهمیت انتزاع حساب
vitalik، بنیانگذار اتریوم، بار دیگر نقشه راه توسعه ETH را در پایان سال 2023 به روز کرد، اما تنظیمات برای انتزاع حساب انجام نشده است. تغییر کرده است. مدل اصلی امروزی نیز از EIP-4337، تبدیل داوطلبانه EOA (تبدیل حساب EOA داوطلبانه) وارد مرحله بعدی شده است.
https://x.com/VitalikButerin/status/1741190491578810445
%D8%A8%DB%8C%D8%B4%20%D8%A7%D8%B2%20%DB%8C%DA%A9%20%D8%B3%D8%A7%D9%84%20%D9%BE%D8%B3%20%D8%A7%D8%B2%20%D8%B1%D8%A7%D9%87%20%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C%20EIP4337%20(%D8%AF%D8%B1%20WalletCon%20%D8%AF%D8%B1%20%D8%AF%D9%86%D9%88%D8%B1%20%D8%AF%D8%B1%20%D8%A7%D9%88%D9%84%20%D9%85%D8%A7%D8%B1%D8%B3%D8%8C%20%D8%AF%D8%B1%20%D8%B3%D8%A7%D9%84%202023%D8%8C%20%D8%B1%D8%B3%D9%85%D8%A7%D9%8B%20%D8%A7%D8%B9%D9%84%D8%A7%D9%85%20%D8%B4%D8%AF%20%DA%A9%D9%87%20%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF%20%D8%A7%D8%B5%D9%84%DB%8C%20ERC-4337%20%DA%A9%D9%87%20%D8%AA%D9%88%D8%B3%D8%B7%20%D8%AA%D9%88%D8%B3%D8%B9%D9%87%20%D8%AF%D9%87%D9%86%D8%AF%DA%AF%D8%A7%D9%86%20%D8%A8%D9%86%DB%8C%D8%A7%D8%AF%20%D8%A7%D8%AA%D8%B1%DB%8C%D9%88%D9%85%20%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C%20%D9%88%20%D8%A7%D8%AC%D8%B1%D8%A7%20%D8%B4%D8%AF%D9%87%20%D8%A7%D8%B3%D8%AA%D8%8C%20%D8%A7%D8%B2%20%D9%85%D9%85%DB%8C%D8%B2%DB%8C%20OpenZeppelin%20%D8%B9%D8%A8%D9%88%D8%B1%20%DA%A9%D8%B1%D8%AF%D9%87%20%D9%88%20%D8%A8%D9%87%20%D8%B9%D9%86%D9%88%D8%A7%D9%86%20%DB%8C%DA%A9%20%DA%AF%D8%B1%D9%87%20%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE%DB%8C%20%D8%B1%D8%A7%D9%87%20%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C%20%D8%B4%D8%AF%D9%87%20%D8%B1%D8%B3%D9%85%DB%8C%20%D8%AF%D8%B1%20%D9%86%D8%B8%D8%B1%20%DA%AF%D8%B1%D9%81%D8%AA%D9%87%20%D9%85%DB%8C%20%D8%B4%D9%88%D8%AF.%20
%D8%A7%DB%8C%D9%86%20%D9%87%D9%85%DB%8C%D8%B4%D9%87%20%D8%A8%D9%87%20%D8%B7%D9%88%D8%B1%20%DA%AF%D8%B3%D8%AA%D8%B1%D8%AF%D9%87%20%D8%AA%D9%88%D8%B3%D8%B7%20%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86%20%D8%A8%D9%87%20%D8%B1%D8%B3%D9%85%DB%8C%D8%AA%20%D8%B4%D9%86%D8%A7%D8%AE%D8%AA%D9%87%20%D8%B4%D8%AF%D9%87%20%D8%A7%D8%B3%D8%AA%D8%8C%20%D8%A7%D9%85%D8%A7%20%D8%A8%D9%87%20%D8%B7%D9%88%D8%B1%20%DA%AF%D8%B3%D8%AA%D8%B1%D8%AF%D9%87%20%D8%A7%DB%8C%20%D9%85%D9%88%D8%B1%D8%AF%20%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87%20%D9%82%D8%B1%D8%A7%D8%B1%20%D9%86%D9%85%DB%8C%20%DA%AF%DB%8C%D8%B1%D8%AF%20%D8%AF%D8%B1%20%DA%86%D9%86%DB%8C%D9%86%20%D9%85%D8%AD%DB%8C%D8%B7%20%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1%20%D9%85%D8%AA%D9%86%D8%A7%D9%82%D8%B6%DB%8C%D8%8C%20%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%20EIP-7702%20%D8%A8%D8%B3%DB%8C%D8%A7%D8%B1%20%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%20%DA%A9%D8%B1%D8%AF%D9%87%20%D8%A7%D8%B3%D8%AA%D8%8C%20%D9%88%20%D8%AD%D8%AA%DB%8C%20%D8%AA%D8%A7%DB%8C%DB%8C%D8%AF%20%D8%B4%D8%AF%D9%87%20%D8%A7%D8%B3%D8%AA%20%DA%A9%D9%87%20%D8%AE%D9%88%D8%A7%D9%87%D8%AF%20%D8%A8%D9%88%D8%AF.%20%D8%AF%D8%B1%20%D8%A7%D8%B1%D8%AA%D9%82%D8%A7%D8%A1%20%D8%A8%D8%B9%D8%AF%DB%8C%20%D8%A7%D8%AF%D8%BA%D8%A7%D9%85%20%D8%B4%D8%AF.%20
1.2%20%D9%88%D8%B6%D8%B9%DB%8C%D8%AA%20%D9%81%D8%B9%D9%84%DB%8C%20%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1%20%D8%A7%D9%86%D8%AA%D8%B2%D8%A7%D8%B9%20%D8%AD%D8%B3%D8%A7%D8%A8
%D9%86%DB%8C%D8%A7%D8%B2%DB%8C%20%D8%A8%D9%87%20%DA%AF%D9%81%D8%AA%D9%86%20%D8%A8%DB%8C%D8%B4%D8%AA%D8%B1%20%D9%86%DB%8C%D8%B3%D8%AA%D8%8C%20%D8%A7%D8%AC%D8%A7%D8%B2%D9%87%20%D8%AF%D9%87%DB%8C%D8%AF%20%D9%81%D9%82%D8%B7%20%D8%A8%D9%87%20%D8%AF%D8%A7%D8%AF%D9%87%20%D9%87%D8%A7%20%D9%86%DA%AF%D8%A7%D9%87%20%DA%A9%D9%86%DB%8C%D9%85.%20
%D9%BE%D8%B3%20%D8%A7%D8%B2%20%DB%8C%DA%A9%20%D8%B3%D8%A7%D9%84%20%D9%88%20%D9%86%DB%8C%D9%85%20%D8%AA%D9%88%D8%B3%D8%B9%D9%87%D8%8C%20EIP4337%20%D8%AA%D9%86%D9%87%D8%A7%2012%20%D9%85%DB%8C%D9%84%DB%8C%D9%88%D9%86%20%D8%A2%D8%AF%D8%B1%D8%B3%20%D8%AF%D8%B1%20%D9%85%D8%AC%D9%85%D9%88%D8%B9%D9%87%20%D8%A7%DA%A9%D8%A7%D9%86%D8%AA%20%D9%87%D8%A7%DB%8C%20%D8%B2%D9%86%D8%AC%DB%8C%D8%B1%D9%87%20%D8%A7%DB%8C%20%D8%A7%D8%B5%D9%84%DB%8C%20%D8%AF%D8%A7%D8%B1%D8%AF%20%D8%A2%D9%85%D8%A7%D8%B1%20%D8%A8%D8%A7%20%D8%A8%D8%B9%D8%AF%20%D9%85%D8%B4%DA%A9%D9%84%DB%8C%20%D9%88%D8%AC%D9%88%D8%AF%20%D8%AF%D8%A7%D8%B1%D8%AF%D8%8C%20%D8%A7%D9%85%D8%A7%20%D8%AD%D8%AF%D8%A7%D9%82%D9%84%20%D8%A8%D8%A7%20%D8%AA%D8%B9%D8%AF%D8%A7%D8%AF%20%D8%A2%D8%AF%D8%B1%D8%B3%E2%80%8C%D9%87%D8%A7%DB%8C%20EOA%20%D9%88%20CA%20%D8%AA%D9%81%D8%A7%D9%88%D8%AA%20%D8%B2%DB%8C%D8%A7%D8%AF%DB%8C%20%D8%AF%D8%A7%D8%B1%D8%AF.%20/etherscan.io/chart/address).%20
%D9%85%DB%8C%20%D8%AA%D9%88%D8%A7%D9%86%20%DA%AF%D9%81%D8%AA%20%DA%A9%D9%87%20EIP4337%20%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%20%D9%82%D8%A7%D8%A8%D9%84%20%D8%AA%D9%88%D8%AC%D9%87%DB%8C%20%D8%AF%D8%B1%20%D8%B4%D8%A8%DA%A9%D9%87%20%D8%A7%D8%B5%D9%84%DB%8C%20%D9%86%D8%AF%D8%A7%D8%B1%D8%AF.%20
(منبع داده نمودار: https://dune.com/niftytable/account-abstraction)
اما، این از ارزش اساسی AA نمی کاهد، زیرا طراحی EIP4337 او از همان ابتدا محکوم به شکست بود. آدرسها در L2 به رشد انفجاری دست یافته است.
بنابراین، طراحی EIP4337 اشتباه است، ما به طور سیستماتیک آن را خلاصه خواهیم کرد از طرح مناسب خود استفاده کنند.
2 انتزاع حساب چیست؟
انتزاع حساب گیج کننده به نظر می رسد، اما در واقع اساساً مشکل تفکیک حقوق مالکیت را حل می کند.
دو نوع حساب در معماری EVM (یعنی ماشین مجازی اتریوم)، حساب خارجی (EOA) و حساب قراردادی (حساب قراردادی) وجود دارد و حقوق امضای حساب خارجیدر واقع در اختیار همان واحد فردی است. شخصی که کلید خصوصی را در اختیار دارد نه تنها “مالکیت” حساب را دارد، بلکه حق “امضا برای انتقال کلیه دارایی ها” را نیز دارد.
این توسط ساختار تراکنش حساب اتریوم تعیین می شود
همانطور که از ساختار شکل زیر مشاهده می شود، در واقع هیچ From side در تراکنش استاندارد وجود ندارد. اتریوم، بنابراین من یک بار این کار را انجام دادم هنگام انتقال وجه، از چه آدرس خاصی برای مصرف وجوه استفاده می شود؟ در واقع، آدرس From از طریق پارامتر VRS (یعنی امضای کاربر) رمزگشایی می شود.
این شامل مفاهیمی مانند رمزگذاری نامتقارن مانند ECDSA و توابع آستانه یک طرفه است ادغام فعلی حقوق مالکیت معضل آدرس EOA.
اثر اصلی EIP4337 اضافه کردن فیلد آدرس فرستنده به فیلد تراکنش است و بدین ترتیب کلید خصوصی از آدرس عملیاتی جدا میشود.
پس چرا تفکیک حقوق مالکیت اینقدر مهم است؟
از آنجا که طراحی حساب خارجی (EOA) مشکلات بیشتری را به همراه خواهد داشت:
-
حفاظت از کلیدهای خصوصی دشوار است: از دست دادن کلیدهای خصوصی کاربران (از دست دادن، حمله هکرها، شکستن رمزنگاری) به معنای از دست دادن همه دارایی ها است.
-
چند الگوریتم امضا: پروتکل بومی فقط می تواند از الگوریتم های ECDSA امضا و تأیید امضا برای تأیید تراکنش ها استفاده کند.
-
اختیار امضای بالا: هیچ امضای چندگانه بومی (چند امضا فقط از طریق قراردادهای هوشمند می تواند همکاری کند)، امضای واحد می تواند هر عملیاتی را انجام دهد.
-
هزینه های تراکنش فقط از طریق ETH قابل پرداخت است و تراکنش های دسته ای پشتیبانی نمی شوند.
-
نشت حریم خصوصی تراکنش: تراکنش های یک به یک تجزیه و تحلیل اطلاعات خصوصی دارنده حساب را آسان می کند.
محدودیت های درخواست تجدیدنظر، استفاده از اتریوم را برای کاربران عادی دشوار می کند:
اول از همه، برای استفاده از هر برنامه ای در اتریوم، کاربران باید نگه دارند. اتر (و ریسک نوسانات قیمت اتر را تحمل کنید).
دوم، کاربران باید با منطق هزینههای پیچیده سر و کار داشته باشند، مفاهیم قیمت گاز، محدودیت گاز و مسدود کردن تراکنشها (سفارش بدون سفارش) برای کاربران بسیار پیچیده است.
در نهایت، اگرچه بسیاری از کیفپولها یا برنامههای بلاک چین سعی میکنند تجربه کاربر را از طریق بهینهسازی محصول بهبود بخشند، تأثیرات واقعی آنها حداقل است.
بنابراین راه شکستن وضعیت اجرای انتزاع حساب و جداسازی مالکیت (مالک) و حقوق امضا (Signer) است تا مشکلات فوق یکی یکی حل شوند.
در واقع، طرح های تاریخی زیادی وجود دارد و در نهایت به دو مسیر همگرا می شوند
3 مروری بر تاریخچه پیشنهادات AA/.
< img src="https://img.528btc.com.cn/2024/08/24/2adba4434be839d87bf34f1efef5716c.jpg?x-oss-process=image/watermark,image_MjAyNCm51h3
راه حل مشکل به نظر می رسد که پیشنهادات EIP زیادی وجود دارد، اما در تحلیل نهایی، دو ایده اصلی وجود دارد، بنابراین، برای هر EIP که در گذشته تایید نشده است، مسائل در نظر گرفته شده به راه حل همگرا شده اند طرح فعلی
3.1 اولین مسیر تغییر آدرس EOA به آدرس CA است
در اوایل 15 نوامبر 2015، در اطراف EIP-101، Vitalik Propose یک ساختار جدید با استفاده از قراردادها به عنوان حساب. آدرس را فقط به کد و فضای ذخیره سازی تغییر دهید، هزینه رسیدگی را برای پشتیبانی از پرداخت توسط ERC20 تغییر دهید، رمز بومی را به ERC20-like تغییر دهید تا تعادل را از طریق قرارداد از پیش کامپایل شده ذخیره کنید (می تواند عملکردهایی مانند عدم مجوز داشته باشد)، فیلدهای تراکنش را ساده کنید. به فقط به، startgas، داده و کد.
اکنون به نظر می رسد که این یک تغییر جهشی بزرگ است که به طور قابل توجهی طراحی اساسی را تغییر می دهد، به طوری که هر آدرس حساب منطق “کد” خود را دارد (در واقع، این همان چیزی است که EIP-7702 است. تلاش برای انجام اکنون) اثر).
توابع دیگری نیز می توانند مشتق شوند، مانند
-
اجازه دهید تراکنش ها از الگوریتم های رمزگذاری بیشتری استفاده می کنند و روش تأیید امضا را می توان با کد داخلی هر آدرس مشخص کرد
-
در برابر حملات کوانتومی مقاوم است زیرا کد ویژگی ارتقا یافته است.
-
اجازه دهید اتریوم همان ویژگی های عملکردی قرارداد ERC20 را داشته باشد، و اثر اصلی آن مجوز توقیف است، بنابراین نیازی به از دست دادن ارز اصلی نیست< /p>< /li>
-
بهبود فضای سفارشی سازی حساب، سازگار با بازیابی اجتماعی، پشتیبانی sbt، بازیابی کلید و غیره.
خیر دلیل ادامه دادن به جلو نیز بسیار ساده است ، مفهوم هر مزیت به یکی از عملکردهای اصلی EIP4337 و EIP7702 بعدی تبدیل شده است.
بعداً، مجموعه ای از EIP ها سعی کردند این منطق را بهبود بخشند
EIP-859: Main Chain Account Abstraction–2018-01-30
تلاش برای حل مشکل استقرار کد عملکرد اصلی این است که اگر قرارداد طرف معامله اجرا نشود، از پارامترهای کد متصل به تراکنش برای اجرای کیف پول قرارداد استفاده می شود همچنین علاوه بر پرداخت گاز، جداکننده بین بخش تأیید و اجرای پارامترهای یک تراکنش نیز می شود.
اگرچه در آن زمان بیهوده به پایان رسید، اما اکنون به یکی از منطق های اصلی EIP7702 تبدیل شده است. EOA در این تراکنش، آدرس ها دارای قابلیت قرارداد هستند.
EIP-7702: کد حساب EOA را 07-05-2024 تنظیم کنید
این همچنین EIP اصلی مکانیسم مورد بحث در این مقاله است توسط Vitalik-7702 به عنوان جایگزینی برای EIP-3074 (2024-05-07) منتشر شد. بنابراین، EIP-3074 رها شده است و EIP-7702 در هارد فورک آینده ETH Prague/Electra (Pectra) گنجانده شده است.
3.2 مسیر دوم این است که به آدرس EOA اجازه دهید آدرس CA را هدایت کند
EIP-3074: افزودن AUTH
و AUTHCALL
opcode–2020-10-15 < /p>
دو OpCode AUTH
و AUTHCALL
را به EVM اضافه کنید تا EOA بتواند به جای EOA از طریق این دو قرارداد مجوز دیگر تماس بگیرد.
بر اساس شکل زیر، به طور خلاصه، یک EOA میتواند یک پیام امضا شده (تراکنش) را به قراردادی که به آن اعتماد دارید (به نام Invoker
) ارسال کند. این قرارداد Invoker
می تواند از کدهای عملیات AUTH
و AUTHCALL
برای ارسال این تراکنش به جای این EOA استفاده کند.
EIP-4337: استفاده از مخزن حافظه تراکنش برای اجرای انتزاع حساب–2021-09-29
به طور خلاصه، او برای طراحی از MEV الهام گرفت. ارزش اصلی این است که می توان از تغییرات پروتکل لایه اجماع به طور کامل اجتناب کرد.
eip4337 یک شیء تراکنش جدید UserOperation
را پیشنهاد کرد. قراردادهای بسته بندی و تحویل، اساساً معاملات و عملیات حسابداری را برای اجرا به سطح قرارداد می رساند.
EIP-5189: عملیات حسابهای انتزاعی از طریق تأییدکنندگان—29-06-2022
این میتواند بهعنوان بهینهسازی منطق EIP4337 و مواجهه با مخربها در نظر گرفته شود. Bundler
با ایجاد مکانیزمی برای تأیید جریمههای مالی از حملات مسدودکننده DoS جلوگیری میکند.
3.3 پیشنهادهای دیگر برای پشتیبانی از AA
EIP-2718: پاکت بسته بندی برای نوع تراکنش جدید–2020-06-13< /strong
این یک پیشنهاد نهایی است که یک نوع تراکنش جدید را به عنوان پوششی برای انواع تراکنش های جدید در آینده تعریف می کند.
اثر نهایی این است که وقتی یک نوع تراکنش جدید معرفی میشود، از رمزگذاری خاص برای تشخیص نوع تراکنش استفاده میشود، به طوری که فقط به سازگاری با عقب و بدون سازگاری رو به جلو نیاز دارد. رایجترین مثال EIP1559 است که کارمزد تراکنشها را متمایز میکند و از کدهای نوع تراکنش جدید بدون تأثیر بر نوع تراکنش قدیمی استفاده میکند.
EIP-3607: اجازه دهیدEOA
address قرارداد را مستقر نکند–2021-06-10< /
این یک راه حل تکمیلی در مسیر AA برای جلوگیری از تضاد بین آدرس استقرار قرارداد و آدرس EOA است. او روش تولید قرارداد را کنترل خواهد کرد تا سیستم اجازه ندهد کد به آدرسی که قبلاً یک آدرس EOA است، مستقر شود. این خطر در واقع بسیار کم است، آدرس اتریوم 160 بیت است، اگرچه روشی برای استفاده از کلید خصوصی برای برخورد با کلید خصوصی آدرس قرارداد مشخص شده وجود دارد، اما تخمین زده می شود که هنوز یک سال طول بکشد. بر اساس قدرت محاسباتی کامل بیت کوین.
3.4 چگونه فرآیند توسعه انتزاع حساب را درک کنیم؟
اول از همه، باید ارزش تبدیل به CA را درک کنید
در اصل، این اثر واقعی EIP-4337 است که می تواند به آن دست یابد
%20%D8%A8%D8%A7%20%D8%A7%DB%8C%D9%86%20%D8%AD%D8%A7%D9%84%D8%8C%20EIP-%20%D9%86%D9%82%D8%B5%20%D8%A7%D8%B5%D9%84%DB%8C%204337%20%D8%A7%DB%8C%D9%86%20%D8%A7%D8%B3%D8%AA%20%DA%A9%D9%87%20%D8%A7%D8%B5%D9%84%20%D8%A7%D9%86%DA%AF%DB%8C%D8%B2%D9%87%20%D8%A7%D9%86%D8%B3%D8%A7%D9%86%DB%8C%20%D8%B1%D8%A7%20%D9%86%D9%82%D8%B6%20%D9%85%DB%8C%20%DA%A9%D9%86%D8%AF.%20
%D8%A8%D9%87%20%D9%86%D8%B8%D8%B1%20%D9%85%DB%8C%20%D8%B1%D8%B3%D8%AF%20%D8%A8%D9%87%D8%AA%D8%B1%20%D8%A7%D8%B3%D8%AA%D8%8C%20%D8%A7%D9%85%D8%A7%20%D8%AF%D8%B1%20%DB%8C%DA%A9%20%DA%86%D8%B1%D8%AE%D9%87%20%D8%A8%DB%8C%20%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%20%D8%AA%D9%88%D8%B3%D8%B9%D9%87%20%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1%20%D9%82%D8%B1%D8%A7%D8%B1%20%DA%AF%D8%B1%D9%81%D8%AA%D9%87%20%D8%A7%D8%B3%D8%AA.%20(%D8%AF%D8%B1%20%D8%B3%D9%86%D8%A7%D8%B1%DB%8C%D9%88%D9%87%D8%A7%DB%8C%20%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84%20%D8%B9%D8%A7%D8%AF%DB%8C%D8%8C%20%DA%A9%D8%A7%D8%B1%D9%85%D8%B2%D8%AF%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D8%AF%D9%88%20%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1%20%D8%AE%D9%88%D8%A7%D9%87%D8%AF%20%D8%B4%D8%AF)%D8%8C%20%D9%88%20%D9%87%D9%85%DA%86%D9%86%DB%8C%D9%86%20%D8%A8%DB%8C%D8%B4%20%D8%A7%D8%B2%20%D8%AD%D8%AF%20%D8%A8%D9%87%20%D8%B3%D8%A7%D8%B2%DA%AF%D8%A7%D8%B1%DB%8C%20%D8%AE%D9%88%D8%AF%20Dapp%20%D9%85%D8%AA%DA%A9%DB%8C%20%D8%A7%D8%B3%D8%AA.%20
%D8%A8%D9%86%D8%A7%D8%A8%D8%B1%D8%A7%DB%8C%D9%86%20%D8%AA%D8%A7%DA%A9%D9%86%D9%88%D9%86%20%D8%AF%D8%B1%20%D8%B4%D8%A8%DA%A9%D9%87%20%D8%A7%D8%B5%D9%84%DB%8C%20%D8%A7%D8%AA%D8%B1%DB%8C%D9%88%D9%85%20%D8%B1%D8%A7%DB%8C%D8%AC%20%D9%86%D8%B4%D8%AF%D9%87%20%D8%A7%D8%B3%D8%AA.%20
%D9%87%D8%B2%DB%8C%D9%86%D9%87%20%D9%85%D9%87%D9%85%D8%AA%D8%B1%DB%8C%D9%86%20%D9%85%D8%B9%DB%8C%D8%A7%D8%B1%20%D8%A8%D8%B1%D8%A7%DB%8C%20%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86%20%D8%A7%D8%B3%D8%AA%20%D9%88%20%D9%87%D8%B2%DB%8C%D9%86%D9%87%20%D9%87%D8%A7%20%D8%A8%D8%A7%DB%8C%D8%AF%20%DA%A9%D8%A7%D9%87%D8%B4%20%DB%8C%D8%A7%D8%A8%D8%AF.%20
%D8%A7%D9%85%D8%A7%20%D8%A8%D8%B1%D8%A7%DB%8C%20%DA%A9%D8%A7%D9%87%D8%B4%20%D9%88%D8%A7%D9%82%D8%B9%DB%8C%20%DA%AF%D8%A7%D8%B2%D8%8C%20%D8%AE%D9%88%D8%AF%20%D8%A7%D8%AA%D8%B1%DB%8C%D9%88%D9%85%20%D8%A8%D8%A7%DB%8C%D8%AF%20%DB%8C%DA%A9%20%D8%A7%D8%B1%D8%AA%D9%82%D8%A7%D8%A1%20%D8%B3%D8%A7%D9%81%D8%AA%20%D9%81%D9%88%D8%B1%DA%A9%20%D8%A7%D9%86%D8%AC%D8%A7%D9%85%20%D8%AF%D9%87%D8%AF%D8%8C%20%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87%20GAS%20%D8%B1%D8%A7%20%D8%A7%D8%B5%D9%84%D8%A7%D8%AD%20%DA%A9%D9%86%D8%AF%20%DB%8C%D8%A7%20%D9%85%D8%B5%D8%B1%D9%81%20%DA%AF%D8%A7%D8%B2%20%DA%A9%D8%AF%20%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA%DB%8C%20%D9%88%20%D8%B3%D8%A7%DB%8C%D8%B1%20%D9%85%D8%A7%DA%98%D9%88%D9%84%20%D9%87%D8%A7%20%D8%B1%D8%A7%20%D8%A7%D8%B5%D9%84%D8%A7%D8%AD%20%DA%A9%D9%86%D8%AF%D8%8C%20%D8%A8%D8%A7%20%D8%A7%DB%8C%D9%86%20%D8%AD%D8%A7%D9%84%D8%8C%20%D8%A7%D8%B2%20%D8%A2%D9%86%D8%AC%D8%A7%DB%8C%DB%8C%20%DA%A9%D9%87%20%D8%B3%D8%A7%D9%81%D8%AA%20%D9%81%D9%88%D8%B1%DA%A9%20%D9%84%D8%A7%D8%B2%D9%85%20%D8%A7%D8%B3%D8%AA%20%D9%85%D8%B3%D8%AA%D9%82%DB%8C%D9%85%D8%A7%D9%8B%20EIP%20%D8%B1%D8%A7%20%D8%AF%D8%B1%20%D9%86%D8%B8%D8%B1%20%D8%A8%DA%AF%DB%8C%D8%B1%DB%8C%D8%AF%20-%207702%20%DA%86%D8%B7%D9%88%D8%B1%D8%9F%20
4%20%D8%AA%D8%AC%D8%B2%DB%8C%D9%87%20%D9%88%20%D8%AA%D8%AD%D9%84%DB%8C%D9%84%20%D8%AC%D8%A7%D9%85%D8%B9%20EIP-7702
4.1%20EIP-7702
%D8%A7%DB%8C%D9%86%20%DA%86%DB%8C%D8%B3%D8%AA.%20%D9%85%DB%8C%20%D8%AA%D9%88%D8%A7%D9%86%20%D8%A7%D9%86%D9%88%D8%A7%D8%B9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%87%D8%A7%DB%8C%20%D8%AC%D8%AF%DB%8C%D8%AF%20%D8%B1%D8%A7%20%D9%85%D8%AA%D9%85%D8%A7%DB%8C%D8%B2%20%DA%A9%D8%B1%D8%AF%D8%8C%20%DA%A9%D9%87%20%D8%A8%D9%87%20EOA%20%D8%A7%D8%AC%D8%A7%D8%B2%D9%87%20%D9%85%DB%8C%20%D8%AF%D9%87%D8%AF%20%D8%AA%D8%A7%20%D8%A8%D9%87%20%D8%B7%D9%88%D8%B1%20%D9%85%D9%88%D9%82%D8%AA%20%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF%20%DB%8C%DA%A9%20%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF%20%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF%20%D8%B1%D8%A7%20%D8%AF%D8%B1%20%DB%8C%DA%A9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%88%D8%A7%D8%AD%D8%AF%20%D8%AF%D8%A7%D8%B4%D8%AA%D9%87%20%D8%A8%D8%A7%D8%B4%D8%AF%D8%8C%20%D8%AF%D8%B1%20%D9%86%D8%AA%DB%8C%D8%AC%D9%87%20%D8%A7%D8%B2%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%87%D8%A7%DB%8C%20%D8%AF%D8%B3%D8%AA%D9%87%20%D8%A7%DB%8C%D8%8C%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%87%D8%A7%DB%8C%20%D8%A8%D8%AF%D9%88%D9%86%20%DA%AF%D8%A7%D8%B2%D8%8C%20%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA%20%D9%85%D8%AC%D9%88%D8%B2%20%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C%20%D9%88%20%D8%BA%DB%8C%D8%B1%D9%87%20%D8%AF%D8%B1%20%DA%A9%D8%B3%D8%A8%20%D9%88%20%DA%A9%D8%A7%D8%B1%D8%8C%20%D8%A8%D8%AF%D9%88%D9%86%20%D9%86%DB%8C%D8%A7%D8%B2%20%D8%A8%D9%87%20%D9%85%D8%B9%D8%B1%D9%81%DB%8C%20%D9%BE%D8%B4%D8%AA%DB%8C%D8%A8%D8%A7%D9%86%DB%8C%20%D9%85%DB%8C%20%DA%A9%D9%86%D8%AF.%20%DB%8C%DA%A9%20opCode%20%D8%AC%D8%AF%DB%8C%D8%AF%20EVM%20(%D8%A8%D8%B1%20%D8%B1%D9%88%DB%8C%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%87%D8%A7%DB%8C%20%D9%82%D8%A8%D9%84%DB%8C%20%D8%AA%D8%A3%D8%AB%DB%8C%D8%B1%20%D9%85%DB%8C%20%DA%AF%D8%B0%D8%A7%D8%B1%D8%AF).%20
%D8%A7%DB%8C%D9%86%20%D8%A7%D9%85%DA%A9%D8%A7%D9%86%20%D8%B1%D8%A7%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86%20%D9%85%DB%8C%E2%80%8C%D8%AF%D9%87%D8%AF%20%D8%AA%D8%A7%20%D8%A7%DA%A9%D8%AB%D8%B1%20%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA%E2%80%8C%D9%87%D8%A7%DB%8C%20AA%20%D8%B1%D8%A7%20%D8%A8%D8%AF%D9%88%D9%86%20%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1%20%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF%D9%87%D8%A7%DB%8C%20%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF%20%D8%A8%D9%87%20%D8%AF%D8%B3%D8%AA%20%D8%A2%D9%88%D8%B1%D9%86%D8%AF%20%D9%88%20%D8%AD%D8%AA%DB%8C%20%D9%85%DB%8C%E2%80%8C%D8%AA%D9%88%D8%A7%D9%86%D8%AF%20%D8%A8%D9%87%20%D8%B4%D8%AE%D8%B5%20%D8%AB%D8%A7%D9%84%D8%AB%20%D8%A7%D9%85%DA%A9%D8%A7%D9%86%20%D8%B4%D8%B1%D9%88%D8%B9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%E2%80%8C%D9%87%D8%A7%20%D8%B1%D8%A7%20%D8%A7%D8%B2%20%D8%B7%D8%B1%D9%81%20%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86%20%D8%A8%D8%AF%D9%88%D9%86%20%D9%86%DB%8C%D8%A7%D8%B2%20%D8%A8%D9%87%20%D8%A7%D8%B1%D8%A7%D8%A6%D9%87%20%DA%A9%D9%84%DB%8C%D8%AF%D9%87%D8%A7%DB%8C%20%D8%AE%D8%B5%D9%88%D8%B5%DB%8C%20%DA%A9%D9%87%20%D9%86%DB%8C%D8%A7%D8%B2%20%D8%A8%D9%87%20%D8%A7%D9%85%D8%B6%D8%A7%20%D8%AF%D8%A7%D8%B1%D9%86%D8%AF%D8%8C%20%D8%A7%D8%B1%D8%A7%D8%A6%D9%87%20%D8%AF%D9%87%D8%AF%20%D9%85%D8%AC%D9%88%D8%B2.%20
4.2%20%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1%20%D8%AF%D8%A7%D8%AF%D9%87
%D8%A7%D9%88%20%D9%86%D9%88%D8%B9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D8%AC%D8%AF%DB%8C%D8%AF%200×04%20%D8%B1%D8%A7%20%D8%AA%D8%B9%D8%B1%DB%8C%D9%81%20%D9%85%DB%8C%20%DA%A9%D9%86%D8%AF.
%D9%86%DA%A9%D8%AA%D9%87%20%D9%85%D9%87%D9%85%20%D8%A7%DB%8C%D9%86%20%D8%A7%D8%B3%D8%AA%20%DA%A9%D9%87%20%D8%B4%DB%8C%D8%A1%20authorization_list%20%D8%A8%D8%B1%D8%A7%DB%8C%20%D8%B0%D8%AE%DB%8C%D8%B1%D9%87%20%DA%A9%D8%AF%DB%8C%20%DA%A9%D9%87%20%D8%A7%D9%85%D8%B6%D8%A7%DA%A9%D9%86%D9%86%D8%AF%D9%87%20%D9%85%DB%8C%20%D8%AE%D9%88%D8%A7%D9%87%D8%AF%20%D8%AF%D8%B1%20EOA%20%D8%AE%D9%88%D8%AF%20%D8%A7%D8%AC%D8%B1%D8%A7%20%DA%A9%D9%86%D8%AF%D8%8C%20%D8%A7%D8%B6%D8%A7%D9%81%D9%87%20%D9%85%DB%8C%20%D8%B4%D9%88%D8%AF%20%D9%84%DB%8C%D8%B3%D8%AA%20%D8%AF%D9%88%20%D8%A8%D8%B9%D8%AF%DB%8C%D8%8C%20%D9%86%D8%B4%D8%A7%D9%86%20%D9%85%DB%8C%20%D8%AF%D9%87%D8%AF%20%DA%A9%D9%87%20%D9%85%DB%8C%20%D8%AA%D9%88%D8%A7%D9%86%20%D8%A2%D9%86%20%D8%B1%D8%A7%20%D8%A8%D9%87%20%D8%B5%D9%88%D8%B1%D8%AA%20%D8%AF%D8%B3%D8%AA%D9%87%20%D8%A7%DB%8C%20%D8%B0%D8%AE%DB%8C%D8%B1%D9%87%20%DA%A9%D8%B1%D8%AF%D8%8C%20%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA%20%D8%AF%D8%B3%D8%AA%D9%87%20%D8%A7%DB%8C%20%D8%B1%D8%A7%20%D8%A7%D9%86%D8%AC%D8%A7%D9%85%20%D8%AF%D9%87%D8%AF.%20
4.3%20%DA%86%D8%B1%D8%AE%D9%87%20%D8%AD%DB%8C%D8%A7%D8%AA%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4
4.3.1%20%D9%85%D8%B1%D8%AD%D9%84%D9%87%20%D8%AA%D8%A3%DB%8C%DB%8C%D8%AF
%D8%AF%D8%B1%20%D8%A7%D8%A8%D8%AA%D8%AF%D8%A7%DB%8C%20%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C%20%DB%8C%DA%A9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%D8%8C%20%D8%A8%D8%B1%D8%A7%DB%8C%20%D9%87%D8%B1%20autorization_list%20%D8%AA%D8%A7%D9%BE%D9%84%20%5Bchain_id,%20address,%20nonce,%20y_parity,%20r,%20s%5D
:
-
از ecrecover برای بازیابی آدرس امضاکننده از امضاهای r و s استفاده کنید (توجه داشته باشید که این مکانیسم خود اتریوم است، بنابراین این EIP الگوریتم امضا را تغییر نمیدهد). authority = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s]
(مشابه رمزگشایی قبلی امضا برای بدست آوردن آدرس from, نتیجه اینجا آدرس امضای جزئی برای این لیست است)
-
تأیید شناسه زنجیره (جلوگیری از پخش مجدد زنجیره چنگال)
-
بررسی کنید که آیا کد امضاکننده authority
خالی است یا تفویض شده است (تأیید کنید که آیا تراکنش یک تراکنش 7702 معتبر است و مکانیسم تفویض اختیار برای اجرای آن استفاده خواهد شد. تراکنش بعداً
-
عدم امضای مرجع
را تأیید کنید (برای جلوگیری از امضای مرجع
). پخش مجدد)
-
کد امضاکننده authority
را روی 0xef0100 ||آدرس
تنظیم کنید (برای دور زدن استفاده می شود خطمشی ضد برخورد EIP3607)
-
عدم امضای مرجع
را افزایش دهید (برای جلوگیری از پخش مجدد امضای جزئی)
-
حساب امضاکننده authority
را به لیست آدرس های بازدید شده اضافه کنید (آدرس های داغ را برای کاهش هزینه های ذخیره سازی درخواست انتقال دهید).
4.3.2 مرحله عملیات اجرایی
کدهای قرارداد و دستورالعملهای عملیاتی کجا هستند
نسخه “جدید” فقط رفتار مربوط به استقرار کد را تغییر می دهد
دیگر کد حساب را روی contract_code
تنظیم نمی کند، بلکه از authorization_list
آدرس کد را از کد> بازیابی کنید و آن کد را به عنوان کد حساب تنظیم کنید
بنابراین، زمانی که کد مجوز باید اجرا شود، از autorization_list
آدرس مشخص شده در قسمت >address
کد را بارگیری می کند و آن را در زمینه حساب امضاکننده اجرا می کند.
این بدان معناست که کد قرارداد کاربر در واقع در یک آدرس خاص در زنجیره ذخیره میشود، نه اینکه مستقیماً در تراکنش گنجانده شود.
دستورالعملهای عملیات و پارامترهای مربوطه در قسمت data
محموله تراکنش ذخیره میشوند.
4.4 ارزش EIP-7702 چیست؟
او کل پیوند کیف پول Web3 را تغییر میدهد و تجربه کاربر نیز بهطور چشمگیری تغییر خواهد کرد، زیرا تراکنشهای معمولی آغاز شده توسط EOA نیز میتوانند انواع منطق مشابه قراردادها را اجرا کنند، مانند انتقال دسته ای برای سناریوهای CeFi، بر شناسایی تراکنش و کارمزد جمع آوری برداشت تأثیر می گذارد
به دلیل ظهور، بسیاری از کلیشه های قبلی را شکسته است، مانند:
-
این متغیر را از بین میبرد که موجودی حساب فقط با تراکنشهای منشأ آن حساب کاهش مییابد.
-
تغییر ناپذیری را که nonce EOA بعد از شروع تراکنش 1 افزایش مییابد (ممکن است همزمان چندین بار افزایش یابد) میشکند.
-
منطق حفاظت از مقایسه tx.origin و msg.sender خراب است و بسیاری از قراردادهای گذشته در معرض خطر هستند.
-
این وضعیت موجود را از بین می برد که EOA خود نمی تواند رویدادها را صادر کند، ممکن است توجه به شناسایی و نظارت بر برخی رویدادهای زنجیره ای ضروری باشد.
-
شکن کردن وضعیت موجود که آدرسهای EOA باید در پذیرش ERC20، 721، 1155 و سایر داراییها موفق شوند (ممکن است به دلیل مکانیسم تماس با شکست مواجه شود)
4.5 مقایسه EIP-7702 و EIP-4337
1 مزایای EIP-7702
< گاز کمتر است زیرا نیازی به عبور از ماژول نقطه ورودی نیست و این امر باعث کاهش عملیات روی زنجیره می شود.
هزینه انتقال کاربر کمتر است و نیازی به استقرار قرارداد درون زنجیره ای به عنوان موضوع از قبل نیست
در مقایسه با Eip4337، اجرای تفویض کد نیز وجود خواهد داشت. و همچنین دو روش وجود خواهد داشت: < /p>
Full Delegation
Full Delegation به تفویض تمام مجوزهای یک عملیات به یک آدرس خاص اشاره دارد. به عنوان مثال، کاربران می توانند حقوق مدیریت تمام توکن های ERC-20 را به یک آدرس قرارداد هوشمند واگذار کنند تا این قرارداد هوشمند بتواند تمام عملیات مربوطه را از طرف کاربر انجام دهد.
هیئت حفاظت شده
حفظ نمایندگی به اضافه کردن برخی محدودیتها و اقدامات حفاظتی در طول فرآیند تفویض اختیار اشاره دارد تا اطمینان حاصل شود که عملکرد نمایندگی از ایمنی و قابلیت کنترل برخوردار است.
بهعنوان مثال، کاربران میتوانند حقوق مدیریت تنها بخشی از نشانههای ERC-20 را به یک قرارداد هوشمند واگذار کنند، یا برخی محدودیتها را تعیین کنند (مانند صرف حداکثر 1٪ از کل موجودی در روز) .
2 معایب EIP-7702
نقطه ضعف اصلی آن این است که ارتقاء سافت فورک است که برای ترویج آن به اجماع همه نیاز دارد. تغییرات بسیار زیاد است، که برای زنجیره مضر است. پس از ارزیابی اولیه Shijunjun، چالشهای زیر وجود دارد:
-
درجه آزادی بسیار بالا است و حسابرسی آن دشوار است. کاربران برای ارائه حفاظت امنیتی به کیف پول های قابل اعتمادتری نیاز دارند.
-
معماری اصلی بیش از حد تغییر کرده است، اگرچه با انواع مختلف تراکنش ها متمایز می شود، بسیاری از زیرساخت ها، به ویژه قراردادهای تغییر ناپذیر در زنجیره، نمی توانند مستقیماً انجام شوند. اقتباس شده است.
-
قابلیت های قرارداد برای آدرس های EOA ارائه شده است، اما فضای ذخیره سازی مربوطه را نمی توان حفظ کرد.
-
هزینه یک تراکنش جداگانه کمی بیشتر است زیرا بخش Calldata بسیار افزایش خواهد یافت (گاز) * 15 (بایت) = 240 (گاز) هزینه داده تماس، به اضافه هزینه EIP-3860 2 * 15 = 30
، به علاوه هزینه تقریبی زمان اجرا 150< /code>. بنابراین فقط با آماده کردن اکانت حتی اگر کاری انجام ندهید گاز را 500 افزایش می دهد.
-
“اگر گیرنده کد را بدون دریافت قابلیت امضا کند، ممکن است فرستنده هنگام تلاش برای ارسال دارایی با DoS مواجه شود.” مشکل در واقع این است که EOA A چیزی را امضا کرد که نباید آن را امضا می کرد – یک فایل قابل پخش با اجرای اشتباه تنظیم شده (بدون receive()
).
-
منطق برداشت روی زنجیره ممکن است ناسازگار باشد به عنوان مثال، در هنگام انتقال رمزهای ERC-20، اگر حساب گیرنده دارای کد باشد، قرارداد توکن. با حساب گیرنده onERC20Received
تماس می گیرد. اگر onERC20Received
مقدار نادرستی را برگرداند یا برگرداند، انتقال رمز باز می گردد.
-
علاوه بر این، اگر EOA بتواند رویدادها را منتشر کند، آیا مشکلی پیش خواهد آمد؟ برخی از زیرساخت ها ممکن است نیاز به توجه داشته باشند.
اینها تنها برخی از کاستیها هستند که توسط Shishijun بر اساس محتوای پیشنهادی EIP7702 و بحثهای رسمی مربوطه در پایان، باید به طور کامل بر اساس آن تجزیه و تحلیل شوند کد اجرایی نهایی
مرجع به شرح زیر است:
5 خلاصه ای از متن کامل
به نظر می رسد این مقاله بزرگ است، اما در در واقع محتوای متن تنها بیش از 6 هزار کلمه است.
در حال حاضر، انتزاع حساب در واقع فقط در ماژول ششم، که برای رفع همه چیز است، قرار می گیرد، یعنی در نهایت که پیشرفت EIP7702 بسیار تسریع شده است، انجام می شود پیشرفتهای بیشتری در امنیت سیستم به ارمغان میآورد. میتوان انتظار داشت که این چالش در نهایت محقق شود.
اما این بار براندازی بیش از حد وجود داشت، بسیاری از قوانین ناگفته را که در زنجیره غیرممکن بود، شکست، و همچنین منطق کاربرد اکثر Dapp ها را شکست، اما او به شدت نقطه اصلی را اشغال کرد هزینه برای کاربران کمتر است! در مقایسه با هزینه تراکنش تقریباً دو برابر شده EIP4337.
خود کاربر هنوز یک آدرس EOA دارد و فقط در صورت نیاز از منطق CA استفاده می کند، بنابراین هزینه نگهداری پایین است. نیازی به تبدیل هویت CA در زنجیره قبل از انجام عملیات نیست، به این معنی که کاربران نیازی به ثبت نام ندارند.
کاربران میتوانند به راحتی از EOA برای دستیابی به تراکنشهای متعدد به صورت موازی استفاده کنند، مانند صدور مجوز کسر و اجرای کسر در یکی، که هزینه تراکنش را برای کاربران Dapps، بهویژه طرفهای پروژه که مدیریت در سطح سازمانی انجام میدهند، کاهش میدهد زنجیره ای، مانند صرافی ها، و غیره، حتی بهینه سازی های مخرب تری هستند، هنگامی که جمع آوری دسته ای در اکولوژی اصلی تحقق یابد، هزینه مبادله اولیه می تواند در یک لحظه بیش از نصف کاهش یابد، که در نهایت می تواند به نفع کاربران باشد.
بنابراین، اگرچه تغییر زیادی کرده است، اما بعد هزینه ارزش مطالعه و تطبیق با همه Dapp ها را دارد، زیرا این بار کاربران باید با EIP7702 طرف باشند.
حفاظت از کلیدهای خصوصی دشوار است: از دست دادن کلیدهای خصوصی کاربران (از دست دادن، حمله هکرها، شکستن رمزنگاری) به معنای از دست دادن همه دارایی ها است.
چند الگوریتم امضا: پروتکل بومی فقط می تواند از الگوریتم های ECDSA امضا و تأیید امضا برای تأیید تراکنش ها استفاده کند.
اختیار امضای بالا: هیچ امضای چندگانه بومی (چند امضا فقط از طریق قراردادهای هوشمند می تواند همکاری کند)، امضای واحد می تواند هر عملیاتی را انجام دهد.
هزینه های تراکنش فقط از طریق ETH قابل پرداخت است و تراکنش های دسته ای پشتیبانی نمی شوند.
نشت حریم خصوصی تراکنش: تراکنش های یک به یک تجزیه و تحلیل اطلاعات خصوصی دارنده حساب را آسان می کند.
اجازه دهید تراکنش ها از الگوریتم های رمزگذاری بیشتری استفاده می کنند و روش تأیید امضا را می توان با کد داخلی هر آدرس مشخص کرد
در برابر حملات کوانتومی مقاوم است زیرا کد ویژگی ارتقا یافته است.
اجازه دهید اتریوم همان ویژگی های عملکردی قرارداد ERC20 را داشته باشد، و اثر اصلی آن مجوز توقیف است، بنابراین نیازی به از دست دادن ارز اصلی نیست< /p>< /li>
بهبود فضای سفارشی سازی حساب، سازگار با بازیابی اجتماعی، پشتیبانی sbt، بازیابی کلید و غیره.
خیر دلیل ادامه دادن به جلو نیز بسیار ساده است ، مفهوم هر مزیت به یکی از عملکردهای اصلی EIP4337 و EIP7702 بعدی تبدیل شده است.
بعداً، مجموعه ای از EIP ها سعی کردند این منطق را بهبود بخشند
EIP-859: Main Chain Account Abstraction–2018-01-30
تلاش برای حل مشکل استقرار کد عملکرد اصلی این است که اگر قرارداد طرف معامله اجرا نشود، از پارامترهای کد متصل به تراکنش برای اجرای کیف پول قرارداد استفاده می شود همچنین علاوه بر پرداخت گاز، جداکننده بین بخش تأیید و اجرای پارامترهای یک تراکنش نیز می شود.
اگرچه در آن زمان بیهوده به پایان رسید، اما اکنون به یکی از منطق های اصلی EIP7702 تبدیل شده است. EOA در این تراکنش، آدرس ها دارای قابلیت قرارداد هستند.
EIP-7702: کد حساب EOA را 07-05-2024 تنظیم کنید
این همچنین EIP اصلی مکانیسم مورد بحث در این مقاله است توسط Vitalik-7702 به عنوان جایگزینی برای EIP-3074 (2024-05-07) منتشر شد. بنابراین، EIP-3074 رها شده است و EIP-7702 در هارد فورک آینده ETH Prague/Electra (Pectra) گنجانده شده است.
3.2 مسیر دوم این است که به آدرس EOA اجازه دهید آدرس CA را هدایت کند
EIP-3074: افزودن AUTH
و AUTHCALL
opcode–2020-10-15 < /p>
دو OpCode AUTH
و AUTHCALL
را به EVM اضافه کنید تا EOA بتواند به جای EOA از طریق این دو قرارداد مجوز دیگر تماس بگیرد.
بر اساس شکل زیر، به طور خلاصه، یک EOA میتواند یک پیام امضا شده (تراکنش) را به قراردادی که به آن اعتماد دارید (به نام Invoker
) ارسال کند. این قرارداد Invoker
می تواند از کدهای عملیات AUTH
و AUTHCALL
برای ارسال این تراکنش به جای این EOA استفاده کند.
EIP-4337: استفاده از مخزن حافظه تراکنش برای اجرای انتزاع حساب–2021-09-29
به طور خلاصه، او برای طراحی از MEV الهام گرفت. ارزش اصلی این است که می توان از تغییرات پروتکل لایه اجماع به طور کامل اجتناب کرد.
eip4337 یک شیء تراکنش جدید UserOperation
را پیشنهاد کرد. قراردادهای بسته بندی و تحویل، اساساً معاملات و عملیات حسابداری را برای اجرا به سطح قرارداد می رساند.
EIP-5189: عملیات حسابهای انتزاعی از طریق تأییدکنندگان—29-06-2022
این میتواند بهعنوان بهینهسازی منطق EIP4337 و مواجهه با مخربها در نظر گرفته شود. Bundler
با ایجاد مکانیزمی برای تأیید جریمههای مالی از حملات مسدودکننده DoS جلوگیری میکند.
3.3 پیشنهادهای دیگر برای پشتیبانی از AA
EIP-2718: پاکت بسته بندی برای نوع تراکنش جدید–2020-06-13< /strong
این یک پیشنهاد نهایی است که یک نوع تراکنش جدید را به عنوان پوششی برای انواع تراکنش های جدید در آینده تعریف می کند.
اثر نهایی این است که وقتی یک نوع تراکنش جدید معرفی میشود، از رمزگذاری خاص برای تشخیص نوع تراکنش استفاده میشود، به طوری که فقط به سازگاری با عقب و بدون سازگاری رو به جلو نیاز دارد. رایجترین مثال EIP1559 است که کارمزد تراکنشها را متمایز میکند و از کدهای نوع تراکنش جدید بدون تأثیر بر نوع تراکنش قدیمی استفاده میکند.
EIP-3607: اجازه دهیدEOA
address قرارداد را مستقر نکند–2021-06-10< /
این یک راه حل تکمیلی در مسیر AA برای جلوگیری از تضاد بین آدرس استقرار قرارداد و آدرس EOA است. او روش تولید قرارداد را کنترل خواهد کرد تا سیستم اجازه ندهد کد به آدرسی که قبلاً یک آدرس EOA است، مستقر شود. این خطر در واقع بسیار کم است، آدرس اتریوم 160 بیت است، اگرچه روشی برای استفاده از کلید خصوصی برای برخورد با کلید خصوصی آدرس قرارداد مشخص شده وجود دارد، اما تخمین زده می شود که هنوز یک سال طول بکشد. بر اساس قدرت محاسباتی کامل بیت کوین.
3.4 چگونه فرآیند توسعه انتزاع حساب را درک کنیم؟
اول از همه، باید ارزش تبدیل به CA را درک کنید
در اصل، این اثر واقعی EIP-4337 است که می تواند به آن دست یابد
%20%D8%A8%D8%A7%20%D8%A7%DB%8C%D9%86%20%D8%AD%D8%A7%D9%84%D8%8C%20EIP-%20%D9%86%D9%82%D8%B5%20%D8%A7%D8%B5%D9%84%DB%8C%204337%20%D8%A7%DB%8C%D9%86%20%D8%A7%D8%B3%D8%AA%20%DA%A9%D9%87%20%D8%A7%D8%B5%D9%84%20%D8%A7%D9%86%DA%AF%DB%8C%D8%B2%D9%87%20%D8%A7%D9%86%D8%B3%D8%A7%D9%86%DB%8C%20%D8%B1%D8%A7%20%D9%86%D9%82%D8%B6%20%D9%85%DB%8C%20%DA%A9%D9%86%D8%AF.%20
%D8%A8%D9%87%20%D9%86%D8%B8%D8%B1%20%D9%85%DB%8C%20%D8%B1%D8%B3%D8%AF%20%D8%A8%D9%87%D8%AA%D8%B1%20%D8%A7%D8%B3%D8%AA%D8%8C%20%D8%A7%D9%85%D8%A7%20%D8%AF%D8%B1%20%DB%8C%DA%A9%20%DA%86%D8%B1%D8%AE%D9%87%20%D8%A8%DB%8C%20%D9%BE%D8%A7%DB%8C%D8%A7%D9%86%20%D8%AA%D9%88%D8%B3%D8%B9%D9%87%20%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1%20%D9%82%D8%B1%D8%A7%D8%B1%20%DA%AF%D8%B1%D9%81%D8%AA%D9%87%20%D8%A7%D8%B3%D8%AA.%20(%D8%AF%D8%B1%20%D8%B3%D9%86%D8%A7%D8%B1%DB%8C%D9%88%D9%87%D8%A7%DB%8C%20%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84%20%D8%B9%D8%A7%D8%AF%DB%8C%D8%8C%20%DA%A9%D8%A7%D8%B1%D9%85%D8%B2%D8%AF%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D8%AF%D9%88%20%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1%20%D8%AE%D9%88%D8%A7%D9%87%D8%AF%20%D8%B4%D8%AF)%D8%8C%20%D9%88%20%D9%87%D9%85%DA%86%D9%86%DB%8C%D9%86%20%D8%A8%DB%8C%D8%B4%20%D8%A7%D8%B2%20%D8%AD%D8%AF%20%D8%A8%D9%87%20%D8%B3%D8%A7%D8%B2%DA%AF%D8%A7%D8%B1%DB%8C%20%D8%AE%D9%88%D8%AF%20Dapp%20%D9%85%D8%AA%DA%A9%DB%8C%20%D8%A7%D8%B3%D8%AA.%20
%D8%A8%D9%86%D8%A7%D8%A8%D8%B1%D8%A7%DB%8C%D9%86%20%D8%AA%D8%A7%DA%A9%D9%86%D9%88%D9%86%20%D8%AF%D8%B1%20%D8%B4%D8%A8%DA%A9%D9%87%20%D8%A7%D8%B5%D9%84%DB%8C%20%D8%A7%D8%AA%D8%B1%DB%8C%D9%88%D9%85%20%D8%B1%D8%A7%DB%8C%D8%AC%20%D9%86%D8%B4%D8%AF%D9%87%20%D8%A7%D8%B3%D8%AA.%20
%D9%87%D8%B2%DB%8C%D9%86%D9%87%20%D9%85%D9%87%D9%85%D8%AA%D8%B1%DB%8C%D9%86%20%D9%85%D8%B9%DB%8C%D8%A7%D8%B1%20%D8%A8%D8%B1%D8%A7%DB%8C%20%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86%20%D8%A7%D8%B3%D8%AA%20%D9%88%20%D9%87%D8%B2%DB%8C%D9%86%D9%87%20%D9%87%D8%A7%20%D8%A8%D8%A7%DB%8C%D8%AF%20%DA%A9%D8%A7%D9%87%D8%B4%20%DB%8C%D8%A7%D8%A8%D8%AF.%20
%D8%A7%D9%85%D8%A7%20%D8%A8%D8%B1%D8%A7%DB%8C%20%DA%A9%D8%A7%D9%87%D8%B4%20%D9%88%D8%A7%D9%82%D8%B9%DB%8C%20%DA%AF%D8%A7%D8%B2%D8%8C%20%D8%AE%D9%88%D8%AF%20%D8%A7%D8%AA%D8%B1%DB%8C%D9%88%D9%85%20%D8%A8%D8%A7%DB%8C%D8%AF%20%DB%8C%DA%A9%20%D8%A7%D8%B1%D8%AA%D9%82%D8%A7%D8%A1%20%D8%B3%D8%A7%D9%81%D8%AA%20%D9%81%D9%88%D8%B1%DA%A9%20%D8%A7%D9%86%D8%AC%D8%A7%D9%85%20%D8%AF%D9%87%D8%AF%D8%8C%20%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D9%87%20GAS%20%D8%B1%D8%A7%20%D8%A7%D8%B5%D9%84%D8%A7%D8%AD%20%DA%A9%D9%86%D8%AF%20%DB%8C%D8%A7%20%D9%85%D8%B5%D8%B1%D9%81%20%DA%AF%D8%A7%D8%B2%20%DA%A9%D8%AF%20%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA%DB%8C%20%D9%88%20%D8%B3%D8%A7%DB%8C%D8%B1%20%D9%85%D8%A7%DA%98%D9%88%D9%84%20%D9%87%D8%A7%20%D8%B1%D8%A7%20%D8%A7%D8%B5%D9%84%D8%A7%D8%AD%20%DA%A9%D9%86%D8%AF%D8%8C%20%D8%A8%D8%A7%20%D8%A7%DB%8C%D9%86%20%D8%AD%D8%A7%D9%84%D8%8C%20%D8%A7%D8%B2%20%D8%A2%D9%86%D8%AC%D8%A7%DB%8C%DB%8C%20%DA%A9%D9%87%20%D8%B3%D8%A7%D9%81%D8%AA%20%D9%81%D9%88%D8%B1%DA%A9%20%D9%84%D8%A7%D8%B2%D9%85%20%D8%A7%D8%B3%D8%AA%20%D9%85%D8%B3%D8%AA%D9%82%DB%8C%D9%85%D8%A7%D9%8B%20EIP%20%D8%B1%D8%A7%20%D8%AF%D8%B1%20%D9%86%D8%B8%D8%B1%20%D8%A8%DA%AF%DB%8C%D8%B1%DB%8C%D8%AF%20-%207702%20%DA%86%D8%B7%D9%88%D8%B1%D8%9F%20
4%20%D8%AA%D8%AC%D8%B2%DB%8C%D9%87%20%D9%88%20%D8%AA%D8%AD%D9%84%DB%8C%D9%84%20%D8%AC%D8%A7%D9%85%D8%B9%20EIP-7702
4.1%20EIP-7702
%D8%A7%DB%8C%D9%86%20%DA%86%DB%8C%D8%B3%D8%AA.%20%D9%85%DB%8C%20%D8%AA%D9%88%D8%A7%D9%86%20%D8%A7%D9%86%D9%88%D8%A7%D8%B9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%87%D8%A7%DB%8C%20%D8%AC%D8%AF%DB%8C%D8%AF%20%D8%B1%D8%A7%20%D9%85%D8%AA%D9%85%D8%A7%DB%8C%D8%B2%20%DA%A9%D8%B1%D8%AF%D8%8C%20%DA%A9%D9%87%20%D8%A8%D9%87%20EOA%20%D8%A7%D8%AC%D8%A7%D8%B2%D9%87%20%D9%85%DB%8C%20%D8%AF%D9%87%D8%AF%20%D8%AA%D8%A7%20%D8%A8%D9%87%20%D8%B7%D9%88%D8%B1%20%D9%85%D9%88%D9%82%D8%AA%20%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF%20%DB%8C%DA%A9%20%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF%20%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF%20%D8%B1%D8%A7%20%D8%AF%D8%B1%20%DB%8C%DA%A9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%88%D8%A7%D8%AD%D8%AF%20%D8%AF%D8%A7%D8%B4%D8%AA%D9%87%20%D8%A8%D8%A7%D8%B4%D8%AF%D8%8C%20%D8%AF%D8%B1%20%D9%86%D8%AA%DB%8C%D8%AC%D9%87%20%D8%A7%D8%B2%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%87%D8%A7%DB%8C%20%D8%AF%D8%B3%D8%AA%D9%87%20%D8%A7%DB%8C%D8%8C%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%87%D8%A7%DB%8C%20%D8%A8%D8%AF%D9%88%D9%86%20%DA%AF%D8%A7%D8%B2%D8%8C%20%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA%20%D9%85%D8%AC%D9%88%D8%B2%20%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C%20%D9%88%20%D8%BA%DB%8C%D8%B1%D9%87%20%D8%AF%D8%B1%20%DA%A9%D8%B3%D8%A8%20%D9%88%20%DA%A9%D8%A7%D8%B1%D8%8C%20%D8%A8%D8%AF%D9%88%D9%86%20%D9%86%DB%8C%D8%A7%D8%B2%20%D8%A8%D9%87%20%D9%85%D8%B9%D8%B1%D9%81%DB%8C%20%D9%BE%D8%B4%D8%AA%DB%8C%D8%A8%D8%A7%D9%86%DB%8C%20%D9%85%DB%8C%20%DA%A9%D9%86%D8%AF.%20%DB%8C%DA%A9%20opCode%20%D8%AC%D8%AF%DB%8C%D8%AF%20EVM%20(%D8%A8%D8%B1%20%D8%B1%D9%88%DB%8C%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D9%87%D8%A7%DB%8C%20%D9%82%D8%A8%D9%84%DB%8C%20%D8%AA%D8%A3%D8%AB%DB%8C%D8%B1%20%D9%85%DB%8C%20%DA%AF%D8%B0%D8%A7%D8%B1%D8%AF).%20
%D8%A7%DB%8C%D9%86%20%D8%A7%D9%85%DA%A9%D8%A7%D9%86%20%D8%B1%D8%A7%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86%20%D9%85%DB%8C%E2%80%8C%D8%AF%D9%87%D8%AF%20%D8%AA%D8%A7%20%D8%A7%DA%A9%D8%AB%D8%B1%20%D9%82%D8%A7%D8%A8%D9%84%DB%8C%D8%AA%E2%80%8C%D9%87%D8%A7%DB%8C%20AA%20%D8%B1%D8%A7%20%D8%A8%D8%AF%D9%88%D9%86%20%D8%A7%D8%B3%D8%AA%D9%82%D8%B1%D8%A7%D8%B1%20%D9%82%D8%B1%D8%A7%D8%B1%D8%AF%D8%A7%D8%AF%D9%87%D8%A7%DB%8C%20%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF%20%D8%A8%D9%87%20%D8%AF%D8%B3%D8%AA%20%D8%A2%D9%88%D8%B1%D9%86%D8%AF%20%D9%88%20%D8%AD%D8%AA%DB%8C%20%D9%85%DB%8C%E2%80%8C%D8%AA%D9%88%D8%A7%D9%86%D8%AF%20%D8%A8%D9%87%20%D8%B4%D8%AE%D8%B5%20%D8%AB%D8%A7%D9%84%D8%AB%20%D8%A7%D9%85%DA%A9%D8%A7%D9%86%20%D8%B4%D8%B1%D9%88%D8%B9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%E2%80%8C%D9%87%D8%A7%20%D8%B1%D8%A7%20%D8%A7%D8%B2%20%D8%B7%D8%B1%D9%81%20%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86%20%D8%A8%D8%AF%D9%88%D9%86%20%D9%86%DB%8C%D8%A7%D8%B2%20%D8%A8%D9%87%20%D8%A7%D8%B1%D8%A7%D8%A6%D9%87%20%DA%A9%D9%84%DB%8C%D8%AF%D9%87%D8%A7%DB%8C%20%D8%AE%D8%B5%D9%88%D8%B5%DB%8C%20%DA%A9%D9%87%20%D9%86%DB%8C%D8%A7%D8%B2%20%D8%A8%D9%87%20%D8%A7%D9%85%D8%B6%D8%A7%20%D8%AF%D8%A7%D8%B1%D9%86%D8%AF%D8%8C%20%D8%A7%D8%B1%D8%A7%D8%A6%D9%87%20%D8%AF%D9%87%D8%AF%20%D9%85%D8%AC%D9%88%D8%B2.%20
4.2%20%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1%20%D8%AF%D8%A7%D8%AF%D9%87
%D8%A7%D9%88%20%D9%86%D9%88%D8%B9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%20%D8%AC%D8%AF%DB%8C%D8%AF%200×04%20%D8%B1%D8%A7%20%D8%AA%D8%B9%D8%B1%DB%8C%D9%81%20%D9%85%DB%8C%20%DA%A9%D9%86%D8%AF.
%D9%86%DA%A9%D8%AA%D9%87%20%D9%85%D9%87%D9%85%20%D8%A7%DB%8C%D9%86%20%D8%A7%D8%B3%D8%AA%20%DA%A9%D9%87%20%D8%B4%DB%8C%D8%A1%20authorization_list%20%D8%A8%D8%B1%D8%A7%DB%8C%20%D8%B0%D8%AE%DB%8C%D8%B1%D9%87%20%DA%A9%D8%AF%DB%8C%20%DA%A9%D9%87%20%D8%A7%D9%85%D8%B6%D8%A7%DA%A9%D9%86%D9%86%D8%AF%D9%87%20%D9%85%DB%8C%20%D8%AE%D9%88%D8%A7%D9%87%D8%AF%20%D8%AF%D8%B1%20EOA%20%D8%AE%D9%88%D8%AF%20%D8%A7%D8%AC%D8%B1%D8%A7%20%DA%A9%D9%86%D8%AF%D8%8C%20%D8%A7%D8%B6%D8%A7%D9%81%D9%87%20%D9%85%DB%8C%20%D8%B4%D9%88%D8%AF%20%D9%84%DB%8C%D8%B3%D8%AA%20%D8%AF%D9%88%20%D8%A8%D8%B9%D8%AF%DB%8C%D8%8C%20%D9%86%D8%B4%D8%A7%D9%86%20%D9%85%DB%8C%20%D8%AF%D9%87%D8%AF%20%DA%A9%D9%87%20%D9%85%DB%8C%20%D8%AA%D9%88%D8%A7%D9%86%20%D8%A2%D9%86%20%D8%B1%D8%A7%20%D8%A8%D9%87%20%D8%B5%D9%88%D8%B1%D8%AA%20%D8%AF%D8%B3%D8%AA%D9%87%20%D8%A7%DB%8C%20%D8%B0%D8%AE%DB%8C%D8%B1%D9%87%20%DA%A9%D8%B1%D8%AF%D8%8C%20%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA%20%D8%AF%D8%B3%D8%AA%D9%87%20%D8%A7%DB%8C%20%D8%B1%D8%A7%20%D8%A7%D9%86%D8%AC%D8%A7%D9%85%20%D8%AF%D9%87%D8%AF.%20
4.3%20%DA%86%D8%B1%D8%AE%D9%87%20%D8%AD%DB%8C%D8%A7%D8%AA%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4
4.3.1%20%D9%85%D8%B1%D8%AD%D9%84%D9%87%20%D8%AA%D8%A3%DB%8C%DB%8C%D8%AF
%D8%AF%D8%B1%20%D8%A7%D8%A8%D8%AA%D8%AF%D8%A7%DB%8C%20%D8%A7%D8%AC%D8%B1%D8%A7%DB%8C%20%DB%8C%DA%A9%20%D8%AA%D8%B1%D8%A7%DA%A9%D9%86%D8%B4%D8%8C%20%D8%A8%D8%B1%D8%A7%DB%8C%20%D9%87%D8%B1%20autorization_list%20%D8%AA%D8%A7%D9%BE%D9%84%20%5Bchain_id,%20address,%20nonce,%20y_parity,%20r,%20s%5D
:
-
از ecrecover برای بازیابی آدرس امضاکننده از امضاهای r و s استفاده کنید (توجه داشته باشید که این مکانیسم خود اتریوم است، بنابراین این EIP الگوریتم امضا را تغییر نمیدهد).
authority = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s]
(مشابه رمزگشایی قبلی امضا برای بدست آوردن آدرس from, نتیجه اینجا آدرس امضای جزئی برای این لیست است) -
تأیید شناسه زنجیره (جلوگیری از پخش مجدد زنجیره چنگال)
-
بررسی کنید که آیا کد امضاکننده
authority
خالی است یا تفویض شده است (تأیید کنید که آیا تراکنش یک تراکنش 7702 معتبر است و مکانیسم تفویض اختیار برای اجرای آن استفاده خواهد شد. تراکنش بعداً -
عدم امضای
مرجع
را تأیید کنید (برای جلوگیری از امضایمرجع
). پخش مجدد) -
کد امضاکننده
authority
را روی0xef0100 ||آدرس
تنظیم کنید (برای دور زدن استفاده می شود خطمشی ضد برخورد EIP3607) -
عدم امضای
مرجع
را افزایش دهید (برای جلوگیری از پخش مجدد امضای جزئی) -
حساب امضاکننده
authority
را به لیست آدرس های بازدید شده اضافه کنید (آدرس های داغ را برای کاهش هزینه های ذخیره سازی درخواست انتقال دهید).
4.3.2 مرحله عملیات اجرایی
کدهای قرارداد و دستورالعملهای عملیاتی کجا هستند
نسخه “جدید” فقط رفتار مربوط به استقرار کد را تغییر می دهد
دیگر کد حساب را روی contract_code
تنظیم نمی کند، بلکه از authorization_list
آدرس کد را از کد> بازیابی کنید و آن کد را به عنوان کد حساب تنظیم کنید
بنابراین، زمانی که کد مجوز باید اجرا شود، از
کد را بارگیری می کند و آن را در زمینه حساب امضاکننده اجرا می کند. autorization_list
آدرس مشخص شده در قسمت >address
این بدان معناست که کد قرارداد کاربر در واقع در یک آدرس خاص در زنجیره ذخیره میشود، نه اینکه مستقیماً در تراکنش گنجانده شود.
دستورالعملهای عملیات و پارامترهای مربوطه در قسمت data
محموله تراکنش ذخیره میشوند.
4.4 ارزش EIP-7702 چیست؟
او کل پیوند کیف پول Web3 را تغییر میدهد و تجربه کاربر نیز بهطور چشمگیری تغییر خواهد کرد، زیرا تراکنشهای معمولی آغاز شده توسط EOA نیز میتوانند انواع منطق مشابه قراردادها را اجرا کنند، مانند انتقال دسته ای برای سناریوهای CeFi، بر شناسایی تراکنش و کارمزد جمع آوری برداشت تأثیر می گذارد
به دلیل ظهور، بسیاری از کلیشه های قبلی را شکسته است، مانند:
-
این متغیر را از بین میبرد که موجودی حساب فقط با تراکنشهای منشأ آن حساب کاهش مییابد.
-
تغییر ناپذیری را که nonce EOA بعد از شروع تراکنش 1 افزایش مییابد (ممکن است همزمان چندین بار افزایش یابد) میشکند.
-
منطق حفاظت از مقایسه tx.origin و msg.sender خراب است و بسیاری از قراردادهای گذشته در معرض خطر هستند.
-
این وضعیت موجود را از بین می برد که EOA خود نمی تواند رویدادها را صادر کند، ممکن است توجه به شناسایی و نظارت بر برخی رویدادهای زنجیره ای ضروری باشد.
-
شکن کردن وضعیت موجود که آدرسهای EOA باید در پذیرش ERC20، 721، 1155 و سایر داراییها موفق شوند (ممکن است به دلیل مکانیسم تماس با شکست مواجه شود)
-
درجه آزادی بسیار بالا است و حسابرسی آن دشوار است. کاربران برای ارائه حفاظت امنیتی به کیف پول های قابل اعتمادتری نیاز دارند.
-
معماری اصلی بیش از حد تغییر کرده است، اگرچه با انواع مختلف تراکنش ها متمایز می شود، بسیاری از زیرساخت ها، به ویژه قراردادهای تغییر ناپذیر در زنجیره، نمی توانند مستقیماً انجام شوند. اقتباس شده است.
-
قابلیت های قرارداد برای آدرس های EOA ارائه شده است، اما فضای ذخیره سازی مربوطه را نمی توان حفظ کرد.
-
هزینه یک تراکنش جداگانه کمی بیشتر است زیرا بخش Calldata بسیار افزایش خواهد یافت (گاز) * 15 (بایت) = 240 (گاز) هزینه داده تماس، به اضافه هزینه EIP-3860
2 * 15 = 30
، به علاوه هزینه تقریبی زمان اجرا150< /code>. بنابراین فقط با آماده کردن اکانت حتی اگر کاری انجام ندهید گاز را 500 افزایش می دهد.
-
“اگر گیرنده کد را بدون دریافت قابلیت امضا کند، ممکن است فرستنده هنگام تلاش برای ارسال دارایی با DoS مواجه شود.” مشکل در واقع این است که EOA A چیزی را امضا کرد که نباید آن را امضا می کرد – یک فایل قابل پخش با اجرای اشتباه تنظیم شده (بدون
receive()
). -
منطق برداشت روی زنجیره ممکن است ناسازگار باشد به عنوان مثال، در هنگام انتقال رمزهای ERC-20، اگر حساب گیرنده دارای کد باشد، قرارداد توکن. با حساب گیرنده
onERC20Received
تماس می گیرد. اگرonERC20Received
مقدار نادرستی را برگرداند یا برگرداند، انتقال رمز باز می گردد. -
علاوه بر این، اگر EOA بتواند رویدادها را منتشر کند، آیا مشکلی پیش خواهد آمد؟ برخی از زیرساخت ها ممکن است نیاز به توجه داشته باشند.
4.5 مقایسه EIP-7702 و EIP-4337
1 مزایای EIP-7702
< گاز کمتر است زیرا نیازی به عبور از ماژول نقطه ورودی نیست و این امر باعث کاهش عملیات روی زنجیره می شود.
هزینه انتقال کاربر کمتر است و نیازی به استقرار قرارداد درون زنجیره ای به عنوان موضوع از قبل نیست
در مقایسه با Eip4337، اجرای تفویض کد نیز وجود خواهد داشت. و همچنین دو روش وجود خواهد داشت: < /p>
Full Delegation
Full Delegation به تفویض تمام مجوزهای یک عملیات به یک آدرس خاص اشاره دارد. به عنوان مثال، کاربران می توانند حقوق مدیریت تمام توکن های ERC-20 را به یک آدرس قرارداد هوشمند واگذار کنند تا این قرارداد هوشمند بتواند تمام عملیات مربوطه را از طرف کاربر انجام دهد.
هیئت حفاظت شده
حفظ نمایندگی به اضافه کردن برخی محدودیتها و اقدامات حفاظتی در طول فرآیند تفویض اختیار اشاره دارد تا اطمینان حاصل شود که عملکرد نمایندگی از ایمنی و قابلیت کنترل برخوردار است.
بهعنوان مثال، کاربران میتوانند حقوق مدیریت تنها بخشی از نشانههای ERC-20 را به یک قرارداد هوشمند واگذار کنند، یا برخی محدودیتها را تعیین کنند (مانند صرف حداکثر 1٪ از کل موجودی در روز) .
2 معایب EIP-7702
نقطه ضعف اصلی آن این است که ارتقاء سافت فورک است که برای ترویج آن به اجماع همه نیاز دارد. تغییرات بسیار زیاد است، که برای زنجیره مضر است. پس از ارزیابی اولیه Shijunjun، چالشهای زیر وجود دارد:
اینها تنها برخی از کاستیها هستند که توسط Shishijun بر اساس محتوای پیشنهادی EIP7702 و بحثهای رسمی مربوطه در پایان، باید به طور کامل بر اساس آن تجزیه و تحلیل شوند کد اجرایی نهایی
مرجع به شرح زیر است:
5 خلاصه ای از متن کامل
به نظر می رسد این مقاله بزرگ است، اما در در واقع محتوای متن تنها بیش از 6 هزار کلمه است.
در حال حاضر، انتزاع حساب در واقع فقط در ماژول ششم، که برای رفع همه چیز است، قرار می گیرد، یعنی در نهایت که پیشرفت EIP7702 بسیار تسریع شده است، انجام می شود پیشرفتهای بیشتری در امنیت سیستم به ارمغان میآورد. میتوان انتظار داشت که این چالش در نهایت محقق شود.
اما این بار براندازی بیش از حد وجود داشت، بسیاری از قوانین ناگفته را که در زنجیره غیرممکن بود، شکست، و همچنین منطق کاربرد اکثر Dapp ها را شکست، اما او به شدت نقطه اصلی را اشغال کرد هزینه برای کاربران کمتر است! در مقایسه با هزینه تراکنش تقریباً دو برابر شده EIP4337.
خود کاربر هنوز یک آدرس EOA دارد و فقط در صورت نیاز از منطق CA استفاده می کند، بنابراین هزینه نگهداری پایین است. نیازی به تبدیل هویت CA در زنجیره قبل از انجام عملیات نیست، به این معنی که کاربران نیازی به ثبت نام ندارند.
کاربران میتوانند به راحتی از EOA برای دستیابی به تراکنشهای متعدد به صورت موازی استفاده کنند، مانند صدور مجوز کسر و اجرای کسر در یکی، که هزینه تراکنش را برای کاربران Dapps، بهویژه طرفهای پروژه که مدیریت در سطح سازمانی انجام میدهند، کاهش میدهد زنجیره ای، مانند صرافی ها، و غیره، حتی بهینه سازی های مخرب تری هستند، هنگامی که جمع آوری دسته ای در اکولوژی اصلی تحقق یابد، هزینه مبادله اولیه می تواند در یک لحظه بیش از نصف کاهش یابد، که در نهایت می تواند به نفع کاربران باشد.
بنابراین، اگرچه تغییر زیادی کرده است، اما بعد هزینه ارزش مطالعه و تطبیق با همه Dapp ها را دارد، زیرا این بار کاربران باید با EIP7702 طرف باشند.