מהם חוזים חכמים ברשת הבלוקצ'יין?

חוזים חכמים הם חוזים דיגיטליים המקודדים ברשת הבלוקצ'יין, ומאפשרים לבצע עסקאות והסכמים מהימנים בין צדדים אנונימיים שונים ללא צורך בישות מרכזית, מערכת משפטית או מנגנון אכיפה חיצוני. החוזים מקבלים תוקף באופן אוטומטי כאשר התנאים והגבלות שנקבעו מראש מתקיימים. מאחר והחוזים מבוססים על רשת הבלוקצ'יין הן שקופות (ניתנות למעקב) ובלתי הפיכות (לא ניתנות לשינוי).
על רשת הבלוקצ'יין כתבתי בהרחבה כאן. אחד מהיתרונות לשימוש בבלוקצ'יין הם בשימוש חוזים חכמים.
איך חוזים חכמים עובדים?
בדיוק כמו כל חוזה שאתם מכירים מהיום יום. בחוזים חכמים מגדירים את תנאי ההסכם או העסקה ובמקום שאלו יהיו מבוססי נייר וסיכות מהדק על שולחן עורך דין, הם נכתבים על גבי השרשרת הנתונים בבלוקצ'יין. חוזים חכמים פועלים על ידי ביצוע הצהרות פשוטות של "אם/כאשר… אז…" וברגע שהתנאים מתקיימים הפעולות שנקבעו מראש מבוצעות.
הפעולות יכולות לכלול רכישה ומכירה של מטבעות ונכסים דיגיטליים, הנפקת כרטיסי קולנוע, רישום רכב ודירה, וכל מנגנון אחר שדורש הסכמה בין צדדים. החוזה החכם הראשון הומצא בשנות ה-90 על ידי מדען מחשבים אמריקאי בשם ניק סאבו. והנה דוגמה לשימוש פשוט בחוזה חכם:
דמיינו לעצמכם מכונת ממתקים ציבורית שמוכרת חפיסת שוקולד פרה בחמישה שקלים. אם תכניסו מטבע של עשרה שקלים ותבחרו בממתק הרצוי, יש כמה אפשרויות: האידאלית – קיבלתם שוקולד ועודף של חמישה שקלים. המתסכלת – הממתק הנבחר אזל ונקבל רק את הכסף בחזרה. או לא בכלל. ואז ניתן קצת מכות על הויטרינה.
זוהי דוגמה מאוד פשוטה לחוזה חכם ואוטומטי שלא דורש צורך בתיווך אנושי. יש לו את החסרונות שלו אבל מקווה שהבנתם את הבסיס. ואם ניקח את הדוגמה הפשוטה הזו צעד קדימה נבין שחוזים חכמים מאפשרים למפתחים לבנות מגוון רחב של חוזים לשימושים רבים.
מה זה DeFi?
ראשי התיבות של Decentralized Finance שבתרגום חופשי מדבר על פיננסים מבוזרים ונוגע בחוזים ועסקאות קצת יותר מורכבים מעולמות הבנקאות בפרט והפיננסים בכלל (הלוואות, חיסכון, השקעות, ביטוחים). אני משקיע במגוון תחומים ומטבעות, וכל מה שקשור להמרות מטבע הוא תחום מורכב, יקר (שערים גבוהים מהשער היציג, עמלות שונות), גוזל זמן ותמיד יש את החשש שיקרה משהו לכסף בדרך. בטח אם מדובר בהעברות לאנשים זרים בקצה השני של העולם. חוזים חכמים אמורים להקל ולהוזיל בכל התהליך הזה. אז בואו נדבר על היתרונות.
היתרונות של חוזים חכמים
- מהירות, יעילות ודיוק – ברגע שתנאי שהוגדר מראש מתקיים, החוזה מבוצע באופן מיידי. מכיוון שחוזים חכמים הם דיגיטליים ואוטומטיים, אין ניירת לעיבוד ואין זמן המושקע בהתאמה בין שגיאות הנובעות לרוב ממילוי ידני וסיזיפי של מסמכים.
- שקיפות ואמינות – מאחר ולא מעורב צד שלישי, ומכיוון שהחוזים והעסקאות מבוזרות, אין צורך לתהות אם המידע השתנה או זויף לצרכים אישים.
- מהימנות וביטחון – רשומות עסקאות בלוקצ'יין מבוזרות, כך שקשה מאוד לפרוץ ולשנות אותן. מאחר וכל רשומה מתועדת ומוצמדת לרשומות הקודמות והבאות בפנקס הרשומות של הבלוקצ'יין, עבור כל שינוי קטן יש צורך לשנות את כל השרשרת הקיימת.
- חיסכון במשאבים – חוזים חכמים מסירים את הצורך של מתווכים לטפל בעסקאות, חוסכים זמן ועמלות שנלוות לתהליך.
החסרונות של חוזים חכמים
- התקפת 51% – בסופו של דבר מדובר ברשת מחשבים ובכוח מחשוב שמאמת עסקאות ודואג לכל הקסם לקרות. ברגע שיש שליטה על 51% ויותר מהרשת, תאורטית, במצב כזה ניתן לשנות את "חוקי" הבלוקצ'ין ולערוך חוזה ספציפי מחדש או לקחת שליטה מלאה על הרשת ולבצע כל מה שנרצה. צריך לסייג ולומר שהתקפה זו אפשרית בעיקר בבלוקצ'יניים קטנים ולא סבירה (אך אפשרית תאורטית) בבלוקצ'ינים גדולים ומוכרים.
- ניצול תנאי חוזה– ניצול התניות החוזה בדרך שמאפשרת לצד אחד בעסקה לפעול בצורה שונה מהתכנון המקורי, מה שנקרא, פרצות בחוזה.
- לא ניתן לשינוי – החלק הזה עןבד לשני הצדדים. ופה על טעות הקלדה או שגיאה בהבנת החוזה והתנאים יכולים לעלות ביוקר. כבר היו סיפורים על מישהו שרצה למכור כמה מטבעות איתריום ובמקום להקליד מחיר 3000$ הקליד 300$ בלבד. המערכת נעלה את העסקה מיידית ואלפי דולרים הלכו לטמיון. או לזוכה המאושר בצד השני במקרה הזה.
- נקודות תורפה נוספות – בסופו של דבר הכל נשען על יחידות הקצה (מחשב, טלפון) והחיבור לאינטרנט. ולכן כל פגיעה/פריצה/נוזקה על יחידת הקצה/רשת התקשורת עלולה להוביל לתוצאות שלא צפינו בהן מראש.
פופולריות וקוד
נכון להיום, איתריום היא פלטפורמת החוזים החכמים הפעילה ביותר, אך פלטפורמות בלוקצ'יין יעילות יותר (קארדנו, סולנה, וכ') הופכות ונהיות פופולריות. בעיקר בגלל עמלות ה'גז' הגבוהות ברשת האיתריום. למתכנתים שביניכם, חוזים חכמים נכתבים במגוון שפות תכנות (Solidity, Web Assembly ועוד). הקוד של כל חוזה חכם מאוחסן בבלוקצ'יין, מה שמאפשר לכל מתעניין לבדוק את קוד החוזה והפונקציונליות שלו.
דוגמא לקטע קוד של מכונת הממתקים מלמעלה. די לוגי אני מניח:




