על ביטקוין, ברקים ומעגלים כלכליים

בימים האחרונים התקבלה ידיעה כי Bitfinex, בורסה פופולארית למסחר בביטקוין ומטבעות דיגיטליים, קידמה פיתרון המאפשר הפקדה ומשיכה בזירה באמצעות רשת הברק (Lightning Network). בפרט, החברה הסבירה שהפקדה באמצעות רשת הברק תזכה את חשבון הלקוח בבורסה במטבע LNX שאותו המציאה הבורסה למטרה זו. את מטבע ה-LNX ניתן להמיר ביחס 1 ל-1 במטבע BTC (שאותו ניתן להמיר או למשוך כרגיל). ההחלטה לעבור דרך מטבע חדש – במקום פשוט לזכות את חשבון הלקוח ב-BTC לאחר הפקדה – תמוהה מעט, ועוררה דיון סוער.

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

מה בעצם הבעיה?

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

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

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

קשה יותר, טובה יותר, מהירה יותר, חזקה יותר

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

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

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

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

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

איפה הקאץ'?

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

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

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

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

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

אני כן יכול לשלם לה. אם, למשל, אשלם לה 1 ביטקוין דרך הערוץ, נגיע למצב שבו לי יש 9 ביטקוין, ולה יש 1. למחרת אני יכול לשלם לה עוד ביטקוין, ואז לי יהיו 8, ולה 2. וכך הלאה, עד שמגיעים למצב בו לי יש 0 ולה יש 10, ואז אני לא יכול לשלם לה יותר דרך הערוץ הזה. אם אני רוצה להמשיך לשלם לה, אצטרך לפתוח ערוץ חדש.

אבל, באותו מצב שלי יש 0 בערוץ ולה יש 10, אני אמנם לא יכול לשלם לה, אבל היא יכולה לשלם לי. ואז המצב יחזור אחורה, בו לי יש יותר מטבעות, ולה פחות. כמובן, היא אינה צריכה לחכות עד שכל הכסף אצלה. גם במצב שלי יש 8 ביטקוין ולה 2, היא יכולה לשלם לי בחזרה ביטקוין, או 0.000001 ביטקוין, או 2 ביטקוין – עד הסכום שיש לה בערוץ.

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

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

אפשר לאכול את הביטקוין הזה?

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

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

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

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

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

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

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

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

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

בחזרה להווה

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

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

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

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

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

אז לייטנינג זה בעצם אלט, כן?

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

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

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

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

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

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

ולסיכום…

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