ERC 20 לעומת ERC 223 לעומת ERC 777: השוואה בין תקני אסימון אתריום

האם אתה מפתח Ethereum שעובד על פרויקט קריפטו? סביר להניח שאתה מפתח את האסימון החדש באמצעות תקן ERC20, עם זאת, עליך לדעת את מאמצי השיפור. זה יעזור לך לקבל את ההחלטה הנכונה באיזה תקן אסימון ERC להשתמש, ולכן אסביר במאמר זה על ERC777 לעומת ERC223 לעומת ERC20..

אתחיל בהשוואה עם הסבר על ERC 20 ובהמשך אסביר את החסרונות. ואז אסביר את מאמצי השיפור שעשתה קהילת את’ריום באמצעות ERC 777 ו- ERC 223.

השוואה בין ERC20 לעומת ERC223 לעומת ERC777

ERC 20 לעומת ERC 223 לעומת ERC 777

מה זה ERC 20?

לפני שאשווה בין ERC 20 לעומת ERC 223 לעומת ERC 777, עלי להסביר מהו ERC, ומה מייצג ERC20. מפתחי אתריום מגישים לעתים קרובות ‘הצעות לשיפור אתריום’ (EIP). קהילת Ethereum בודקת EIPs, מעירה הערות שעשויות לגרום לעיבוד חוזר.

לאחר שקהילת את’ריום מקבלת EIP, היא הופכת לסטנדרט, ואז קראנו לה ‘בקשת אתריום לתגובות’ (ERC). ERC 20 הוא תקן כזה לאסימוני אתריום.

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

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

קרא עוד על תקן ERC 20 ב”מדריך למתחילים: מהו ERC20? “.

מהן הפונקציות הסטנדרטיות של ERC 20?

תקן ERC 20 קובע את הפונקציות הבאות בעת פיתוח אסימון אתריום:

  1. קבל את סך כל האסימונים: עליך להשתמש בפונקציה “totalSupply”.
  2. אחזר את יתרת האסימונים של חשבונות בעלים אחרים.
  3. שלח אסימונים לחשבון בעלים אחר: עליך להשתמש בפונקציה “העברה”. חשבונות אלה הם חשבונות EOA.
  4. שלח אסימונים מכתובת אסימון אחת לאחרת. כתובות אסימון הן כתובות חוזיות ועליך להשתמש בפונקציה “transferFrom”.
  5. אפשר לחשבון אחר למשוך כספים מחשבונך שוב ושוב, במסגרת מגבלה מוגדרת. עליך להשתמש בפונקציה “אשר” לשם כך.
  6. מבלים יכולים להחזיר לבעלים אסימונים שאינם בשימוש, באמצעות פונקציית “קצבה”.

באג ERC 20 שורף אסימונים


למרות שתועד מאוד ומיושם בסך הכל, בתקן ERC 20 יש באג, וזה כבר שרף אסימונים בשווי מיליוני דולרים אמריקאים. פונקציית “העברה” מאפשרת לך רק לשלוח אסימונים לבעלים אחר, כלומר לחשבון EOA.

אם ברצונך לשלוח כספים לחשבון חוזה חכם, כלומר לצורה האחרת של חשבונות Ethereum, עליך להשתמש בשילוב “אשר” ו- “transferFrom”. אם תשלח אסימונים לחוזה חכם באמצעות פונקציית “העברה”, תראה עסקה מוצלחת, אך החוזה לעולם לא יקבל את האסימונים..

זה שורף את האסימונים האלה לנצח, ואתה לא יכול לאחזר אותם. כמה משתמשים השתמשו בפונקציה הלא נכונה כדי לשלוח אסימונים לחוזים חכמים ואיבדו את האסימונים שלהם לתמיד!

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

תקן האסימון ERC223: הצעה להחלטה לבאג ERC 20

מפתח אתריום העונה לשם המשתמש Reddit “Dexaran” הציע את ה- EIP 223 עם פתרון לבאג ERC 20 זה. לפני שאשווה בין ERC 20 לעומת ERC 223 מול ERC 777, אסביר תחילה את הצעתו.

תקן האסימונים ERC223 הוא עדיין טיוטה, וקהילת את’ריום עדיין לא יישמה אותו. היא מציעה את הפיתרון הבא:

  1. היא רואה עסקה בבלוקצ’יין את’ריום כאירוע ומשתמשת במושג ‘טיפול באירועים’.
  2. אם משתמשים משתמשים בפונקציית “העברה” כדי לשלוח אסימונים לחוזה חכם, זה יזרוק שגיאה, ובעקבות כך יבטל את העסקה.
  3. המשתמש משלם את “מחיר הגז” של את’ריום, אך לא מאבד שום אסימון.
  4. הצעה זו מוסיפה פרמטר נוסף לפונקציה “העברה”, כדי לבדוק אם הכתובת המקבלת היא חשבון חוזה.
  5. אם הוא מגלה שכתובת הנמען היא חשבון חוזה ולא חשבון EOA, היא מניחה שהחוזה יישם “tokenFallback”.
  6. פונקציית “tokenFallback” מאפשרת להחזיר את האסימון בחזרה, כך שהעסקה לא שורפת שום אסימון.

בעוד ERC223 פותר את הבאג ERC 20 במידה רבה, יש חולשה בהצעה זו. אם לחוזה החכם המקבל אין פונקציית “tokanFallback”, אז הפונקציה “Fallback” תפעל, וכתוצאה מכך אובדן אסימונים.

רק כמה פרויקטים משתמשים ב- ERC 223, דוגמה לכך היא פרויקט AmigoCoin. תוכל לקרוא פרטים נוספים על הצעת ERC 223 בכתובת מאגר GitHub EIP 223. תקן זה נקרא גם ERC 23.

תקן ERC777: הצעה משופרת לפתור את הבאג ERC 20

הצעה משופרת למניעת אובדן אסימונים עקב הבאג של ERC 20 היא ההצעה של ERC 777. הוא כולל את הדברים הבאים:

  1. פונקציות חדשות: “שלח” במקום “העברה”, “authoriseOperator” במקום “לאשר” ו- “tokensReceived” במקום “tokenFallback”.
  2. כל כך הרבה זמן לפלטפורמת Ethereum היה חסרון מכיוון שמפתחים לא הצליחו לזהות אילו פונקציות מיישמים חוזים חכמים. ERC 820, כלומר תקן אחר, יישם רישום מרכזי של חוזים ברשת, ומכאן שניתן כעת לדעת את הפונקציות והממשקים שיש לחוזה חכם. ERC777 משתמש בו כדי לזהות ממשקים שבהם חוזה חכם משתמש. כעת מפתחים יידעו מראש אם לחוזה יש את הפונקציות הנדרשות לקבלת אסימונים שנשלחו באמצעות פונקציות מסוימות.
  3. ERC 777 מאפשר ‘רישום לבן’ של מפעילים, כך שמשתמשי רשת Ethereum יוכלו כעת לדחות תשלום מכתובות ברשימה השחורה. ניתן לרשום כתובת מסיבות רבות, למשל ניסיון לפרוץ את הרשת, היסטוריה של פעילויות לא חוקיות.

ניתן לראות בהשוואה בין ERC 777 לעומת ERC 20 לעומת ERC 223 כיצד ה- ERC777 מספק אפשרויות מרובות למפתחים כדי שיוכלו למנוע אובדן אסימונים. עם זאת, לתקן ERC777 יש גם כמה סיכונים, כדלקמן:

  1. יש מפתחי אתריום שמאמינים שהפונקציה “authoriseOperator” הוצאה משימוש, ולכן מפתחים לא צריכים להשתמש בה. פונקציה זו תדרוש גם יותר “גז” והיא תפעיל עומס נוסף על הרשת.
  2. השימוש ברישום מרכזי של חוזים חכמים כדי לחפש את הממשקים שבהם חוזה משתמש הוא מסוכן. לרישום מרכזי עשויים להיות באגים, והכל תלוי בו ישפיע לרעה.

ERC777 הוא עדיין טיוטה, עם זאת ORCA אסימון משתמש בו. קרא את ההצעה ב מאגר EIP 777 GitHub.

ERC 777 מול ERC 20 לעומת ERC 223: הגנה על כספים חשובה

בעוד שרק הזמן יגיד איזה תקן המערכת האקולוגית של את’ריום תקבל כ”סטנדרט הזהב “, אתה כמפתח צריך לזכור כי באחריותך להגן על כספי הסוחרים והמשקיעים. אם תנקוט עמדה אחראית כזו, סביר להניח שתסכים שלמרות המורכבות, יש ליישם ולאמץ את תקן ERC 777.

הערה: אם ברצונך ללמוד עוד על כמה תקני ERC עיקריים, קרא את “הרשימה האולטימטיבית של תקני ERC שאתה צריך לדעת”.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map