Ethereum: איך עובדים חוזים חכמים?

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

מהם חוזים חכמים ולמה הם מיועדים

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

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

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

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

ויטליק כתב: 

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

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

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

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

חוזה חכם
חוזים חכמים מבוצעים לאחר אימות התנאים הכלולים בהם

פריסת חוזים חכמים ב-Ethereum blockchain

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

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

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

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

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

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

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

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

כיצד לקיים אינטראקציה עם הקוד ובאופן כללי יותר עם dApps

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

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

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

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


מקור: https://en.cryptonomist.ch/2022/06/11/ethereum-smart-contracts-3/