צוואר-בקבוק גודל הבלוק – הדיבייט הגדול

מה זה מגבלת גודל הבלוק?

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

ואם לא נעשה כלום?

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

ואם נגיב עכשיו?

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

למה אנחנו נתקלים בבעיה הזאת בכלל?

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

הדיבייט הגדול של ביטקוין

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

מי קובע מה יקרה?

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

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

Leave a Reply

Your email address will not be published.


1 + 8 =

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>