בשנת 2017 כל העולם דיבר על קריפטו. הזהב החדש,
איך להשיג אותו ואיך לשמור עליו.
עולם שהיית צריך להחליט אם להיות בו נוכל, או להסביר לאנשים שאתה לא
נוכל. הקריפטו של 2017, ובמידה מסוימת גם הקריפטו של היום, סומן כמחתרתי,
לא נזיל,
לא מסומן,
לא ממוסה.
עולם שקל להיכנס אליו,
וקשה לצאת, כמו סיגריות, או סמים. שקל לאבד בו את הכסף, וקשה להרוויח בחזרה.
עולם שמנוהל בטלגרם
ופורומים וגם בחוות כרייה ענקיות.
זה פרק על קריפטו, אבל לא אם הביטקוין יעלה או ירד.
זה פרק על בלוקצ׳יין,
וככה קראו לזה אז, אולי כי אנשים נטו להאמין בטכנולוגיה יותר משהתחברו למטבע ספציפי.
בדיעבד, זה היה גם קריפטו,
מאוד קריפטו, עם טכנולוגיה מעניינת מאחור.
בשלהי 2017 הגיעו גל רייזמן (גיסי) וגיל רוזנבלום (חבר) אליי
הביתה וניסו לשכנע אותי לבנות איתם אתר תוכן לקריפטו. אמרנו, כל
העולם דיבר על קריפטו, זה רק הגיוני שיהיה (עוד) אתר שידבר
על קריפטו, וימכור מודעות, שיקשרו לעוד אתרים שידברו על קריפטו.
רק כשאתה מספר למישהו רעיון, בקולך, אתה מבין כמה טיפשי הוא נשמע.
למכור מודעות זה לא מעניין,
אבל לבנות טכנולוגיית כריה שתחליף את הצורך במודעות זה כן.
שלושת המוסקיטרים, יוצאי ובוגרי אדטק,
חוברים להולנדי בשם לנארט רויס ומקימים חברה, עם עו"ד,
רו"ח, ובנקאי שצריך להבין מה הם בדיוק מתכוונים לעשות.
אז הנה, ההסבר הפשוט ביותר: איך עובדת כריית מטבעות?
נניח ואני רוצה לשלם לניצן על עוגיות בביטקוין.
אני לא שולח אליה כסף ישירות,
אני צריך לשלוח בקשה "לענן של ביטקוין", ענן שמנוטר ומנוהל
ע"י מספר גדול של כורים, כמו כורי פחם.
כל כורה כזה מתקין תוכנה, שמורידה מצד אחד את כל ספר
העסקאות (ה-ledger) של המטבע, ומצד שני מנטרת, כל בקשה חדשה.
ההעברה הזו מצריכה עמלה, בערך דולר, והיא מצטרפת לעוד אלפי
בקשות שהכורים אוספים כרצונם מתוך ה-mempool, ומביאים לאישור בבלוק הבא.
בלוק אחד של עסקאות, שמחובר בשרשרת לבלוק הבא של עסקאות, זה בעצם הבלוקצ׳יין,
והסיבה שלכורים יש סבלנות לתפור את השרשרת הזו, פנינה אחר פנינה, היא כסף.
הרבה מאוד כסף.
לא רק העמלות המצרפיות של כל העסקאות בבלוק,
גם פרס קבוע.
פרס שהתחיל מ-50 ביטקוין לבלוק ב-2009 ונחצה כל 4 שנים.
כורי ביטקוין היום יקבלו כ-3 ביטקוין פרס קבוע
ואת כל העמלות מכל העסקאות שהם הצליחו לצופף.
כל בלוק מוגבל בגודלו -
כשה-mempool פקוק אני יכול להציע עוד עמלה כדי לדחוף את הבקשה של ניצן.
כל בלוק גם מוגבל בזמן -
מטעמי אינפלציה,
ביטקוין רוצה בלוק חדש כל 10 דקות.
לא יותר,
לא פחות.
נחזור לבלוק הספציפי.
אני איציק הגדול, כורה ביטקוין עם שומה בגב,
אספתי מאות טרנזקציות ואני מוכן לעבוד 10 דקות עבור בלוק, ששווה בערך 800,000 ש"ח.
מה אני בעצם עושה?
1-
בודק שכל בקשה בבלוק, הגיעה מארנק שיש בו יתרה מספקת - שהשולח לא ביצע double-spend.
2-
מצמיד לבלוק את כתובת הארנק שלי.
3-
מנסה להוכיח לרשת שאני, ורק אני, צריך לזכות בפרס.
מרוץ משוגע של 10 דקות. כדי לנצח בו צריך לפתור חידה מתמטית, אבל לא כזו שמפעילה תאי מוח.
את הביטקוין אפשר לפתור רק ע"י ניחוש, ועוד ניחוש, מיליארדים של ניחושים בשניה.
כל ניחוש כזה משתמש בפונקציה (SHA256), שיודעת להפוך טקסט,
כל טקסט, לרצף של 64 תווים.
קחו כל מילה בעברית,
שימו אותה בפונקציה הזו ותקבלו 64 תווים.
שימו את כל האנציקלופדיה העברית,
תקבלו 64 תווים אחרים, וכל עוד לא שיניתם כלום בטקסט,
תקבלו בדיוק את אותם תווים כל פעם.
אבל, מספיק ששיניתם אות אחת באנציקלופדיה, או הוספתם נקודה -
ותקבלו 64 תווים שונים מקצה לקצה.
הרצף הזה,
שמורכב מהספרות 0 עד 9 והאותיות a עד f הוא התורה כולה,
ואתם רוצים לייצר טקסט שמתחיל במספיק אפסים.
זה לא סתם טקסט -
הטקסט שאתם עובדים עליו הוא בעצם כל מה שיש בבלוק הנוכחי,
והוא ייחודי לכם כי הוא כולל את כתובת הארנק שלכם.
אבל מה זה מספיק אפסים? ב-2009 אף אחד לא חזה כמה כוח
מיחשוב יהיה בעולם, או כמה יהיה שווה ביטקוין. אז נקבע מדד קושי, difficulty
שעולה או יורד כל שבועיים. אם בביטקוין רוצים בלוק כל 10 דקות, ואחרי
שבועיים הגענו לאחד בממוצע כל 9 וחצי דקות, אז בשבועיים הבאים הקושי יגבר.
ב-2017 עולם הכרייה מורכב משני מעגלים.
מצד אחד חוות כרייה ענקיות,
יעילות בחשמל ועמוסות בציוד חומרה,
מצד שני קבוצות כרייה או בריכות כרייה, עם שרת
וחצי, שמריצות בעיקר תוכנה, לרוב open-source, עם הבטחה -
"השתמשו בנו לכרות וקבלו נתח מהפרס הסופי".
הצעה הגיונית - לכרות בלוק ביטקוין עצמאית זה סטטיסטית בלתי אפשרי.
ב-2017 האינטרנט העולמי ב-50% חדירה, עם מיליון משתמשים חדשים מדי יום.
האש יונייטד ראתה במשתמשים האלו כורים פוטנציאליים,
אבל היא לא רצתה לשכנע אותם לכרות בשבילה.
למען האמת
היא גם לא התכוונה לחלוק איתם את הפרס.
היא מצאה דרך מוטלת בספק, לכרות מטבעות בדפדפן עצמו,
קודם כל ב-JavaScript ואז ב-WASM (או WebAssembly).
טכנולוגיות שנמצאות אצל ההמונים בלי להתקין כלום ובלי לעשות כלום.
ממש לא לעשות כלום.
היית צריך בסך הכל לגלוש לאתר שקנינו בו באנר או פופאפ.
מאות אלפי משתמשים היו מחוברים אלינו
ב-WebSockets בכל זמן נתון,
מקבלים עבודה,
שולחים תוצאה ומצליחים לפתור בלוקים עם 0 השקעה
בציוד. הדפדפן שלך עבד בשבילנו. בלי שתסכים,
בלי שתבין.
זה כמובן עבד.
חרא.
רק מטבעות מסוימים היו מספיק כלכליים לכרייה על דפדפן,
הבחירה או המעבר ביניהם לא היה חלק מספיק,
אבל בעיקר - מאות אלפי משתמשים, שתורגמו למיליונים של דקות כרייה, עשו לנו רע, בנשמה.
לא רק לנו -
גם לרשתות הפרסום,
לאתרים שעבדו איתן,
לאנטי וירוסים שהריחו את ריח הפחם,
וגם למשתמשים - שהחלו לסבול מאיטיות,
מ-cpu שמתחמם או סוללה שנגמרת.
ארבעתנו עשינו אדטק בזמנו,
אבל הספיק לנו חודש להבין שהאדטק הזה, מלוכלך מדי.
שלוש תובנות יצרו את הפיבוט הראשון. שאנחנו רוצים לכרות רק בהסכמה, שיש המון
מטבעות, וגם המון אלגוריתמים, ושתהליך החלוקה וההמרה חשובים לא פחות מתהליך הכרייה.
כרייה בהסכמה זה ברור - אם הציוד שלנו, אנחנו יכולים לכרות בו הכל.
אם הציוד של הלקוח, הוא מקבל תמורה. בפועל זה אומר
שהחלפנו מודל של דפדפנים אקראיים בכוח כרייה שהוא בסדרי גודל.
זה אמנם הקטין את ה-margin,
העלים את "הקסם",
אבל יצר חזרתיות וחיזוי.
העובדה שיש המון מטבעות ואלגוריתמים היא מגה יתרון.
כל החוות והקבוצות אז מפוקסות בלייזר למטבע ספציפי, וקנו ציוד מותאם לאלגוריתם ספציפי.
אם נוכל לנטר כל מטבע (והיו מאות כאלה), בכל אלגוריתם (והיו עשרות כאלה),
נוכל לשקלל מדד בזמן אמת לכל מטבע -
בלוק שהוא הזדמנות, או בלוק תקוע ובזבזני בחשמל.
אבל לא רק מדד הקושי הוא תנודתי,
גם ערך המטבע, והוא שונה בכל exchange שמוכר אותו.
המכפלה, של הקושי (difficulty)
בפרס (mining reward) בערך (BTC) תורגמה אצלנו
ל-RPH או Revenue per Million Hashes.
עכשיו אפשר להניע,
אבל עם מה?
עם מי?
השקעה בציוד כרייה משלנו, שהופך לא רלוונטי תוך חודשים, תהיה התאבדות כלכלית.
עבודה מול חוות מסורתיות שתקועות על מטבע מסוים תאלץ אותנו לבלות זמן רב ב-education.
היינו צריכים ציוד נדיף, שאפשר לבקש כשצריך ולכבות שאפשר, כמו מיחשוב ענן באמזון,
גוגל או Heztner (מפרק 37), ובהתחלה באמת, כרינו משם, עד שבעטו אותנו החוצה.
החברות האלה, מסתבר, אוהבות למכור מיחשוב גמיש, אבל
מאוד כועסות שאתה משתמש במעבד בצורה רציפה.
אז עברנו לספקים מתמחים, כמו nicehash ו-mining-rig-rental שהם בעצם
מרקטפלייסים שוקקים של ציוד, עם API, שמאפשר הזמנה וכיבוי של
כוח כרייה בכל אלגוריתם נפוץ. המרקטפלייסים האלה חשפו לנו
לראשונה - כמה יעלו לנו מיליון האשים, וכמה כוח מיחשוב בכלל יש.
ראינו את העתיד וכמה גדול העולם הזה יכול להיות.
מכאן זה היה בעיקר משחק של execution,
יעילות ושיטות עבודה שנבנו תוך כדי תנועה. הימים,
טרום קלוד קוד, בכל בוקר הוספנו ידנית מטבעות חדשים,
חקרנו את תאריכי ההשקה שלהם,
הרישום ב-exchangeים
(מתי יהפכו לסחירים), ואת השינוי הטכנולוגי שהם מביאים איתם.
בימים ההם, המון altcoins,
מטבעות שהם לא Bitcoin.
כל אחד רוצה להתבלט אבל גם להיות ASIC-resistant -
למנוע ממיחשוב מתמחה, חזק באופן בלתי פרופורציונלי, להשתלט
על המטבע. המון טכנולוגיות שמנסות להיות memory-hard,
לדרוש random code execution או fork תכוף באלגוריתם.
וזה, בגדול, לא משפיע עלינו.
החומרה לא שלנו, וכל מטבע חדש שצץ מותקן תוך יום ונכנס לכרייה תוך יומיים.
יותר מטבעות,
יותר הזדמנויות לארביטרז׳ בין מחיר הקניה
(לרוב מחיר החשמל או מחיר המטבע המוביל) למחיר ה-altcoin.
המכונה עבדה מושלם.
כל בלוק (וזה לא משנה אם אנחנו כרינו או הפסדנו
אותו) יצר chain of events שהכין את הבלוק הבא,
חילק את העבודה ביעילות כדי שהציוד לא ינוח או ינסה קומבינציה שציוד אחר כבר ניסה.
זה היה משחק של מספרים גדולים והיה בו ריגוש של כרטיס חישגד טרי, בכל דקה מחדש.
טוב לא מושלם, אחרת היינו ממשיכים לעשות את זה עד
היום. הביטקוין צנח, ה-altcoins צנחו פי 10 ולהמיר את השניים, גם
לדולרים הפך להיות מורכב. עם הביטקוין של אז אי אפשר היה
לקנות הרבה חוץ מכוח מיחשוב, ומישהו היה צריך לשלם משכורות.
בעיקר, מצאנו שעסק עם low-margin יכול להיות מלחיץ מאוד עם טעויות יקרות.
אנחנו,
כלומר המערכת, מנטרת בכל רגע 400 בלוקצ׳יינים שונים.
בלוקצ׳יינים של אז הם לא הדבר הכי יציב או מאובטח שיש.
אמרנו נוכלים, חלקם קונים בדיוק באותם המרקטפלייסים 51% מכוח
המיחשוב של המטבע כדי לגרום לפיצולו. עכשיו הם כורים על בלוקצ׳יין
אחד, ואנחנו כורים על אחד מאחור - העמלות והפרסים שזכינו בהם
עוברים ל-exchange, אבל הוא לא מכיר בהם - מבחינתו הם גנובים.
וגם נוכלים שהם פורצי ארנקים. כשאתה מנהל מאות שרתים יש גם פרצות אבטחה, וגם שטות אחת
לפחות, של ארנק Electroneum בלי סיסמא ובלי פיירוול
שמישהו (אולי צפון קוריאני) הצליח לרוקן לנו.
אגב
מאות שרתים (2 ויותר לכל מטבע), לא רק בשביל
שרידות אלא גם לשיהוי מינימלי. אם הכורה הסופי,
והציוד שלו יושב בסין, אז עדיף שהשרת שמחלק לו מספרים ישב בסינגפור.
אם הכורה הסופי שמצא פתרון לבלוק יושב בקנדה, אז עדיף שידבר עם השרת בניו-יורק,
שידבר במקביל עם השרת בלונדון ופרנקפורט, כדי שכל הארבעה ידווחו על הפתרון לעולם.
לפעמים אתה מפספס את הפרס במילישניות, רק כי מישהו צעק "מצאתי!" קודם.
זו הייתה ארכיטקטורה יפה (לינק ל-system design בתיאור) אבל
בעיקר שיעור יפה ביזמות. השותפים שלי (ואפשר להתווכח ש-4
זה יותר מדי), גרמו להרגיש שהכל אפשרי. בכל פעם שזה היה נראה אבוד, מישהו תמיד מצא עוד דרך.
כמו אוברון מדיה (מפרק 46), אני לא ממליץ להיות ביץ׳ של פלטפורמה אחת. מה שהרג את ה-margin שלנו
זה כשל פלטפורמי ב-nicehash, העובדה שמעבר מהיר בין מטבעות
מייצר קנסות והזמנות שאתה מבקש לסגור עכשיו, נסגרות eventually.
הפיבוט השני שלנו, למכור את תוכנת הכרייה
והמסחר לשחקנים גדולים (כמו exchangeים וחוות גדולות)
גם לא התממש, ובעצם ההימור לא היה נכון -
מטבעות קריפוטגרפיים משניים היו אחלה lifestyle business
אבל לא נגעו בכסף הגדול באמת. היה גם קושי בירוקרטי, עם הרשויות
והבנקים, ולעבוד בעולם שאתה צריך להסביר שאתה לא נוכל, זה סוחט.
במילה אחת -
זה היה סטארטאפ.
כובש,
מפעים,
מרגש,
שהיה מוקדם לזמנו ומעט גדול למידותיו.
אני לא זוכר שישנתי הרבה בתקופה הזו...
מי חשב על לישון כשהמצאת מכונת כסף, שיצרה כסף, וגם שרפה אותו עד דק.
עד הפעם הבאה,
תהיו טובים, ותמשיכו להיות סקרנים.
יאללה ביי.