הנחת העדים: מדוע חלק מהבתים זולים יותר מאחרים

By Bitcoin מגזין - לפני חודשיים - זמן קריאה: 4 דקות

הנחת העדים: מדוע חלק מהבתים זולים יותר מאחרים

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

מדוע חלק מהבתים זולים יותר מבייטים אחרים?

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

היו 3 שיפורים משמעותיים bitcoinיישור התמריצים של עד היום:

1. הגבלת גודל הבלוק

2. העברת העלות של סקריפטים מורכבים מהשולח לנמען (P2SH)

3. יישור עלויות הנתונים בין רצי צמתים וטרנזקטורים (SegWit)

הגבלת גודל הבלוק

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

העברת עלויות סקריפט מורכבות מהשולח לנמען

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

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

יישור עלויות הנתונים בין רצים לצומת וטרנסקטורים

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

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

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

ככל שזה נראה מוזר, האימות שכל UTXO בילה על ידי עסקה בהיסטוריה blockchain שסקריפט הנעילה שלו מתקיים על ידי סקריפט פתיחה תואם הוא פחות מהותי משמעותית. לצורך העניין, א bitcoin ברירת המחדל של צומת פועל bitcoin core 26.x לא יאמת את ביצוע סקריפט הנעילה המלא עבור עסקאות לפני בלוק 804000 (19 באוגוסט 2023).

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

הכנס עד מבודד

השמיים עד מופרד (SegWit) soft fork הוא השינוי השאפתני ביותר שנעשה בו bitcoin עד היום. המוטיבציה הגדולה ביותר לשינוי הייתה לתקן את הבעיה ארוכת השנים של TXID4 גמישות5 in bitcoin. על מנת לתקן את הגמישות הזו, תסריט פתיחת הנעילה מוחלף ב"עד שנוצר" לאחרונה. על ידי הסרת נתוני ההרשאה (שלרוב ניתן לשנות על ידי צדדים שלישיים מבלי לשנות את השפעות העסקה) מה-TXID, מתאפשרים פרוטוקולים (כגון Lightning) התלויים ב-TXIDs ללא שינוי.

כאשר נתוני ההרשאה הועברו ממבנה העסקאות המקורי, הם אינם נחשבים עוד כנגד מגבלת החסימה של מיליון בתים. נדרשת מגבלה חדשה. גישות רבות להגבלת נתוני העדים המופרדים נדונו בזמנו: מגבלת בתים נפרדת של עדים1, מגבלה משולבת של < 1 מיליון בתים7, או מגבלה משולבת משוקללת. בסופו של דבר, נבחרה המגבלה המשולבת המשוקללת, עם נתוני עדים מופרדים משוקללים של יחידה אחת, נתוני עסקאות משוקללים ב-1 יחידות ומגבלת בלוק משקל של 4 מיליון. כל יחידת משקל מטופלת כ-4/1 של בית וירטואלי (vByte) לצורך חישובי עמלות.

למה המשקולות האלה? הבה נסתכל על העלות של תשומות ותפוקות עסקאות עם ובלי עדים מופרדים:

הדבר הראשון שיש לשים לב מטבלה זו הוא כיצד לסוגי הסקריפט של העדים (P2WPKH, P2WSH) יש כמעט אותו מספר של בתים קלט ופלט (אשר מחויבים ב-vByte מלא כל אחד). לאחר מכן, המוציא של תסריט עד מחויב ב-1/4 vByte עבור הנתונים המאשרים את ההוצאה, שחלק גדול מהם אינו מאומת עבור אף אחת מהעסקאות האחרונות, ולאף אחת מהן אין עלות שוטפת במדד UTXO. הדבר הנוסף שכדאי לציין כאן הוא כיצד עלות השימוש במולטי-סיג מאובטח יותר של 2 מ-3 בהשוואה לחתימה בודדת מצטמצמת מ-147 vBytes ל-36.25 vBytes.

שורש וכתובות משנים הכל (או כלום)

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

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

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

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

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

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

ראוי לציין זאת if פרוטוקולי multisig מחוץ לשרשרת כגון MuSig2 or כפור, או חתימות מתאם הופכות נפוצות; זה אולי הגיוני להפחית או לבטל את הנחת העדים. פרוטוקולים אלה יכולים לאפשר אחריםwise תנאי הוצאה גדולים שיוצגו בחתימה אחת. זה, בשילוב עם ההוצאה היעילה של נתיב המפתח של Taproot יכול להוריד את העלות של קלט עם תנאים מורכבים כמעט באופן שרירותי ל-105 בלבד בתים.

סיכום

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

הישארו צנועים, ערמו סטים ובנו.

הערות שוליים

המונח עד אומץ לתוך bitcoin מהז'רגון הצפנה שבו הוא מתייחס לנתונים הדרושים לאימות יעילה של טענה קריפטוגרפית. BIP141 מגדיר זאת ככל "נתונים הנדרשים לבדיקת תקפות העסקה אך אינם נדרשים לקביעת השפעות העסקה". ייתכן שקריפטוגרפים קלטו את המונח מייצור סימני עדים המשמשים לאימות יעילה של יישור הרכיבים. ה אוטריקסו הפרויקט שואף לשנות זאת עבור תת-קבוצה של bitcoin צמתים בכך שהם מאפשרים להם לצבור ביעילות שורשי הכללת UTXO ולאחר מכן לקבל את נתיבי ההכללה יחד עם ההוצאות של אותם UTXOs. אם זה הופך להיות דרך נפוצה לשימוש bitcoin, זה מעביר את העלות של יותר UTXOs מהצמתים לבעלי אותם UTXOs. ה ZeroSync הפרויקט נועד לשנות זאת עבור צמתים מסוימים בהקשרים מסוימים. מזהה עסקה: סדר בתים הפוך כפול SHA256 של העסקה בפורמט רשת מראש של Segwit. לעסקאות תקפות מרובות עם אותן כניסות ויציאות יש טקסידים שונים אם הן נחתמות בדרכים שונות או שהחתימות שלהן השתנו על ידי צד שלישי. יכול להיות כל ערך ללא מזלג קשה מכיוון שצמתים ישנים אינם מודעים לנתוני העדים המופרדים. 1 מיליון או פחות כדי לשמור על תאימות ולמנוע מזלג קשה. בהנחה שהשימוש במפתחות ציבוריים קומפקטיים ובחתימות DER נמוכות של 71 בתים. מישהו זוכר קוביות סאטושי

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

מקור מקורי: Bitcoin מגזין