השוק עכשיו
ביטקוין—אתריום—סולנה—ריפל—BNB—
מתעדכן כל דקה · 24 שעות
טכנולוגיה
טכנולוגיה5 דק' קריאה

חתימה עיוורת: קרן אתריום בוחנת דרך לכפות את תוצאת העסקה מראש

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

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

לפי פרסום בבלוג של קרן אתריום, יוזמת האבטחה שלה — Trillion Dollar Security, שנועדה להכשיר את הרשת לשמש כשכבת מימון בהיקפי טריליונים — זיהתה את «החתימה העיוורת» ואת אי-הוודאות בתוצאת העסקה כסיכון מובהק בחוויית המשתמש. הכיוון שהקרן מציגה כצעד הבא נקרא הצהרות עסקה נטיביות (native transaction assertions): מכניזם שיאפשר לצרף לעסקה תנאים מחייבים על התוצאה הסופית שלה, לצד המאמץ המתמשך ב«חתימה קריאה» (Clear Signing).

הפער בין האישור לבין התוצאה

כדי להבין במה מדובר, כדאי לפרק מה בעצם נחתם. עסקה באתריום אינה מצהירה «העבר לי מאה דולר של מטבע יציב». היא מצהירה: «קרא לחוזה שבכתובת הזאת, עם סדרת הפרמטרים הזאת, ואני מוכן לשלם עד סכום כך-וכך בעמלות». מה שייצא מהקריאה הזאת תלוי במצב הרשת ברגע הביצוע — ולא ברגע החתימה. בין השניים יכולות לחלוף שניות, ובשניות האלה המחירים בבריכת הנזילות משתנים, עסקאות אחרות נדחפות לפניכם בתור, והחוזה עצמו עשוי להתנהג אחרת מכפי שצפוי.

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

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

חתימה קריאה — תיקון חשוב, אך חלקי

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

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

העברת ההבטחה אל תוך העסקה

הרעיון של הצהרות עסקה נטיביות הוא להפוך את הציפייה לתנאי. בניסוח גס: החותם מצרף לעסקה שלו קביעה מחייבת — למשל שבתום הביצוע היתרה שלו במטבע היציב תגדל לפחות בסכום מסוים, או שאסור שהרשאה חדשה תיווצר. אם התנאי אינו מתקיים, העסקה אינה מתבצעת חלקית ואינה «מצליחה בטעות» — היא נדחית, והמשתמש משלם לכל היותר את עמלת העיבוד.

ההבדל מהקיים אינו טכני בלבד. היום כלי הגנה מסוג זה נבנים בשכבות שמעל: ארנקים חכמים, חוזי «נתב» שבודקים את התוצאה, הגדרת סטייה מרבית בממשק של בורסה מבוזרת. כולם עובדים, אבל כולם מרצון ובנפרד — כל יישום ממציא את ההגנה שלו מחדש, בטיב משתנה, וההגנה חלה רק אם המשתמש הגיע דווקא לממשק שטרח לבנות אותה. המילה «נטיביות» בשם ההצעה היא הנקודה: הכוונה היא להעמיד את התנאי ברמת הפרוטוקול, כך שהאכיפה תהיה אחידה ואינה תלויה בטוב ליבו של היישום שבו השתמשתם.

היכן בדיוק עומד הדבר

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

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

מילון קצר

  • חתימה עיוורת — אישור עסקה שתוכנה אינו מוצג למשתמש בצורה שהוא מבין, כך שהוא סומך על הממשק ולא על מה שראה.
  • חתימה קריאה (Clear Signing) — הצגת הפעולה בשפה ברורה לפני האישור, כדי שהמשתמש יידע על מה הוא חותם.
  • הצהרת עסקה (transaction assertion) — תנאי על התוצאה הסופית, שאם אינו מתקיים העסקה נדחית.
  • הרשאת משיכה (approval) — אישור שנותנים לחוזה למשוך מהארנק מטבעות מסוג מסוים, לעתים בלי תקרה ובלי תפוגה.
  • סטיית מחיר (slippage) — הפער בין המחיר שהוצג בעת ההמרה למחיר שהתקבל בפועל בעת הביצוע.

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

מקורות: Ethereum Foundation Blog

המידע בכתבה נועד להרחבת הדעת בלבד ואינו מהווה ייעוץ השקעות או תחליף לייעוץ מקצועי.

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

עוד בנושא

לכל החדשות
טכנולוגיה

פרויקט EEZ מדווח על עסקה אטומית ראשונה בין רשת אתריום הראשית לרולאפ

סכום של 0.001 ETH עבר בעסקה אחת שבה שני הצדדים מצליחים או נכשלים יחד. מאחורי הניסוי הקטן עומדת בעיה גדולה: הפיצול שנוצר באתריום בין הרשת הראשית לשכבות ההרחבה.

3 דק' קריאה
טכנולוגיה

את'ריום בודקת מגבלת גז של 200 מיליון — ברשת הניסיון Sepolia

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

3 דק' קריאה
טכנולוגיה

סולנה משיקה תקן סליקה פתוח למוסדות — עם קלט מג'יי.פי מורגן

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

3 דק' קריאה