עדכון זה נכתב וסופק על ידי המפתח הראשי של Litecoin MimbleWimble דיוויד בורקט.
————
v0.21 שחרור
קיוויתי להוציא את גרסה v0.21 כבר, אבל אני מחכה למפתח אחרון שיבדוק. כמה מאיתנו כבר עברו בניית מבחן כדי לוודא שהסביבות שלנו מוגדרות כהלכה, אז ברגע שכולם חתמו על הקוד, אנחנו אמורים להיות מסוגלים לבנות מועמד לשחרור ולחתום די מהר.
השינוי הבולט ביותר בגרסה 0.21 הוא הכללת תמיכת Taproot. ההיגיון של Taproot זהה לביטקוין, אבל ההפעלה תתבצע אחרת. בחרנו לנסות את המנגנון שבו אנו מתכננים להשתמש עבור הפעלת MWEB, שהוא bip8 6 עם
lockinontimeout
מַעֲרֶכֶת.
לפעמים קשה לעקוב אחר הפעלת המזלג הרך, מכיוון שיש כמה דרכים שונות שניתן לעשות זאת (BIP8, BIP9, UASF וכו'), וההפעלה מתבצעת באמצעות מספר שלבים או "מצבים", שאינם בדרך כלל מוסבר היטב עבור משתמשים שאינם טכניים. אני רוצה לוודא שכולם יוכלו לעקוב אחר מה שקורה, אז נעבור על התהליך להפעלת שורש השורש.
הפעלת שורשי השורש
לכל בלוק יש א version
שדה, שבו הכורים יכולים להשתמש כדי "להצביע" עבור soft forks. הכורים ישתמשו בחלק קטן של version
שדה לאותת להפעלת Taproot.
כל 8,064 בלוקים, "חלון" חדש מופעל. בסוף כל חלון, הצמתים רושמים את כל הבלוקים שמאותתים על תכונה, ואם הסכום הכולל עומד בסף שהוגדר, התכונה "ננעלת" להפעלה בחלון הבא. במקרה שלנו, הסף מוגדר כ-6,048 בלוקים או 75% מהבלוקים בחלון.
אז כך זה ייראה עבור Taproot:
שורש שורש יהיה בתחילה ב-
DEFINED
מדינה, מה שפשוט אומר שזו תכונה ידועה אך עדיין לא ניתן להצביע עליה.בבלוק 2,153,088 (תחילת עד אמצע נובמבר), התכונה תעבור ל-
STARTED
מדינה, כלומר כורים משודרגים יכולים להתחיל לאותת/להצביע להפעלת שורש שורש. לאחר 8,064 בלוקים (החלון הראשון), צמתים יסכמו את מספר הבלוקים שסימנו להפעלת Taproot.התהליך חוזר על עצמו עד שמתקיים אחד משני התנאים:
מתרחש חלון שלפחות 6,048 (75%) מהבלוקים מאותתים עבור Taproot:
בסוף חלון זה, Taproot עובר ל-
LOCKED_IN
מדינה. זה נשארLOCKED_IN
לחלון המלא הבא (8,064 בלוקים), מה שמאפשר לכולם זמן לשדרג.לאחר היות
LOCKED_IN
עבור חלון שלם אחד, Taproot עובר ל
ACTIVE
. צמתים מתחילים לאכוף כללי קונצנזוס של Taproot עבור כל הבלוקים
אם הסף הוא לֹא נפגשו על ידי בלוק 2,362,752 (נובמבר 2022), אנו מסתמכים על
lockinontimeout
אפשרות שהזכרתי קודם:Taproot עובר ל
LOCKED_IN
, למרות אי עמידה בתנאי הסף. הכורים חייבים להתחיל לסמן עבור Taproot. כל בלוק שלא מאותת עבור Taproot יתעלם מהצמתים ברשת.לאחר היות
LOCKED_IN
עבור חלון שלם אחד, Taproot עובר ל
ACTIVE
. צמתים מתחילים לאכוף כללי קונצנזוס של Taproot עבור כל הבלוקים
אני מקווה שזה קל מספיק להבנה, אבל אם משהו מזה לא ברור, מפרט BIP8 המלא זמין כאן 6.
בְּדִיקָה
נפגשתי עם המבקרים של Quarkslab ביום רביעי לצ'ק-אין באמצע הביקורת. הם מסיימים את הניתוח הסטטי שלהם של הקוד, ומצאו מעט מאוד בעיות עד כה, וזה מאוד מעודד.
דנו גם בסדרי עדיפויות להמשך הביקורת, כדי לוודא שהחלקים החשובים ביותר מכוסים ביסודיות.
במהלך השבועות הקרובים, מבקר אחד יתמקד בבדיקה ידנית, ינסה לוודא שזה עובד כמצופה, וחשוב מכך, מנסה לראות אם הם יכולים לשבור אותו.
המבקר השני בקיא בקריפטוגרפיה, ולכן יתמקד מאוד בעיצוב ה-tx החד-צדדי (LIP-0004) כדי לוודא שלא פספסנו שום התקפות שעלולות לפגוע בשלמות המפתח, להוביל לגמישות tx (כלומר לאפשר למישהו לשנות עסקה שהם לא היוצרים שלה), או כל מספר אחר של בעיות אבטחה.
אני מצפה שנקבל את תוצאות הביקורת בעוד מספר שבועות