חזרה להתחלה
חמישה רעיונות. אפשר להתחיל מכל אחד.

03 · Ethereum

מה אם הרשת יכולה לא רק לרשום תשלומים - אלא גם לבצע כללים?

ב-Bitcoin אפשר להגיע לרישום משותף של עסקאות בלי גוף אחד שמנהל אותו.

Ethereum מוסיף רעיון נוסף:

אפשר לשמור ברשת גם תוכנית עם כללים.

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

כך הרשת יכולה לא רק לזכור מה קרה - אלא גם לחשב מה צריך לקרות בעקבות זה.

אפשר לקבוע מראש מה יקרה לכסף

נניח שפרויקט רוצה לגייס 10 ETH.

אפשר לכתוב מראש כלל:

אם הסכום שנאסף מגיע ל-10 ETH - הכסף יכול לעבור לפרויקט.

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

הכלל לא יושב אצל מנהל שצריך לזכור לבצע אותו.

הוא כתוב בתוכנית שנמצאת ברשת.

לתוכנית כזאת קוראים Smart Contract - חוזה חכם.

המילה “חכם” לא אומרת שיש כאן בינה מלאכותית, וגם לא מבטיחה שהתוכנית נכתבה טוב.

זה פשוט השם שניתן לתוכנית שמפעילה כללים ברשת.

עסקה יכולה להפעיל את התוכנית

נניח שכבר נאספו 7 ETH.

מאיה שולחת עוד 3 ETH לתוכנית.

העסקה שלה מפעילה את הכלל.

המחשבים שבודקים את הרשת מריצים את אותו חישוב:

המצב הקודם: 7 ETH נוספו: 3 ETH המצב החדש: 10 ETH

עכשיו התנאי מתקיים.

חשוב להבין:

לא כל מחשב מעביר כסף משלו.

כולם מחשבים ובודקים את אותו שינוי ברישום.

כבר נאספו 7 ETH. מאיה מוסיפה 3 ETH. החוזה החכם בודק אם הסכום הגיע ל־10 ETH; סימן אישור מציין שהיעד הושג.
אותו כלל בודק את השינוי מ־7 ועוד 3 ל־10. כל מחשב בודק את אותו שינוי ברישום.

התוצאה נשמרת - והפעולה הבאה מתחילה ממנה

לפני העסקה התוכנית זכרה שנאספו 7 ETH.

אחריה היא זוכרת שנאספו 10 ETH.

המידע הנוכחי שהתוכנית שומרת נקרא State - מצב.

אפשר לחשוב על זה כך:

ההיסטוריה אומרת מה קרה.

ה-State אומר איפה אנחנו עכשיו אחרי כל מה שקרה.

הפעולה הבאה כבר מתחילה מהמצב החדש.

בגלל שהמצב משתנה, גם הסדר עדיין חשוב

נניח ששתי עסקאות משפיעות על אותו Smart Contract.

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

לכן Ethereum עדיין צריכה רישום משותף וסדר מוסכם של עסקאות.

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

להריץ תוכניות דורש משאבים

תשלום פשוט דורש עבודה מסוימת מהמחשבים שבודקים אותו.

Smart Contract יכול לבצע יותר חישובים ולשנות יותר מידע.

Ethereum מודדת את כמות העבודה שנדרשת לביצוע פעולה באמצעות Gas - גז.

אפשר לחשוב על Gas כעל מדד לכמות העבודה והמשאבים שהפעולה דורשת לפי כללי Ethereum.

העמלה עבור הפעולה משולמת ב-ETH.

Gas הוא לא פשוט “מחיר קבוע לעסקה”.

פעולות שונות יכולות לדרוש כמויות שונות של עבודה.

ומה לגבי יצירת הבלוקים?

זה נושא נפרד מהשאלה מה Smart Contract עושה.

Bitcoin משתמשת ב-Proof of Work כדי ליצור בלוקים ולהגיע להסכמה על ההיסטוריה.

Ethereum כיום משתמשת ב-Proof of Stake - הוכחת החזקה.

משתתפים שנקראים Validators - מאמתים מפקידים ETH ומשתתפים ביצירת בלוקים ובהסכמה על ההיסטוריה.

כדאי להפריד בין שתי שאלות:

מה התוכנית עושה?

ו-

איך הרשת מסכימה על ההיסטוריה שבה התוכנית הופעלה?

העמוד הזה עוסק בעיקר בשאלה הראשונה.

אז מה Ethereum הוסיפה?

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

עסקה יכולה להפעיל תוכנית.

המחשבים מריצים ובודקים את אותם כללים.

התוצאה נשמרת כ-State לפעולה הבאה.

כך הרשת יכולה לענות לא רק על:

“מי שילם למי?”

אלא גם על:

“מה התוכנית הייתה אמורה לעשות בעקבות העסקה?”

ומה קורה כשהמון אנשים רוצים לעשות את זה?

כל עסקה צריכה לעבור ברשת ולהיבדק.

כל הפעלה של תוכנית דורשת חישוב.

וה-State יכול לגדול עם הזמן.

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

מה קורה כשהשימוש גדל - ועדיין רוצים שמחשבים עצמאיים יוכלו לעמוד בקצב?

מקורות

המקורות החיצוניים באנגלית.