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

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

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

העלייה הדרמטית בערך ה-Bitcoin ובשימוש במטבע הווירטואלי מאז שנעשה בו שימוש לראשונה (ינואר 2009), גרמו לזינוק ניכר במספר האנשים המעורבים בכריית ביטקוין – פעולה הדורשת משאבי מחשוב ניכרים, כפי שיפורט בהמשך. מכיוון שעד לאחרונה היה הביטקוין שליט כמעט יחיד בממלכת המטבעות הווירטואליים, לא הייתה לפעולת הכרייה כמעט שום השפעה על המשתמשים ה”תמימים” במחשב. אך עליית השימוש במטבעות מסוג Monero, שכרייתם יכולה להתבצע גם באמצעות חומרה סטנדרטית, גרמה לכך שגם משתמשים בתוכנות “יומיומיות” כגון Amazon AWS, דפדפן כרום או אתר ג’רוזלם פוסט חוו פגיעה ניכרת בביצועי מחשביהם עקב כריית מטבעות דיגייטליים.

מה זה בעצם ביטקוין?

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

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

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

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

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

מהי הייחודיות של הביטקוין?

קיימיים מספר הבדלים עיקריים בין הביטקויון לבין כסף “פיזי”:

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

אין אפשרות למשיכת יתר – בניגוד ל”כסף חוקי”, אפשר להעביר רק ביטקוין הנמצא בידי המשתמש; לא ניתן ליצור “יתרת חובה” של ביטקוין.

היצע קשיח –  בניגוד ליכולת להדפיס או לטבוע עוד ועוד שטרות או מטבעות של כסף “פיזי”, המספר הכולל של מטבעות הביטקוין שייוצרו אי פעם קבוע וידוע מראש, ועומדת על סה”כ של 21,000,000 מטבעות. עם תום ייצורו של המטבע האחרון (בערך בשנת 2140) לא תהיה אפשרות לייצר מטבעות נוספים.
אופן פעולה זה נועד למנוע אינפלציה, אך יש לו השלכות שליליות רבות: ראשית, עקב העלייה המסחררת בערך הביטקוין נוצרה אינפלציה עבר עכשיו, ושנית, התגמולים עבור “כריית” ביטקוין ילכו וירדו ככל שתעלה רמת הקושי בייצור מטבעות, ולכן יש תמריץ עצום לכריית ביטקוין כיום.

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

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

איך מבוצע המסחר ברשת הביטקוין?

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

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

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

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

כריית ביטקוין – הדרך הדיגיטלית “להדפיס” כסף

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

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

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

Hashing הוא תהליך ידוע ונפוץ בתחום אבטחת המידע, וניתן לשאול על הפעולה שתוארה לעיל: So far, so what? אך הייחודיות בייצור ה-Hash לבלוקים של עסקאות היא שבתהליך זה נעשה שימוש לא רק במידע של העסקאות שבוצעו בבלוק, אלא גם ב-Hash של הבלוק הקודם. כך נוצרת חתימה ייחודית לכל בלוק, המאשרת שהוא וכל הבלוקים הקשורים אליו הם בלוקים חוקיים ואמיתיים המאחסנים נתונים מהימנים. שהרי אם ייעשה ניסיון לחבל בנתוני בלוק עסקאות, הדבר יגרום מיידית לשינוי ה-Hash שיפיק אותו בלוק וכל הבלוקים שיופיעו אחריו, וכך תיווצר אינדיקציה מידית לזיוף שתזוהה על ידי כל המשתמשים ברשת הביטקוין. וכך נסגר ומאובטח כל  בלוק על גבי הבלוקצ’יין.

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

רק 25 ביטקוין? כדאי “ללכת לעבודה בבוקר” בשביל סכום כזה?

בכל שנה מאז 2010 מצוין ב-22 במאי “יום הביטקוין פיצה” – היום שבו פרסם מתכנת צעיר בשם לאזלו הנייץ (Laszlo Hanyecz) מודעה בפורום מתכנתים ובה הציע 10,000 ביטקוין למי שירכוש עבורו שני מגשי פיצה. עסקה זו, ששיקפה ערך של 0.003 דולר לכל ביטקוין – מגש פיצה בודד עלה אז 15 דולר – הייתה העסקה הראשונה שבוצעה במטבע זה. וכדי להבין את העלייה האסטרונומית בערכו של המטבע, די לציין כי בידיעה שפורסמה ב”יום הביטקוין פיצה”  השביעי, ב-2017, צוין כי ערך הביטקוין “עומד כיום על 2,185 דולר”. בעת שנכתבים דברים אלו, חמישה חודשים בלבד לאחר סוף מאי 2017, עומד ערך הביטקוין על יותר מ-5,500 דולר. משמעות הדבר היא שאילו לאזלו הנייץ היה שומר בידיו את  10 אלפי הביטקוין ששילם במאי 2010 תמורת שני מגשי פיצות, הוא לא היה צריך לעבוד עוד יום אחד בחייו, מכיוון שכיום היו בידיו 55 מיליון דולר. ואם הנייץ ויתר בקלות כזו על 10,000 ביטקוין, היום הכורים עובדים קשה מאוד כדי לזכות ב-25 ביטקוין משום שערכם עולה על 138 אלף דולר.

למה כל כך קשה לכרות ביטקוין?

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

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

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

אז שיעבדו בכריית ביטקוין, איך זה נוגע לי?

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

כרייה לגיטימית המבוצעת באמצעות קבוצות (pool mining).
בסוג כזה של כרייה מתחבר המשתמש לאתרים המארגנים קבוצות כרייה, כגון BitcoinCZ או BTCGuild, ומזין את פרטי ההרשמה לתוכנת הכרייה המותקנת אצלו. לאחר תחילת הכרייה מחלק שרת הקבוצה אלגוריתמים חלקיים וקלים יותר בין המחשבים המשתתפים, ועל כל פתרון לאחד מאלגוריתמי המשנה הללו מקבל המשתמש “מניות” בסיבוב הכרייה. כאשר פתרונות המשנה יספקו פתרון כולל לאלגוריתם-העל, והקבוצה תקבל 25 מטבעות, הם יחולקו בין המשתתפים בהתאם למספר המניות שצבר כל משתמש בסיבוב הכרייה. בשל כוח העיבוד הניכר הנדרש לכריית ביטקוין, כורי ביטקוין “רציניים” מעדיפים לבצע את פעולות הכרייה באמצעות שבב ייחודי למטרה זו (ASIC), שנועד לבצע כריית ביטקוין במהירות גבוהה  ועם זאת הוא עובד בצריכת חשמל נמוכה יחסית.

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

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