كتلة سلسلة

البناء على Taproot: يمكن أن تكون مجمعات الدفع بروتوكول الطبقة الثانية من Bitcoin

تتناول هذه المقالة مفهومًا تقنيًا يستند إلى ترقية بروتوكول Taproot المقترحة. إذا لم تكن على دراية بأساسيات كيفية عمل Taproot ، فمن المستحسن أن تقرأ أولاً هذا الشرح.

أصل، ترقية محتملة لبروتوكول Bitcoin الذي اقترحه أولاً جريجوري ماكسويل ، المساهم في Bitcoin Core ، في المراحل الأخيرة من التطوير. تتكون التكنولوجيا من مزيج ذكي من حيل التشفير التي من شأنها أن تتيح للمستخدمين إخفاء العقود الذكية المعقدة داخل المعاملات ذات المظهر المنتظم - لا يتم الكشف عن التعقيد إلا إذا كانت أطراف العقد غير متعاونة.

من خلال الاستفادة من هذه الفكرة ، قام المساهمون في Bitcoin Core بما في ذلك (على سبيل المثال لا الحصر) Jeremy Rubin و Antoine Riard و Gleb Naumenko و Gregory Maxwell نفسه بالتكهن حول مفهوم عام يشار إليه باسم مجمعات الدفع, الانضمام أو coinpools. ستسمح هذه المجمعات - سنلتزم بتسميتها مجمعات الدفع في الوقت الحالي - لمجموعات من المستخدمين بمشاركة ملكية نفس العملات (تقنيًا: UTXOs) كما هو مسجل على Bitcoin blockchain ، مع السماح لأي من هؤلاء المستخدمين بإجراء (أو تلقي) المدفوعات معهم. نظرًا لأن المجموعة وأعضائها "يختبئون" في هيكل Taproot ، فإنهم جميعًا يتمتعون بمزيد من الخصوصية ومرونة العقد الذكية ومزايا أخرى ... ومن المحتمل أن يستمتعوا بهذه المزايا خارج السلسلة ، مما يجعل مجموعات الدفع حلًا جديدًا من الطبقة الثانية.

على الرغم من أن تفاصيل التصميم تختلف قليلاً من اقتراح لمجموعة مدفوعات إلى آخر ، فإن المفهوم العام هو نفسه. ها هي الفكرة الأساسية ...

تقاسم العملة

أولاً ، لإنشاء مجمع دفع ، يقوم المستخدمون بدمج (أجزاء) عملاتهم المعدنية عن طريق تجميعها في عنوان Taproot المشترك بينهم. لذا ، لنفترض أن أليس تمتلك ثلاث عملات ، وبوب يمتلك عملتين ، وكارول تمتلك عملة واحدة ، بإجمالي ستة. معًا ، قاموا بإنشاء معاملة ترسل هذه العملات المعدنية إلى العنوان المشترك ، مما يجعلها مجمع دفع بست عملات معدنية.

على blockchain ، يبدو عنوان تجمع الدفع كعنوان Bitcoin عادي ، يحتوي الآن على ست عملات معدنية. ولكن تحت السطح ، استخدم أليس وبوب وكارول بذكاء Taproot للتأكد من أن كل واحد منهم لا يزال يتحكم في حصته من العملات المعدنية في مجموعة المدفوعات. يمكن لأليس في أي وقت المطالبة بثلاث عملات معدنية من العنوان ، ويمكن لبوب في أي وقت المطالبة بقطعتين وكارول واحدة.

هذا بسبب وجود خيارين رئيسيين فقط لإنفاق العملات المعدنية من العنوان.

الخيار الأول هو الإنفاق مباشرة من العنوان ، من الناحية الفنية ، مسار مفتاح Taproot. وهذا يتطلب التعاون (أي: التوقيعات المشفرة) من جميع المشاركين الثلاثة. إذا وافق كل من Alice و Bob و Carol ، فيمكن إنفاق العملات الست كما يحلو لهم ، وسيبدو هذا مثل أي معاملة عادية أخرى على شبكة Bitcoin. يمكن للثلاثي ، على سبيل المثال ، أن يقرروا إرسال أرصدة كل منهم إلى العناوين الفردية: ثلاثة لأليس ، واثنان لبوب وواحد لكارول. ولكن إذا اختاروا ذلك ، فيمكنهم أيضًا التعاون للتبرع بجميع العملات المعدنية الست لجوليان ، أو إنفاقها بأي طريقة أخرى قد يتفقون عليها. الشيء المهم هو أن الثلاثة جميعهم بحاجة إلى المشاركة ، لذلك لا يتم إنفاق رصيد أي شخص دون تعاونه أو تعاونها.

يتكون الخيار الرئيسي الثاني في الواقع من عدة خيارات فرعية. قبل إرسال عملاتهم المعدنية إلى مجمع الدفع ، أخفت أليس وبوب وكارول شيئًا ما في شجرة التشفير خلف عنوان Taproot: لقد قاموا بتضمين طرق بديلة لإرسال الأموال من مجمع المدفوعات. (في الوقت الحالي ، يمكن تحقيق ذلك من خلال جعل جميع المشاركين الثلاثة يوقعون مسبقًا المعاملات من هذه المسارات ، الأمر الذي يتطلب بعض التعقيد لإعداد جميع الخيارات ولا يتسع نطاقه جيدًا ؛ ترقيات البروتوكول المقترحة من المحتمل أن تجعل هذا أسهل في المستقبل .)

إذا اختار أحد المشاركين إنفاق العملات المعدنية في مجموعة المدفوعات من خلال مسار Taproot البديل ، فسيقومون عادةً بإرسال مبلغ يتوافق مع رصيد ذلك المشارك إلى عنوان من اختيارهم ، مثل العنوان الفردي الذي يتحكمون فيه. (في حالة أليس ، ثلاث عملات معدنية لعنوانها الخاص ، في حالة بوب اثنان لعنوانه وفي حالة كارول واحد).

باستخدام هذا المسار البديل ، يتم إنفاق العملات المتبقية تلقائيًا أيضًا. يمكن القيام بذلك بعدة طرق اعتمادًا على تصميم مجمع المدفوعات ، مما يوفر مقايضات مختلفة فيما يتعلق بالتعقيد وقابلية التوسع.

أبسط حل هو إرسال كل مشارك آخر نصيبه من العملات المعدنية إلى عنوان من اختياره. بمعنى آخر: إذا خرج أحد المستخدمين من التجمع ، فسيخرج الجميع من التجمع.

الحل الثاني ، الذي يفضله Riard و Naumenko ، هو إرسال جميع العملات المتبقية إلى a جديد تجمع المدفوعات ، الذي يبدو تمامًا مثل أول تجمع للدفع ، تم تجريده للتو من أي شيء يتعلق بالمستخدم الذي خرج الآن. يوفر هذا التصميم أفضل تجربة للمستخدم ، ولكنه الأصعب في القياس ، والأهم من ذلك أنه من الضروري الاستعداد لجميع سيناريوهات الخروج المحتملة ، بما في ذلك جميع سيناريوهات الخروج الممكنة لجميع التجمعات الجديدة المحتملة. ومع ذلك ، يمكن تحقيق الحجم من خلال ترقية بروتوكول Bitcoin المحتملة التي لم يتم تسميتها بعد لضمان نقل القواعد من مجموعة المدفوعات السابقة إلى أي مجمع دفع جديد.

يعتقد روبن أن هذا الحل الثاني غير عملي ، ويفضل الذهاب لشيء ما بين الحلين الأول والثاني: يتلقى بعض المشاركين على الفور عملاتهم المعدنية إلى عنوان من اختيارهم ، بينما يتم إرسال عملات المشاركين الآخرين إلى مجموعة دفع جديدة. يوفر هذا التصميم تجربة مستخدم أقل مثالية ، ولكنه سيتوسع بشكل أفضل ، وستساعد ترقية البروتوكول OP_CHECKTEMPLATEVERIFY المحتملة في تبسيط التصميم وزيادة الحجم بشكل أكبر. (تحدث عمليات الخروج من خلال الدفعات المتسلسلة ؛ يتم استكشاف هذه الأنواع من المدفوعات بمزيد من التفصيل في هذا المقال.)

(هناك المزيد من المفاضلات بين الحلين الثاني والثالث ، لكن تفاصيل جميع الإيجابيات والسلبيات تقع خارج نطاق هذه المقالة ؛ اقرأ مناقشة القائمة البريدية لـ bitcoin-dev للتفاصيل.)

لمعرفة ما يعنيه عند إرسال العملات المتبقية إلى مجموعة مدفوعات جديدة ، دعنا نقول أن أليس ، بوب وكارول اختاروا الخيار الثاني ، حيث من جميع يتم إرسال العملات المتبقية إلى مجموعة دفع جديدة. إذا خرجت Alice في هذا التصميم من مجموعة الدفع الأولى ، فسيتم إرسال ثلاث عملات معدنية إلى عنوان تختاره ، بينما يتم إرسال العملات المعدنية الثلاثة الأخرى إلى تجمع دفع جديد بين Bob و Carol. تتمتع أليس في تلك المرحلة بالسيطرة الوحيدة على عملاتها المعدنية مرة أخرى ، بينما لم يتغير الكثير بالنسبة لبوب وكارول. لا يزال بإمكانهما التعاون لإنفاق العملات المعدنية الثلاث المتبقية كما يحلو لهما ، أو يمكن لأي منهما الخروج من جانب واحد ، كما فعلت أليس من قبل.

إذا خرج بوب بعد ذلك من جانب واحد من مجموعة المدفوعات الثانية ، فإنه يرسل عملتين إلى عنوان من اختياره ، وعملة واحدة إلى مجموعة مدفوعات أحدث (المجموعة الثالثة) مع بقاء كارول فقط. (بالطبع ، في هذا المثال المبسط ، فإن التصميم الذي يتم فيه استبدال تجمع المدفوعات الأخير هذا بعنوان من اختيار كارول سيكون منطقيًا في الواقع ، ولكن هذه تفاصيل التنفيذ.)

المهم هو أن المشاركين في تجمع المدفوعات يمكنهم التعاون لإجراء أي نوع من المدفوعات من المجموعة التي يريدونها ، بينما يمكن لأي منهم الخروج في أي وقت بعملاته المعدنية الخاصة ، مما يترك المشاركين الآخرين في السيطرة على عملاتهم.

وضع الدفع في صندوق الدفع

لذا فقد توصلنا إلى أنه يمكن لجميع المشاركين بشكل فردي سحب رصيدهم من مجموعة المدفوعات ، أو - إذا وافقوا جميعًا - الإنفاق من المجمع. إنه الخيار الثاني الذي يمكّن بالفعل شيئًا ذكيًا: يمكن أن يكون مجمع المدفوعات ديناميكيًا. طالما وافق جميع المشاركين ، لا يمكنهم فقط سداد أموالهم لأنفسهم ، أو الدفع للآخرين (مثل جوليان) ، ولكن يمكنهم فعل شيء أكثر إثارة للاهتمام. يمكنهم نقل أموالهم إلى إصدارات أحدث من مجمع المدفوعات ، بتصميمات مختلفة.

هذا على سبيل المثال يتيح لأي واحد منهم الإنفاق من المسبح.

انظر أيضا

نظرًا لأن Taproot ، أحدث تغيير في بروتوكول الإجماع ، يقترب من التنشيط ، يسأل مطورو Bitcoin كيف يجب ترقية الشبكة بالضبط.

لنفترض أن أليس تشتري سيارة جديدة ، وتريد أن تدفع ثمنها ببيتكوين واحد. يمكن لأليس وبوب وكارول بعد ذلك إنشاء معاملة من مجموعة المدفوعات التي ترسل عملة واحدة إلى وكالة بيع السيارات ، وترسل العملات الخمس المتبقية إلى جديد تجمع المدفوعات الذي يشبه الأول ، باستثناء هذه المرة ، لا يمكن لأليس الخروج منه إلا من جانب واحد بعملتين ، واحدة أقل من ذي قبل.

في غضون ذلك ، بدت المعاملة مثل أي معاملة Bitcoin عادية أخرى. قد يستنتج تاجر السيارات (أو جواسيس blockchain) أن أليس تمتلك جميع العملات المعدنية الست واستخدمت واحدة لشراء السيارة ، واحتفظت بالعملات الخمس الأخرى كتغيير. لن يكون لديهم أي فكرة عن أن بعض العملات المعدنية تخص بوب وكارول ، أو أنهم شاركوا في الصفقة على الإطلاق.

في المرة القادمة ، عندما يقوم بوب بالدفع وتتعاون أليس وكارول ، يتم إجراء ذلك من نفس مجمع الدفع ، ويبدو مرة أخرى وكأنه معاملة بيتكوين عادية للعالم الخارجي. في التكرار الناتج لمجمع المدفوعات ، يمكن أن يخرج بوب بعملة واحدة بدلاً من اثنين. في هذه الأثناء ، ربما اعتقد نفس جواسيس بلوكتشين أن أليس تقوم بالدفع مرة أخرى ، مما يزيد من إرباكهم. (وحتى إذا اكتشف جواسيس blockchain بطريقة ما أن العنوان عبارة عن مجموعة مدفوعات بين Alice و Bob و Carol ، فلا يزالون غير قادرين على معرفة أي من الثلاثة قام بالدفع الأخير.)

في كل مرة تنفق فيها أليس أو بوب أو كارول عملات معدنية ، ربما تكون المعاملة قد أتت من أي واحد منهم ، ولا يمكن لأي شخص خارج مجموعة المدفوعات معرفة الفرق.

لا تسمح مجمعات الدفع بالإنفاق فقط. إذا أرادت أليس زيادة "رصيدها" في مجموعة المدفوعات ، يمكنها القيام بذلك أيضًا. ستتعاون أليس وبوب وكارول في هذه الحالة لنقل العملات المعدنية الخمس الحالية إلى عنوان Taproot الجديد ، والذي سترسل إليه أليس في نفس المعاملة عملة إضافية واحدة من أحد عناوينها (الفردية). سيحتوي عنوان Taproot الجديد مرة أخرى على ست عملات ، ثلاثة منها تنتمي إلى Alice ، كما ينعكس في خيار الخروج أحادي الجانب.

بنفس الطريقة ، يمكن للمستخدمين الجدد تمامًا الانضمام إلى مجموعة المدفوعات أيضًا. إذا وافق Alice و Bob و Carol على السماح لـ Dave بالمشاركة ، يتعاون الثلاثة منهم مع Dave لإنشاء معاملة ترسل أموال مجمع المدفوعات جنبًا إلى جنب مع عملات Dave الجديدة إلى تجمع دفع جديد ، مصمم أيضًا للسماح لـ Dave بالمشاركة - والخروج إذا اختار ذلك.

علاوة على ذلك ، هناك خيار للمشاركين داخل مجموعة المدفوعات لدفع بعضهم البعض. إذا كانت أليس على سبيل المثال ستدفع لعملة واحدة لبوب ، فيمكن للثلاثة أن يتعاونوا لإرسال الأموال إلى مجموعة مدفوعات جديدة حيث يتم خصم عملة معدنية من رصيدها ويتم إضافة عملة معدنية لبوب. على blockchain ، مرة أخرى ، سيبدو الأمر وكأنه دفعة منتظمة ، ولن يكون لدى جواسيس blockchain أي فكرة عمن دفع ، أو كم. (تجدر الإشارة إلى أن ديف كان بإمكانه دخول المجمع بطريقة مماثلة ، من خلال تلقي دفعة داخلية من أحد المشاركين الحاليين).

مع القليل من التعقيد الإضافي (وبشكل مثالي مع ترقية بروتوكول Bitcoin إضافية واحدة على الأقل مثل أي إدخال) ، يمكن حتى إكمال عمليات النقل خارج السلسلة أيضًا. عندما تدفع أليس إلى بوب ، يقوم جميع المشاركين في هذه الحالة بإنشاء أموال إنفاق معاملة إلى تجمع دفع جديد تمامًا ، ولكن هذه المعاملة ستتم مشاركتها فقط بينهم - ولن يتم بثها إلى الشبكة (ما لم يحاول شخص ما الغش على الإطلاق). بهذه الطريقة ، يمكن لأليس وبوب وكارول الاستمرار في تحديث رصيدهم "داخليًا" ، وحتى السماح لـ ديف بالدخول إلى المسبح في مرحلة ما. عندما يوافقون جميعًا على إغلاق المجمع ، يمكنهم إنشاء معاملة نهائية تنفق من مجموعة المدفوعات الأصلية ، ومنح كل رصيد آخر لهم.

على غرار فكرة قديمة معروفة باسم مصانع القناة، يمكن استخدام هذه الأنواع من مجمعات الدفع في النهاية لأنفسهم لاستضافة قنوات Lightning أو خزائن أو بروتوكولات أخرى من الطبقة الثانية. قد يوفر هذا إمكانية "التفاف" أي نوع من طبقات البروتوكول الإضافية في مثل هذه التجمعات ، وبالتالي إخفاء كل تعقيداتها في معاملات متطابقة ومنتظمة المظهر.

المصدر: 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- تجمعات يمكن أن تكون بروتوكول بيتكوين التالي طبقة اثنين