רבים מדברים כיום על ביטקוין והמהפכה שהוא גורם לה בשוק הכספים. מהי המתמטיקה הבסיסית מאחורי הטכנולוגיה של מטבעות דיגיטליים? נסביר באמצעות סיפור דמיוני על קבוצת חברים המבקשת ליצור מטבע כזה.
קבוצת חברים מחליטה לעשות העברות כספים ביניהם ולהימנע משימוש בבנקים, בדומה למטבעות דיגיטליים כמו ביטקוין [1]. כיוון שאין כסף בקופה מחליטים החברים שבשלב הראשון כל אחד יקבל כסף וירטואלי, למשל מאתיים יחידות, וירשום את כל ההעברות הכספיות שיבצע בקובץ משותף בענן, שישמש בתור פנקס חשבונות גלובלי. הקובץ כולל רשומות, כמו:
"רשומה #98: בוב מעביר לאליס 100 יחידות"; "רשומה #99: אליס מעבירה לגדעון 65 יחידות".
אפשר לחשב מה היתרה הנוכחית של כל חבר על ידי בדיקת כל הרשומות בקובץ. שיטה זו זכתה להצלחה ואנשים נוספים הצטרפו. אולם אז התעוררה הסוגיה: מה מונע ממישהו לשנות את הרשומות? למשל, גדעון יכול לשנות את הרשומה ל"אליס מעבירה לגדעון 70 יחידות" בלי שאליס תסכים! כדי למנוע רמאויות ניתן למשל להצמיד לכל רשומה צילום של אישור בכתב ידו ובחתימתו של מעביר הכסף. אולם בימינו, בזכות טכנולוגיות ההצפנה, אליס יכולה לאשר כל העברה שביצעה, כולל הסכום, באמצעות הוספת מספר מוצפן לרשומה, שהוא אישור דיגיטלי שקשה לזייפו.
אולם אז צצה בעיה נוספת: הבעלות על הקובץ בענן. החברים רוצים לבנות מערכת שאינה נשלטת על ידי אדם יחיד. השיטה שנבחרה, הדומה לשיטה של ביטקוין, היא לאפשר לכל אחד לבנות העתק פרטי של קובץ ההעברות: בכל פעם שנעשית העברה ישלח המעביר הודעה לכל חברי הצוות, והם יעדכנו את הקובץ שברשותם. בכך יצרנו מסד נתונים שאינו תלוי באיש אחד.
מערכות מבוזרות קיימות הרבה שנים ויש להן שלל בעיות: חלק מההודעות שנשלחות ברשת אינן מגיעות לכל המשתמשים, ולפעמים סדר ההגעה הוא אקראי, דבר שיכול לגרום לשיבושים ומקור לרמאויות. למשל: אליס יכולה לייצר הודעה שלפיה היא שולחת לגדעון 65 יחידות, אבל היא תשלח אותה רק לגדעון, כאשר שאר העולם חושב שהכסף עדיין אצלה. גדעון עשוי לתת לה תמורה, למשל חבילת ופל לימון, בלי לדעת שזאת העברה מזויפת! כדי למנוע את התרמית צריך לדאוג שיהיה פנקס חשבונות אחיד שיהיה מסונכרן ומקובל על כולם.
בשנת 2008 הציע אלמוני שקרא לעצמו "סאטושי נאקאמוטו" פתרון פורץ דרך, שהפך להיות הבסיס לביטקוין ולמטבעות דומים לו: כיוון שאי אפשר למנוע רמאות נוודא שהמחיר של הרמייה, כמו המזימה של אליס, יהיה כה גדול שהיא לא תצליח לעמוד בו! מחיר זה מתבטא בכוח מִחשוב גדול, כלומר מספר המחשבים שאליס תצטרך לגייס למשימה יהיה מעבר ליכולתה.
לפני שנסביר כיצד זה מתאפשר נתאר שיטה שדומה לשיטת ביטקוין עם פישוטים. ראשית נחלק את ספר החשבונות המבוזר לדפים הנקראים בלוקים, שכל אחד יכיל כ-200 העברות. כאשר בלוק חדש מתמלא, ונרצה לסגור אותו בפני שינויים, ניצור חידת ניחוש המצריכה כוח חישוב רב.
לטובת חובבי המתמטיקה בינינו נספר מהי החידה: "מִצאו מספר, שכשנשים אותו בבלוק, הפעלת פונקציה מתמטית [2] בשם SHA-256 על כל הנתונים בבלוק תייצר מספר בעל 256 ביטים המכיל 30 אפסים מובילים". מה שמיוחד בחידה זו הוא שהדרך היחידה למצוא את המספר, שנקרא לו Proof Of Work") POW") היא להגריל מספרים אקראיים ולנסותם, מה שמצריך בממוצע 2 בחזקת 30, או כמיליארד ניסיונות. כדי לקצר את זמן פתרון החידה נגייס עוד חברים בעלי מחשבים, שנקרא להם "כורים", שיחפשו בו זמנית את המספר תמורת תשלום פרס למוצא הראשון. כאשר כורה מוצא את המספר הוא שם אותו בסוף הבלוק ונועל אותו. את הבלוק הנעול הוא ישלח לשאר הכורים, כך שכל אלו שעובדים על בלוקים עם רשומות חופפות יפסיקו את מלאכתם.
למספר זה יש מטרה חשובה. כאשר מישהו מנסה לרמות ולשנות רשומה בבלוק סגור, כדי שהבלוק ייראה תקין הוא יצטרך למצוא POW חדש - עוד כמיליארד ניסיונות! הברקה נוספת: כשסוגרים בלוק שמים את ה-POW שלו גם בתחילת הבלוק החדש. כך נוצרת שרשרת בלוקים שתוכנם תלוי בקודמים להם ( [3] בלוקציין), מה שמקשה יותר על ביצוע שינויים בבלוקים ישנים.
למשל, נניח שאליס מרמה ושולחת רק לגדעון הודעה שהיא מעבירה לו 65 יחידות. ברגע שכורה כלשהו יצליח לסגור בלוק חדש הוא ישלח אותו לכולם, ואז גדעון יגלה שרומה והבלוק אינו מכיל את ההעברה אליו! כדי למנוע זאת, אליס חייבת לעמול קשה ולייצר בעצמה בלוק שמכיל גם את ההעברה המדומה ולשלוח אותו לגדעון. גדעון יתבלבל כשיקבל שני בלוקים שונים. למי להאמין? לפי הפרוטוקול, הוא צריך לחכות ליצירת הבלוקים הבאים, ולהאמין למי שיוצר שרשרת ארוכה יותר.
כדי שגדעון יאמין לאליס היא צריכה להמשיך להאזין להעברות, ולבנות במאמץ חישובי רב בלוקים חדשים כדי לייצר שרשרת שמכילה עוד ועוד בלוקים התלויים בבלוק המזויף. היא אינה יכולה להשתמש בבלוקים שיוצרו על ידי שאר הכורים, כיוון שהם תלויים בבלוק ישן שלא כלל את הרשומה המזויפת. לפיכך, אליס תצטרך לגייס הרבה כורים שישתפו איתה פעולה כדי להמשיך להתחרות בקצב היצירה של שאר הכורים ברשת, מה שהופך את המשימה לבלתי אפשרית. לבסוף גדעון יגלה שאליס רימתה וידרוש את חבילת הוופלים שלו בחזרה.
אכן, ההברקה היצירתית ביצירת בלוקצ'יין פותחת פתח לשינויים גדולים בתחום הכספים, תוך שימוש באלגוריתמים מתמטיים חכמים. בשיטה זו, הגדלת מספר הכורים ברשת יוצרת מצב שבו הרשת הופכת בטוחה יותר עבור המשתמשים בה, ואמינותה עולה.
הערות והרחבות:
[1] סרטון על ביטקוין