Blockchain

בנייה על תפוטים: בריכות תשלום עשויות להיות הפרוטוקול של שכבה שני של ביטקוין

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

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

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

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

שיתוף מטבע

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

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

הסיבה לכך היא שיש רק שתי אפשרויות עיקריות להוציא מטבעות מהכתובת.

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

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

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

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

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

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

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

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

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

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

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

הכנסת התשלום למאגר התשלומים

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

זה למשל מאפשר לכל אחד מהם לבלות מהבריכה.

ראה גם

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

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

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

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

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

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

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

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

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

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

מקור: https://bitcoinmagazine.com/articles/building-on-taproot-payment-pools-could-be-bitcoins-next-layer-two-protocol?utm_source=rss&utm_medium=rss&utm_campaign=building-on-taproot-payment- בריכות-יכול להיות-bitcoins-next-layer-two-protokol