מהי סולידיות וכיצד משתמשים בה לפיתוח חוזים חכמים?

מהי סולידיות וכיצד משתמשים בה לפיתוח חוזים חכמים?

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





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





כונן קשיח נייד לא מופיע

מהי סולידיות?

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





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

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



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

ניתן למצוא את ההבדל העיקרי בין סוגי ערך לסוגי התייחסות באופן הקצאתם למשתנה ומאוחסנים ב- EVM (Ethereum Virtual Machine). בעוד ששינוי הערך במשתנה אחד מסוג סוג ערך אינו משפיע על הערך במשתנה אחר, כל מי שמתייחס לערכים משתנים במשתנים מסוג הפניה עשוי לקבל ערכים מעודכנים.





כיצד עובדת סולידיות?

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

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





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

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

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

פונקציות ציבוריות ופרטיות

פונקציות ציבוריות דומות לממשקי API שכל אחד בעולם עשוי לגשת אליהם. כל אחד יכול לקרוא לו בקוד שלו. פונקציות ציבוריות מיועדות, במקרים רבים, לתהליכים משותפים בפלטפורמה שכל המשתמשים משתמשים בה.

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

קשורים: מהו בלוקצ'יין וכיצד הוא פועל?

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

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

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

תקנים והיגיון קוד

צצים סטנדרטים שונים הקובעים כיצד משתמשים בחוזים חכמים של סולידיות לבניית יישומים על Ethereum. תקנים אלה מכונים תקני ERC (Ethereum Request for Comment). התקנים מבוססים על מסמך המכיל הנחיות לגבי הפונקציות הנדרשות ומגבלות כיצד צריך להתנהג קוד.

תקני ERC הקובעים כיצד פועלת סולידיות כוללים:

  • ERC20
  • ERC165
  • ERC721
  • ERC223
  • ERC621
  • ERC777
  • ERC827
  • ERC884
  • ERC865
  • ERC1155

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

חוסר יכולת

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

קשור: כיצד להיות מתכנת בלוקצ'יין ולהתחיל להרוויח כסף גדול

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

כיצד לתקן קבצי mp4 פגומים

עלויות גז

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

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

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

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

כיצד ניתן להשתמש בסולידיות באת'ריום?

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

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

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

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

הגדרת תקנים לבלוקצ'יין

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

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

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל האם אינטרנט מבוזר באמת אפשרי? איך זה יכול לעבוד עם Blockchain

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

קרא הבא
נושאים קשורים
  • הסבר על הטכנולוגיה
  • תִכנוּת
  • אתריום
  • בלוקצ'יין
על הסופר קלווין אבון-אמו(48 מאמרים פורסמו)

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

עוד מאת קלווין אבון-אמו

הירשם לניוזלטר שלנו

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

לחצו כאן להרשמה