מפתחות הפעלה לאפליקציות קריפטו במובייל: חתימה אוטומטית עם מגבלות
השקתם משחק בלוקצ'יין או אפליקציית DeFi. משתמשים מתלוננים: כל פעולה דורשת ביומטריה. ההמרה יורדת. חלק מהקהל עוזב. הפתרון—מפתחות הפעלה לפי תקן ERC-4337. יישמנו אותם ביותר מ-10 פרויקטים עם Account Abstraction. זמן החתימה הממוצע ירד מ-5 שניות ל-1 שנייה, ועלויות הגז ירדו בעד 70%.
לפי Account Abstraction (ERC-4337), מפתחות הפעלה הם מפתחות קריפטוגרפיים זמניים עם הרשאות מוגבלות. הם חותמים על עסקאות אוטומטית ללא אישור חוזר של המפתח הראשי. מדיניות ההרשאות קובעת מגבלות: חוזה יעד, פונקציה, ערך מקסימלי. גם אם מפתח הפעלה דולף, תוקף לא יכול למשוך את כל הכספים—רק מה שהמדיניות מאפשרת. אנו מציעים אינטגרציה של מפתחות הפעלה לאפליקציית המובייל שלכם מאפס או על גבי חשבון חכם קיים. אנו מעריכים את הפרויקט שלכם ביום עסקים אחד; יישום טיפוסי אורך 3 עד 5 ימים.
איך מפתחות הפעלה מפחיתים עלויות גז?
השוואה בין חתימה רגילה למפתחות הפעלה:
| פרמטר | חתימה רגילה | מפתחות הפעלה |
|---|---|---|
| אישור לקוח | כל עסקה | רק הראשונה (enableSessionKey) |
| זמן המתנה | 5–10 שניות | 1–2 שניות (חתימה אוטומטית) |
| גז לכל עסקה | גז מלא | UserOperation + Bundler (עם Paymaster — 0) |
| אבטחה | מקסימלית | גבוהה (הרשאות מוגבלות) |
מפתחות הפעלה מהירים פי 3–5. עם Paymaster, המשתמש לא משלם גז כלל, מה שמפחית עלויות בעד 70%.
מדיניות הרשאות: המפתח לאבטחה
מדיניות ההרשאות היא חוזה שמאמת כל UserOperation. היא מגדירה את חוזה היעד, הפונקציה ומגבלת הערך. בלעדיה, מפתח הפעלה יהיה עותק מלא של המפתח הראשי. עם זאת, גם אם הוא נפרץ, התוקף לא יכול להעביר כספים מעבר למדיניות.
ארכיטקטורה: ERC-4337 + EIP-7715
מפתחות הפעלה מיושמים ברמת החשבון החכם (Account Abstraction). אפליקציית המובייל שולחת userops במקום עסקאות ישירות. מחסנית:
- permissionless.js או @zerodev/sdk ליצירת חשבון חכם
- @zerodev/session-key לניהול הפעלות
- Bundler (Pimlico, Stackup) לשליחת UserOperations
מפתח ההפעלה הוא זוג מפתחות אפמרי (secp256k1) שנוצר במכשיר. החלק הפרטי נשאר ב-Keychain/KeyStore. המפתח הציבורי ומדיניות ההרשאות נרשמים דרך enableSessionKey, נחתמים פעם אחת עם המפתח הראשי (עם ביומטריה).
פרטים טכניים: יצירת מפתחות ב-iOS/Android
ב-iOS, השתמשו ב-SecKeyCreateRandomKey עם תכונה kSecAttrKeyType: kSecAttrKeyTypeECSECPrimeRandom. ב-Android, השתמשו ב-KeyPairGenerator.getInstance("EC", "AndroidKeyStore") עם secp256r1. המפתח הפרטי לעולם לא עוזב את ה-Keychain/KeyStore.
מה קורה אם מפתח הפעלה נפרץ?
תוקף שמשיג את המפתח הפרטי של ההפעלה יכול לחתום רק על פעולות מורשות—לדוגמה, playRound עם מגבלת 0.01 ETH. הוא לא יכול למשוך כספים ראשיים. המשתמש יכול לבטל את מפתח ההפעלה בכל עת דרך revokeSessionKey.
אחסון ומחזור חיים במובייל
המפתח הפרטי של ההפעלה חי ב-Keychain עם kSecAttrAccessibleWhenUnlockedThisDeviceOnly—אין צורך בביומטריה כי המפתח מוגבל על ידי מדיניות. זמן החיים של ההפעלה מוצג למשתמש: "הפעלה פעילה 45 דקות מתוך 60". ביטול ידני נעשה דרך revokeSessionKey UserOperation שנחתם עם המפתח הראשי. כשהאפליקציה נסגרת, המפתח מתאפס בזיכרון אך נשאר ב-Keychain עד תום זמן החיים או הביטול.
השוואה לגישות חתימה אוטומטית אחרות
| גישה | אבטחה | גמישות | עלות גז |
|---|---|---|---|
| Approve + permit | בינונית (אישור כל העסקאות) | נמוכה | גבוהה (כל אישור) |
| Meta-transactions | גבוהה | בינונית | בינונית (relayer) |
| מפתחות הפעלה (ERC-7715) | גבוהה (הרשאות מוגבלות) | גבוהה | נמוכה (Paymaster) |
מפתחות הפעלה מנצחים בכל הפרמטרים לאפליקציות עם עסקאות מיקרו תכופות.
איך ליישם מפתחות הפעלה: שלב אחר שלב
- צרו חשבון חכם ERC-4337 (אם אין)
- צרו זוג מפתחות אפמרי במכשיר (secp256k1, אחסון ב-Keychain/KeyStore)
- צרו
UserOperation enableSessionKeyשנחתם עם המפתח הראשי + ביומטריה - הגדירו מדיניות הרשאות: יעד, פונקציה, valueLimit, validUntil
- שלבו עם Bundler (Pimlico/Stackup) ו-Paymaster (Pimlico Verifying Paymaster)
- בנו ממשק משתמש להצגת הפעלות פעילות, זמן חיים וביטול ידני
- בדקו ופרסו
מה כלול בעבודה
- פיתוח חשבון חכם על ERC-4337 (אם אין)
- יצירת זוג מפתחות הפעלה (secp256k1) במכשיר
- מדיניות הרשאות עם יעד, valueLimit, validUntil
- אינטגרציית Bundler (Pimlico/Stackup)
- חיבור Paymaster (Pimlico Verifying Paymaster / Biconomy)
- ממשק משתמש לניהול הפעלות (הצגת זמן חיים, ביטול ידני)
- תיעוד API ודוגמאות קוד
- הדרכה לצוות שלכם
דברים שיש לקחת בחשבון
עמלות Bundler: UserOperations דרך Bundler עולות גז. להפעלות עם עסקאות תכופות, השתמשו ב-Paymaster—חוזה חכם שמכסה גז עבור המשתמש. אינטגרציה עם Pimlico Verifying Paymaster או Biconomy היא סטנדרטית.
אי אפשר ליצור מפתח הפעלה ללא אינטרנט—enableSessionKey חייב להישלח לרשת. שמרו sessionKeyData במטמון מקומי ואפשרו שימוש חוזר עד תום זמן החיים ללא בקשה נוספת.
ציר זמן: 3 עד 5 ימי עסקים: חשבון חכם ERC-4337 (אם אין), זוג מפתחות הפעלה, מדיניות הרשאות, אינטגרציית Bundler/Paymaster, ממשק הפעלות. אם כבר קיים חשבון חכם, 2 עד 3 ימים.
צרו קשר לייעוץ—אנו מבטיחים אבטחה ואמינות. הזמינו ביקורת טכנית לפרויקט שלכם כדי לראות איך מפתחות הפעלה יכולים להאיץ את האפליקציה שלכם.







