המוצק עשה דרך ארוכה מאז הוצע לראשונה בשנת 2014 ואחר כך פותח על ידי צוות המוצקות של את'ריום. ישנם מאות אלפי מפתחים המשתמשים בשפת התכנות ליצירת שירותים מבוססי בלוקצ'יין למספר גדל והולך של מקרי שימוש.
מאמר זה מסביר מהי מוצקות וכיצד משתמשים בה במערכת האקולוגית של את'ריום. מאמר זה מיועד עבורך אם אתה מעוניין ללמוד עוד על פעולותיה הפנימיות של שפת התכנות מבוססת הבלוקצ'יין.
מהי מוצקות?
סולידיות היא שפת תכנות מונחית עצמים וברמה גבוהה המשמשת ליצירת חוזים חכמים הממכרים עסקאות בבלוקצ'יין. לאחר שהוצע בשנת 2014, השפה פותחה על ידי תורמים לפרויקט Ethereum. השפה משמשת בעיקר ליצירת חוזים חכמים על את בלוקצ'יין את'ריום וליצור חוזים חכמים על חסימות אחרות.
מוצקות דומה לאחת משפות התכנות הנפוצות ביותר, JavaScript. זה יכול להיחשב כניב של JavaScript. משמעות הדבר היא שאם אתה מבין ב- JavaScript, זה יכול להיות קל להרים את המוצקות. מוצקות גם חולקת מאפיינים דומים לשפות התכנות C ++ ופייתון.
כשפה ברמה גבוהה, סולידיות מבטל את הצורך להקליד קוד באפסים ובאפסים. זה מקל על בני האדם לכתוב תוכניות בדרכים בהן קל יותר להבין אותם, באמצעות שילוב של אותיות ומספרים.
המוצקות מוקלדת באופן סטטי, עם תמיכה בירושה, ספריות וסוגים מורכבים המוגדרים על ידי המשתמש. מכיוון שהקשיות מוקלדת באופן סטטי, המשתמש מציין הרבה כל משתנה. סוגי נתונים מאפשרים למהדר לבדוק את השימוש הנכון במשתנים. סוגי נתוני מוצקות מסווגים בדרך כלל כסוגי ערך או סוגי התייחסות.
ההבדל העיקרי בין סוגי הערכים וסוגי ההתייחסות ניתן למצוא באופן הקצאתם למשתנה ומאוחסן ב- EVM (Ethereum Virtual Machine). בעוד ששינוי הערך במשתנה אחד מסוג הערך אינו משפיע על הערך במשתנה אחר, כל מי שמתייחס לערכים שהשתנו במשתנים מסוג הייחוס עשוי לקבל ערכים מעודכנים.
איך עובד המוצקות?
היופי במערכת האקולוגית של Ethereum הוא שכל כך הרבה מטבעות קריפטוגרפיים שונים ויישומים מבוזרים יכולים להשתמש בה. חוזים חכמים מאפשרים לבצע טכנולוגיות ייחודיות על Ethereum לכל מיני עסקים וארגונים.
מדי שנה מוציא העולם מיליארדי דולרים על פתרונות בלוקצ'יין. רבים מהפתרונות הללו נוצרים באמצעות Solidity. ניתן לחשוב על חוזים חכמים שנבנו באמצעות סולידטי כדרך לאוטומציה של תהליכים עסקיים ולא עסקיים בין אנשים שונים. זה מבטיח שאנשים שעושים עסקאות בבלוקצ'יין לא יצטרכו לדאוג לסיכונים כמו הונאה או אי יכולת להשתמש באותו מטבע.
אחד המרכיבים המרכזיים המאפשרים ביצוע קוד סולידיטי הוא ה- EVM. ה- EVM מתואר כמחשב וירטואלי בבלוקצ'יין שהופך את הרעיונות של אנשים לקוד שמריץ יישומים בבלוקצ'יין.
מתחת למכסה המנוע, Solidity יוצר קוד ברמת המכונה שמבוצע ב- EVM. מהדר משמש לפירוק קוד קריא אנושי ברמה גבוהה, שהוא הופך להוראות שהמעבד קורא. פלטפורמות שונות מספקות אוסף סולידטי בחינם, כולל מהדר המקוון Remix ומהדר דמוי פקודה שהורד במחשב האישי.
לחוזים חכמים של EVM יש כמה מגבלות שצריך לטפל בהן. אחד המשמעותיים שבהם הוא הגישה המוגבלת לפונקציות ספרייה שימושיות לניתוח מבני JSON או חשבון נקודה צפה.
פונקציות ציבוריות ופרטיות
פונקציות ציבוריות דומות לממשקי API שכולם בעולם יכולים לגשת אליהם. כל אחד יכול להתקשר אליהם בקוד שלהם. פונקציות ציבוריות מיועדות, במקרים רבים, לתהליכים משותפים בפלטפורמה שכל המשתמשים משתמשים בה.
לדוגמה, ניתן לבצע פונקציה ציבורית שתאפשר לכל המשתמשים בפלטפורמה לבדוק את יתרת החשבון שלהם. אחת הדרכים הנפוצות ביותר לניצול חוזים חכמים היא באמצעות פונקציות ציבוריות.
קָשׁוּר: מהו בלוקצ'יין וכיצד הוא עובד?
אמנם יכול להיות קל לכתוב חוזים חכמים עם Solidity, אך לעיתים קרובות קשה מאוד לכתוב אותם בצורה מאובטחת. לדוגמה, אם פונקציית המשיכה בחוזה חכם אינה מאובטחת, תוקף יכול לתפעל את הפונקציה הפגיעה כדי לרוקן חשבון כספים.
תוקף יכול לקרוא לפונקציית משיכה כדי לשלוח כסף לחשבון אחר, באמצעות לולאה החוזרת שוב ושוב על פונקציית המשיכה.
ניתן לחייג לפונקציות פרטיות רק מתוך החוזים. הם מכילים הוראות שניתן לבצע רק לאחר שקוראים להם פונקציות אחרות, בשרשרת. זה מקשה על מניפולציה של הקוד על ידי שחקנים זדוניים.
לוגיקה של תקנים וקודים
מתעוררים סטנדרטים שונים שקובעים כיצד משתמשים בחוזים חכמים מסוג Solidity לבניית יישומים ב- Ethereum. תקנים אלה מכונים תקני ERC (Ethereum Request for Comments). הסטנדרטים מבוססים על מסמך המכיל הנחיות לגבי הפונקציות הנדרשות ומגבלות על אופן התנהגות הקוד.
תקני ה- ERC הקובעים כיצד פועלת סולידטי כוללים:
- ERC20
- ERC165
- ERC721
- ERC223
- ERC621
- ERC777
- ERC827
- ERC884
- ERC865
- ERC1155
ישנן דרכים שונות בהן ניתן להשתמש ב- Solidity כדי לגרום לחוזים חכמים לקיים אינטראקציה זה עם זה. ניתן להשתמש במוצקות גם להכנת הוראות ייעודיות לאופן שמירת הנתונים בחוזה החכם. ניתן להפריד את ההיגיון והנתונים בחוזים חכמים באמצעות Solidity. באמצעות חוזים חלופיים ניתן לשנות את ההיגיון של החוזה כדי לאפשר זאת.
חוסר שינוי
אי אפשר לשנות את קוד החוזה החכם לאחר שהוא נכתב והורכב. המשמעות היא שכל שורת קוד חייבת לעבוד כמתוכנן, אחרת יכולים להיות סיכונים חמורים לניצול הקוד.
קָשׁוּר: כיצד להפוך למתכנת בלוקצ'יין ולהתחיל להרוויח כסף גדול
מכיוון שבלוקצ'יין את'ריום אינו ניתן לשינוי, אי אפשר לשנות את הנתונים וההיגיון שנכתבים אליו. דרך לעקוף זאת היא להשתמש ב- proxy כדי להצביע על חוזה אחר המכיל היגיון עסקי בפועל. זה מאפשר תיקון באגים בזמן מימוש גרסה חדשה של החוזה.
עלויות דלק
יש עלויות נוספות שמשלמים עבור שימוש ב- Solidity במנה אתריום. חלק מהעלויות הנוספות מבוססות על מערכת הגז ב- Ethereum, הדורשת תשלום לכורים עבור אבטחת רשת הבלוקצ'יין כך שהקוד יוכל לפעול בבטחה עליה.
בעת כתיבת חוזים חכמים, חשוב לזכור כי עלויות הדלק יכולות לקבוע עד כמה ביצוע חוזה חכם. מאחר שמשלמים דמי גז עבור כל חריץ אחסון בו נעשה שימוש, פעולות המבוצעות באמצעות קוד סולידטי עולות דלק. קרוב לוודאי שלא נעשה שימוש בחוזה חכם שיקר להפעלתו לטווח הארוך.
אופטימיזציה של גז עוזרת להפחית את עלות הגז בעת ביצוע קוד המוצק. כמה מהשיטות הפופולריות ביותר לאופטימיזציה של גז כוללות שימוש בספריות ושימוש בפחות פונקציות. ספריות משמשות לעיתים קרובות לשמירת קוד בתים.
במקום להוסיף קוד בייט מיותר לחוזה החכם, ניתן להכניס את ההיגיון לספריות. זה עוזר לשמור על גודל החוזה החכם קטן. על ידי שימוש בפחות פונקציות, יש צורך בפחות bytecode, וגם הקושי בביקורת קוד מצטמצם.
כיצד ניתן להשתמש במוצקות באת'ריום?
המוצקות משמשת ליצירת חוזים חכמים עבור אסימונים פטרייניים ואסימונים שאינם פטרייתיים. תקנים שונים משמשים לבניית אסימונים שאינם פטריייים ואסימונים פטרייתיים במערכת האקולוגית של Ethereum.
אלה מאפשרים ליצור סוגים שונים של מקרי שימוש לאנשים המשתמשים בבלוקצ'יין. מוצקות מאפשרת לאנשים להשתמש באסימונים ו אסימונים שאינם פטריייים על את'ריום. החל מטביעת אסימונים שאינם פטרייתיים ועד הוספתם להפקת בריכות חקלאיות לצורך התעניינות נוספת, סוגים שונים של שימושים בטוקנים מתאפשרים על ידי את'ריום.
ארגונים אוטונומיים מבוזרים (DAO) מתאפשרים גם על ידי סולידיטי. DAO, שהוא סוג חדש של מבנה ארגוני מקוון, נכתב בעיקר ב- Solidity. DAOs מאפשרים לאנשים שונים להתכנס כחברים בפלטפורמה מקוונת בה הם מצביעים על החלטות המפתח של DAO.
המוצקות מאפשרת לבצע אוטומציה של תהליכים בתוך ה- DAO. דוגמאות לאוטומציה של תהליכים ב- DAO כוללים מתן הצבעות להחלטות מרכזיות והקצאת מוניטין לחברי DAO על תרומתם לקבוצה.
הגדרת תקנים עבור רשתות חסימות
מוצקות היא הרבה יותר משפת תכנות. הוא מגדיר סטנדרטים לעתידה של טכנולוגיית הבלוקצ'יין.
הודות למספר מפתחי קוד פתוח הפועלים לשיפור האבטחה והביצועים של Solidity, אלפי יישומים במערכת האקולוגית של Ethereum ממשיכים להיות תלויים בה עבור היישומים שלהם לְהַפְעִיל. מכיוון שנוצרים סטנדרטים חדשים לחוזים חכמים באת'ריום, השפה תהיה בטוחה יותר לשימוש.
האם אינטרנט מבוזר באמת אפשרי? מה הפירוש של ביזור וכיצד הוא ישמור עליכם?
קרא הבא
- הסבירו טכנולוגיה
- תִכנוּת
- אתריום
- בלוקצ'יין

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