Skip to content
כל מדריכי האופציות
האצלת חשבונות Ethereum9 דקות קריאה

EIP-7702: האצלת קוד EOA והסיכונים

כך EIP-7702 מפנה EOA לקוד שנפרס, מה מאשרת חתימת type-4, ואילו הרשאות וסיכונים חשוב לבדוק.

במדריך הזהEIP-7702 משנה את מסלול הביצוע, לא את המפתח

תקציר קצר

EIP-7702 מאפשר לחשבון חיצוני (EOA) קיים להציב סמן שמצביע לקוד שנפרס. הכתובת והמפתח נשארים, אך קריאות לחשבון עשויות להריץ את הקוד בהרשאת החשבון. התקן אינו מבטיח הרשאות מוגבלות או בטיחות. לפני חתימה יש לבדוק את קוד היעד ואת מי ששולט בו.

EIP-7702 משנה את מסלול הביצוע, לא את המפתח

EOA רגיל חותם על עסקאות במפתח פרטי ואין לו קוד בר־הרצה בכתובת שלו. EIP-7702 מאפשר להפנות אותו לקוד שכבר נפרס בכתובת אחרת ולהריץ אותו בהקשר של החשבון. לכן הכתובת, היתרה והאחסון שייכים לחשבון המאציל, אף שהקוד נמצא במקום אחר. אין כאן מעבר לכתובת חוזה חדשה או החלפת מפתח.

מפרט EIP-7702 מגדיר עסקת set-code מסוג 4 ורשימת הרשאות. גם מדריך Pectra של Ethereum.org מתאר הפניה לקוד שנפרס. הכיתוב "חשבון חכם" בארנק אינו מגלה את כללי האימות, השחזור או הקוד בפועל. בדקו מי יכול לשנות את הקוד ומה הוא יכול לעשות לנכסים ולאחסון של החשבון.

עסקת type-4 כוללת רשימת הרשאות שנחתמת בנפרד

עסקת set-code מזוהה בבייט 0x04. כל רשומת הרשאה כוללת מזהה שרשרת, כתובת קוד, nonce של החשבון המאשר וחתימתו. החשבון המאשר חותם על ההרשאה, והשולח חותם בנפרד על העסקה החיצונית; אלה יכולים להיות חשבונות שונים.

מזהה השרשרת מגביל בדרך כלל את ההרשאה לשרשרת אחת. הערך 0 מאפשר תחולה רחבה יותר בשרשראות התומכות ב-EIP-7702, אך אינו מבטיח הצלחה: גם ה-nonce ומצב החשבון חייבים להתאים. בדקו את הרשת, החשבון והכתובת המלאה במסך החתימה מול סייר בלוקים אמין. רשומה עשויה להידלג אם האימות נכשל.

תיעוד העסקאות של Ethereum.org מתאר את רשימת ההרשאות. לעסקה החיצונית עדיין יש תנאי גז ומשלם עמלה. type-4 שונה מ-UserOperation ומ-paymaster של ERC-4337; ראו מדריך החשבונות החכמים.

סמן ההאצלה מפנה לקוד ואינו מכיל אותו

סמן הקוד מורכב מהתחילית 0xef0100 ומכתובת היעד. הלקוח מזהה את הסמן וטוען את קוד היעד בזמן קריאה. לכן כתובת החשבון וכתובת הקוד שונות. הקוד נלקח מהשרשרת הנוכחית; אותה כתובת עשויה להכיל קוד שונה או שום קוד בשרשרת אחרת.

הקוד המאוצל רץ בהקשר החשבון ויכול להשתמש באחסון שלו. לפי הלוגיקה, הוא עשוי להעביר ETH או אסימונים, לקרוא לחוזים חיצוניים ולשנות ערכים שמורים. EIP-7702 אינו מוסיף מעצמו הגבלה כמו "רק האסימון הזה". אם היעד הוא proxy, בדקו את מנהל השדרוג ואת סמכויותיו.

לקוד המאוצל עשויות להיות סמכויות רחבות בחשבון

בדיקה לקויה עלולה לאפשר העברת נכסים, אישורי אסימונים, קריאות חיצוניות שרירותיות או שינויים באחסון. שיקולי האבטחה של EIP מדגישים הגנה מפני replay וקישור היעד, calldata, ערך ETH ותנאי הגז לחתימה. בלעדיהם נותן חסות עלול לשלוח קריאה אחרת או לגרום לכשל.

בדקו אילו חוזים החשבון יכול לקרוא, כיצד מאומתות חתימות, מי מחזיק בסמכויות חירום או שדרוג והאם הקוד שנפרס תואם למקור מאומת. תג ביקורת אינו מוכיח שהכתובת והגרסה המסוימות שבבקשה נבדקו. בעסקה משולבת של אישור אסימון והחלפה, קראו את שתי הקריאות והגבילו את האישור לסכום הנחוץ.

כשל בעסקה החיצונית עשוי להשאיר את ההאצלה פעילה

EIP-7702 מעבד את רשימת ההרשאות לפני ביצוע העסקה החיצונית. המפרט אומר שסמני האצלה שכבר עובדו אינם מתגלגלים לאחור אם הביצוע נכשל או עושה revert. לכן הודעת כשל אינה אומרת שמצב החשבון חזר לקדמותו. בדקו בנפרד את הקבלה ואת קוד החשבון הנוכחי.

הרשאה עשויה להתקבל בעוד קריאת אתחול מאוחרת נכשלת, וכך להשאיר האצלה פעילה בלי שההגדרה הושלמה. לפני ניסיון חוזר, השוו את מזהה העסקה, החשבון המאשר, nonce ומצביע הקוד; ייתכן שה-nonce השתנה והחתימה הקודמת אינה תקפה.

מחיקת האצלה אינה מנקה מצבים אחרים

הרשאה חדשה יכולה להפנות לקוד אחר. הרשאה לכתובת האפס מוחקת את סמן ההאצלה ומחזירה את הקוד של החשבון למצב ריק. היא אינה מוחקת אחסון, allowance בחוזה ERC-20, העברות שהושלמו או שינויים בחוזים חיצוניים. יש לבדוק ולבטל אישורי אסימונים בנפרד.

קוד חדש עשוי לפרש אחרת אחסון ישן. בדקו את פריסת האחסון ותוכנית המעבר. ראו מדריך האישורים וה-allowance של אסימונים. אם המפתח או משפט השחזור נחשפו, מחיקת הקוד אינה משחזרת את המפתח; עיינו במדריך שחזור הארנק.

בדקו שרשרת, יעד ומצב לאחר כשל לפני חתימה

ודאו בתיעוד הרשמי של הארנק שהוא תומך ב-EIP-7702 ברשת הנבחרת. בדקו מזהה שרשרת, חשבון, כתובת יעד מדויקת, קוד מאומת ומנהל proxy. הבחינו בין חתימת ההרשאה לבין שולח ומשלם העמלה של העסקה החיצונית; חסות אינה הופכת קוד לבטוח.

אם ההאצלה פעילה, בדקו את הסמן וכתובת הקוד הנוכחיים, לא רק סטטוס עסקה. אם אינם צפויים, עצרו קריאות ואישורים נוספים. לפרטי גז עיינו במדריך עמלות הגז של Ethereum; ל-nonce ולעסקאות ממתינות, במדריך העסקאות הממתינות.

הפרידו בין יכולות הפרוטוקול להבטחות הארנק

EIP-7702 מגדיר פורמט עסקה שמחבר EOA לקוד שנפרס. איגוד פעולות, חסות לעמלות, הרשאות session ושחזור תלויים בקוד ובשירותים מסוימים. הודעת Pectra mainnet של Ethereum Foundation מתארת החלפה או ביטול של הרשאה; UserOperation ו-paymaster של ERC-4337 הם מנגנון אחר.

הכיתוב "חשבון חכם" אינו מגלה מי מחזיק במפתח, מי יכול לשדרג קוד או לשנות שחזור. בדקו יישום, הגדרות ותמיכה בארנק לפני שינוי חשבון שמכיל נכסים. המדריך מסביר את המכניקה ואינו ממליץ על ארנק או האצלה מסוימים.

שאלות נפוצות

Q1האם EIP-7702 הופך EOA לארנק חוזה חכם רגיל?

לא. הוא מאפשר להאציל קריאות לקוד, אך אינו מוסיף אוטומטית מדיניות ארנק, שחזור או הרשאות מסוימות.

Q2האם שתי החתימות זהות?

לא. החשבון המאשר חותם על יעד, מזהה שרשרת ו-nonce; השולח חותם בנפרד על העסקה החיצונית.

Q3האם מחיקת ההאצלה מבטלת אישורי אסימונים?

לא. חוזה האסימון שומר allowance בנפרד. בדקו ובטלו אותו דרך החוזה או זרימת ארנק אמינה.

Q4מה לבדוק ביעד ההאצלה?

בדקו כתובת וקוד בשרשרת הנוכחית, מקור מאומת, מנהל שדרוג והרשאות על נכסים ואחסון החשבון.

מקורות וקריאה נוספת

דיווח על בעיה

נכין אימייל עם קישור למאמר הזה. Mark יקבל את הדיווח רק לאחר שתשלחו אותו

בדיקה מהירה

סיימת לקרוא? בדוק את עצמך ב־3 שאלות

שאלה 1 / 3

שאלה 01

מה עשוי לקרות אם הביצוע החיצוני נכשל אחרי עיבוד הרשאה תקפה?

בחר תשובה כדי לראות את ההסבר

מילון מונחי אופציות

מכניקת האופציותמהי הקצאת אופציה?הבינו כיצד הקצאת אופציה הופכת קול או פוט בשורט להתחייבות על מניות, מתי היא יכולה להתרחש וכיצד להתכונן עם מזומן ומניותמספר חוזים מותר אינו זהה לתקציב סיכוןמגבלות פוזיציה באופציות לעומת מגבלות מימוש: הסברלמדו כיצד מגבלות פוזיציה באופציות נסחרות שונות ממגבלות מימוש, מדוע צירוף פוזיציות באותו צד ודיווח חשובים, ומדוע מרג׳ין או כוח קנייה אינם מראים אם כמות מסוימת מותרתמסחר באופציותמהו מרווח bid-ask באופציה?למדו כיצד bid, ask, מחיר האמצע, רוחב המרווח, הגודל וסוג ההוראה משפיעים על המחיר שתוכלו לקבל או לשלם בפועלמסחר באופציותמה מלמדים עניין פתוח ונזילות על אופציה?הבינו עניין פתוח, נפח, מרווח ביד־אסק, גודל מוצג ואיכות ציטוט לפני שתעריכו את הנזילות האמיתית של אופציהפקיעהמהן אופציות עם אפס ימים לפקיעה (0DTE)?למדו מהן אופציות עם אפס ימים לפקיעה, מדוע שחיקת הזמן והנזילות משתנות במהירות וכיצד לבדוק את מועד החיתוך של המסחר האחרון, את הסליקה ואת כללי הברוקר לפני הכניסה