הנחיות לקראת האפשרות לפיצול ברשת הביטקוין

עדכון

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

עיקרי הדברים:

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

רקע

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

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

כמובן שטענות רבות הועלו במסגרת המחלוקת, אך שני פתרונות עיקריים התגבשו: 2MB Hard fork ו – Soft Fork SegWit.

מזלגות

כשרוצים לשנות את פרוטוקול הביטקוין, קיימות שתי צורות עיקריות לעשות זאת: הארד פורק (מזלג קשה, hard fork) או סופט פורק (מזלג רך, soft fork).

הארד פורק מקל את חוקי הפרוטוקול – בלוקים שלא היו חוקיים לפי הפרוטוקול הישן, נהיים חוקיים לפי הפרוטוקול החדש. סופט פורק מחמיר את חוקי הפרוטוקול – בלוקים שהיו חוקיים לפי הפרוטוקול הישן, נהיים בלתי-חוקיים לפי הפרוטוקול החדש.

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

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

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

האוחזים בדעה זו, וביניהם קהילת הפיתוח של ביטקוין (שהובילה עד כה את המימוש הסטנדרטי Bitcoin Core), מקדמים פיתרון הקרוי סגוויט (Segregated Witness, SegWit). ה-Witness הוא החתימה הדיגיטלית המעידה על כך שפעולה היא תקינה, וה-Segregated מתייחס לאפשרות להפריד אותה מהבלוק ולרשום אותה במבנה נתונים נפרד.

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

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

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

יוסף הצדיק

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

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

כמה מהתומכים הנלהבים של סגוויט החליטו לעשות מעשה ולהחיל אותו על אפם ועל חמתם של הכורים. לצורך זה הם פיתחו מנגנון שזכה בעברית לכינוי "יוסף" (User Activated Soft Fork, UASF).

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

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

פיצולים

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

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

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

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

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

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

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

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

משמעויות הפיצול

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

ראשית נשאלת השאלה מה קורה למי שהשקיע במטבע, ואיך זה עולה בקנה אחד עם ההגדרה הלא-אינפלציונית של ביטקוין. ברמה העקרונית אין כאן שום בעיה. לכאורה, לאחר הפיצול יהיו סה"כ 42 מיליון מטבעות הקרויים "ביטקוין", בסתירה להגדרה שצריכים להיות רק 21 מיליון. אבל להגבלה על הכמות יש משמעות אחת בלבד – שאם מישהו מחזיק %Y מסה"כ הביטקוינים האפשריים, תמיד יהיה לו %Y ואף אחד אחר לא יכול להנפיק עוד מטבעות ולדלל אותו. עקרון זה נשמר – לאחר פיצול יהיה למשקיע %Y מכל אחד מהמטבעות; לא משנה אם נגדיר כביטקוין אחד מהם או את שניהם, עדיין יש לו %Y מסך כל הביטקוינים. כמובן, ייתכן ששווי השוק הכולל של שני המטבעות לאחר הפיצול יהיה נמוך יותר או גבוה יותר מאשר לפני הפיצול – אין זה שונה מהעובדה ששער הביטקוין יכול להשתנות בכל רגע כתוצאה משינויים בביקוש.

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

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

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

פשרת ניו יורק

על מנת לקדם פיתרון לפרוטוקול התקוע וזאת מבלי לגרום לפיצול, התגבש ניסיון פשרה בין צד ה – Soft Fork SegWit לצד ה – 2MB Hard Fork. פשרה זו זכתה לכינויים "הסכם ניו יורק", "הסכם סילברט", SegWit2x או BTC1.

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

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

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

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

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

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

צעדים מומלצים

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

לקריאה נוספת

  1. המלצות Bitcoin Magazine להיערכות ליוסף
  2. פיצולים אפשריים ותאריכים חשובים
  3. הסבר על חשיבות השליטה במפתחות פרטיים
  4. הסבר מפורט על יוסף
  5. טיעון בעד היתרונות של פיצול
  6. מידע על פשרת ניו יורק
  7. קבוצת פייסבוק על ביטקוין, עם מידע וארנקים מומלצים בפוסט הנעוץ