האם מסוכן לבצע מימושים מרובים של ביטקוין? PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

האם מסוכן לבצע מימושים מרובים של ביטקוין?

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

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

אולי אתה תוהה, "מי בכלל משתמש במשהו מלבד ליבת Bitcoin?" אולי לא ידעת שקיימים יישומים אחרים של ביטקוין. אולי אתה לא בטוח מה המשמעות של יישום אחר.

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

כיצד יישום חלופי שבר צמתים ברשת Lightning?

אחת מגרסאות הצומת העיקריות של Lightning Network (Lnd) מסתמך על מימוש ביטקוין חלופי בשם btcd. כשמפתח יצר עסקת מולטי-סיג גדולה מאוד, btcd לא ראה בה תוקף מכיוון שהיא הכילה יותר מדי נתוני עדים. למימושים אחרים של ביטקוין - והכי חשוב Bitcoin Core - לא הייתה מגבלה כזו על נתוני עדי עסקאות Taproot, ולכן קיבלו את העסקה ואת החסימה שהכילה אותה כתקפים.

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

כשהבאג קרה שוב ב-1 בנובמבר, לא רק צמתי LND הושפעו. חלק ממופעי electrs (יישום של שרת הקצה האחורי עבור ארנק Electrum) גם לא הצליחו להגיע לקונצנזוס עם שאר הרשתות. בעוד שצמתי ה-LND הוצאו מקונצנזוס בגלל בעיה דומה ב-btcd, זו הייתה יישום של ביטקוין שנכתב ב-Rust גרם לצמתי החשמל ליפול מאחור, כולל כמה שרתים גלויים מאוד מנוהל על ידי mempool.space.

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

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

מימושים מרובים של ביטקוין זה מסוכן

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

אִיוּם? מה העניין הגדול?

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

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

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

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

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

איך בכלל יתקיים דבר כזה?

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

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

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

הנה: יישומים מרובים הם מסוכנים!

מהן ההטמעות האחרות של ביטקוין ולמה הן קיימות?

קודם כל, רוב כולם מפעילים Bitcoin Core.

לוק דשג'ר רואה כ-43,000 צמתים, 98% מהם מפעילים Bitcoin Core ומשהו שנקרא Coin Dance רואה קרוב ל-15,000 צמתים, 96% מהם מפעילים Bitcoin Core. אז, כרגע, נראה שמעט מאוד אנשים משתמשים ביישומים חלופיים.

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

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

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

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

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

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

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

אי שימוש במספר יישומים עלול להיות מסוכן יותר

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

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

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

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

יישומים מרובים להצלה!

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

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

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

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

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

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

בול זמן:

עוד מ מגזין Bitcoin