חוזה חכםאנגלית: Smart contract) הוא חוזה דיגיטלי מבוזר על רשת בלוקצ'יין, אשר מסוגל לקבל ו/או לייצא נתונים ולבצע פעולות מסוימות באופן אוטומטי (בדומה לתוכנה רגילה). הוא פומבי, אינו בר שינוי, ופעולותיו נבדקות ומאומתות על ידי רשת הבלוקצ'יין.[1][2]

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

רשת הבלוקצ'יין הפופולרית כיום בנושא זה היא של אתריום.[3][4]

שימושים וחשיבות עריכה

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

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

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

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

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

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

אבטחה ונקודות תורפה עריכה

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

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

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

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

קישורים חיצוניים עריכה

הערות שוליים עריכה

  1. ^ What are smart contracts on blockchain?, www.ibm.com (באנגלית)
  2. ^ Kazuhiro Gomi, Council Post: Blockchain: Time-Stamping, Smart Contracts And Time-Stomping, Forbes (באנגלית)
  3. ^ Smart Contracts Hold Nearly 23% of Ethereum Supply | Finance Magnates, Finance Magnates | Financial and business news, ‏7 במאי 2021 (באנגלית)
  4. ^ Top Smart Contracts Tokens by Market Capitalization, CoinMarketCap (באנגלית)