أصبحت عمليات التجميع مؤخرا محور تحجيم BTC ، لتصبح أول شيء “يسرق العرض” حقا من شبكة الإضاءة من حيث الاهتمام الأوسع. تم تصميم التراكمات لتكون طبقة ثانية لا تخضع لقيود أو قيود شبكة الإضاءة الأساسية السيولة، أي أن المستخدم النهائي يحتاج إلى شخص ما لتخصيص (أو “إقراض”) الأموال مقدما من أجل تلقي الأموال، أو يحتاج المسار الوسيط إلى رصيد قناة لتسهيل التدفق الكامل لمبلغ الدفع من المرسل إلى المستلم.
هذه الأنظمة كانت في البداية تعمل على شبكة الإيثيريوم وغيرها من الأنظمة اكتملت الجولة، ولكن مؤخرًا تم التركيز بشكل أساسي على نقلها إلى سلسلة كتل معتمدة على UTXO (مثل BTC). لن يتم مناقشة الوضع الحالي للتنفيذ على BTC في هذه المقالة، بل سنناقش الوظائف المثلى للRollup التي يسعى الناس إليها لفترة طويلة، والتي تعتمد على القدرات التي لا يدعمها BTC حاليًا، أي القدرة على التحقق مباشرة من الدليل بدون معرفة (ZKP) على BTC.
تتكون البنية الأساسية لـ Roll كما يلي: تحتفظ الحساب الفردي (UTXO في BTC) برصيد جميع المستخدمين في Rollup. يحتوي هذا UTXO على التزام يتم تمثيله بجذر Merkle لشجرة Merkle ، والتزام يحتوي على أرصدة الحساب الحالية في Rollup. يتم تخويل جميع هذه الحسابات باستخدام المفتاح العام/الخاص ، لذا لا يزال على المستخدمين استخدام المفتاح السري لتوقيع محتوى معين لإجراء الدفعات خارج السلسلة. يسمح هذا الجزء من الهيكل للمستخدمين بالخروج في أي وقت بدون إذن وفقط عن طريق تقديم دليل على أن حسابهم هو جزء من شجرة Merkle ، حيث يمكنهم الخروج من Rollup من جانب واحد دون الحاجة إلى إذن من المشغل.
يجب على مشغلي Rollup تضمين ZKP في المعاملات لتحديث جذر merkle لرصيد الحساب داخل السلسلة خلال عملية المعاملات خارج السلسلة. إذا لم يتم ذلك، فسوف تكون المعاملة غير صالحة ولا يمكن تضمينها في البلوكتشين. يتيح هذا الإثبات للأشخاص التحقق مما إذا كانت جميع التغييرات على رصيد الحساب خارج السلسلة تمت بموافقة صاحب الحساب المناسب وإذا كان المشغل لم يقم بتحديث الرصيد بشكل خبيث لسرقة أموال المستخدمين أو توزيعها بشكل غير صادق على مستخدمين آخرين.
المشكلة هي، إذا تم نشر جذر شجرة Merkle فقط في السلسلة، فإن المستخدمين يمكنهم رؤيته والوصول إليه، فكيف يمكنهم وضع فروعهم في الشجرة بحيث يمكنهم الخروج في أي وقت دون الحاجة إلى إذن؟
Rollup المناسب
في Rollup المناسبة، يتم وضع المعلومات مباشرة في سلسلة الكتل كلما تم تأكيد صفقة جديدة خارج السلسلة وتغيرت حالة الحساب Rollup. ليس الشجرة بأكملها، لأن ذلك سيكون سخيفًا، ولكن المعلومات اللازمة لإعادة بناء الشجرة. في تنفيذ بسيط، ستتضمن ملخصات جميع الحسابات الحالية في Rollup الأرصدة، وسيتم إضافة الحسابات فقط في صفقات Rollup التحديثية.
في التطبيقات الأكثر تقدما ، يتم استخدام فروق التوازن. هذا هو في الأساس ملخص للحساب الذي زاد أو نقص الأموال أثناء عملية التحديث. هذا يجعل كل تحديث تراكمي يحتوي فقط على تغييرات رصيد الحساب التي تحدث. يمكن للمستخدم بعد ذلك ببساطة مسح السلسلة و “إجراء الحساب” من بداية الإظهار للوصول إلى الحالة الحالية لرصيد الحساب ، مما يسمح له بإعادة بناء شجرة Merkle للرصيد الحالي.
يمكن بهذه الطريقة توفير العديد من النفقات ومساحة الكتل (وبالتالي توفير الأموال)، وفي الوقت نفسه يسمح للمستخدمين بضمان الوصول إلى المعلومات المطلوبة للخروج من جانب واحد. تتطلب قواعد rollup تضمين هذه البيانات في ال rollup الرسمي المقدم للمستخدمين باستخدام سلسلة الكتل، حيث يُعتبر الصفقات التي لا تتضمن ملخص الحساب أو الفروقات في الحساب صفقات غير صالحة.
صلاحية
طريقة أخرى لمعالجة مشكلة توافر بيانات سحب المستخدم هي وضع البيانات في مكان آخر خارج سلسلة الكتل. يثير هذا مسألة دقيقة حيث يتعين على رول أب التأكد من توافر البيانات في هذا المكان الآخر. تستخدم سلاسل الكتل الأخرى تقليديًا لهذا الغرض ، حيث تم تصميمها خصيصًا لتكون طبقة توافر البيانات لأنظمة مثل رول أب.
هذا يؤدي إلى مأزق قوي مماثل في ضمان الأمان. عندما يتم نشر البيانات مباشرةً على سلسلة كتل بيتكوين، يمكن لقواعد الإجماع ضمان صحتها تمامًا. ومع ذلك، عندما يتم نشرها على الأنظمة الخارجية، فإن أفضل ما يمكنها فعله هو التحقق من دليل SPV، وهي البيانات قد تم نشرها على نظام آخر.
هذا يتطلب إثبات أن البيانات موجودة في دليل داخل السلسلة الأخرى، وهو في النهاية مشكلة أوراكل. سلسلة كتل بيتكوين لا يمكنها التحقق بشكل كامل من أي شيء يحدث خارج كتلتها باستثناء ما يحدث داخل السلسلة الخاصة بها، وأفضل ما يمكن أن يفعله هو التحقق من ZKP. ومع ذلك، فإن ZKP لا يمكن أن يتحقق مما إذا كانت الكتلة التي تحتوي على بيانات rollup قد تم بثها علنًا بعد إنشائها فعليًا. ولا يمكنه التحقق مما إذا كانت المعلومات الخارجية قد تمت إفشاؤها للجميع بالفعل.
فتحت هذه الهجمات باب الاحتجاز البيانات ، وهي إنشاء التزامات بالبيانات المنشورة واستخدامها لتعزيز الروبل ، ولكن البيانات في الواقع غير متوفرة. هذا يؤدي إلى عدم قدرة المستخدمين على سحب الأموال. الحل الوحيد الحقيقي هو الاعتماد بشكل كامل على القيمة والهيكل التحفيزي للنظام خارج بيتكوين.
الانسحاب والتعقيد
هذا يجلب ل rollup مأزقًا. عندما يتعلق الأمر بمشكلة توافر البيانات، فإنه يوجد اختيار ثنائي تقريبًا بين نشر البيانات على سلسلة كتل بتكوين أو في مكان آخر. هذا الاختيار له تأثير كبير على أمان rollup وسيادته وقابليته للتوسيع.
من جهة، استخدام سلسلة الكتل بيتكوين كطبقة لتوافر البيانات سيضع حدًا صارمًا لقابلية توسيع rollup. الفضاء الكتلي محدود، مما يحدد حدًا لعدد rollup الممكن وإجمالي عدد المعاملات التي يمكن معالجتها خارج السلسلة. كل تحديث لـ rollup يتطلب فضاء كتلي يتناسب مع عدد حسابات الرصيد التي تغيرت منذ التحديث السابق. تسمح نظرية المعلومات فقط بضغط البيانات إلى حد معين، وبالتالي لا يوجد مزيد من إمكانيات التوسيع في هذا النقطة.
من ناحية أخرى ، يؤدي استخدام طبقات مختلفة لتحقيق قابلية الوصول إلى البيانات إلى إزالة الحد الأقصى الصلب على القابلية للتوسع ، ولكنه يأتي بمشاكل أمنية وسيادية جديدة. في Rollup الذي يستخدم BTC لتحقيق قابلية الوصول إلى البيانات ، فإنه إذا لم يتم نشر البيانات التي يحتاجها المستخدم للانسحاب تلقائيًا على سلسلة الكتل ، فلن يمكن لحالة Rollup أن تتغير. يتوقف هذا الضمان بالكامل على قدرة النظام الخارجي المستخدم على مكافحة الغش وإخفاء البيانات عند استخدام Validiums.
الآن ، يمكن لأي منتج للكتلة على نظام توفر البيانات الخارجية أن يتسلل إلى أموال مستخدمي BTCRollup من خلال إنتاج كتلة بدلاً من بث الكتلة الفعلية ، وبالتالي جعل البيانات متاحة.
إذا تم تحقيق تنفيذ Rollup المثالي على BTC ، وتحقيق سحب المستخدم الأحادي الجانب ، فماذا سيحدث؟
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
مجلة بيتكوين: ما هي تحديات Rollup؟
مصدر: مجلة بيتكوين؛ ترجمة: Wu Zhu ، Jinse Finance
أصبحت عمليات التجميع مؤخرا محور تحجيم BTC ، لتصبح أول شيء “يسرق العرض” حقا من شبكة الإضاءة من حيث الاهتمام الأوسع. تم تصميم التراكمات لتكون طبقة ثانية لا تخضع لقيود أو قيود شبكة الإضاءة الأساسية السيولة، أي أن المستخدم النهائي يحتاج إلى شخص ما لتخصيص (أو “إقراض”) الأموال مقدما من أجل تلقي الأموال، أو يحتاج المسار الوسيط إلى رصيد قناة لتسهيل التدفق الكامل لمبلغ الدفع من المرسل إلى المستلم.
هذه الأنظمة كانت في البداية تعمل على شبكة الإيثيريوم وغيرها من الأنظمة اكتملت الجولة، ولكن مؤخرًا تم التركيز بشكل أساسي على نقلها إلى سلسلة كتل معتمدة على UTXO (مثل BTC). لن يتم مناقشة الوضع الحالي للتنفيذ على BTC في هذه المقالة، بل سنناقش الوظائف المثلى للRollup التي يسعى الناس إليها لفترة طويلة، والتي تعتمد على القدرات التي لا يدعمها BTC حاليًا، أي القدرة على التحقق مباشرة من الدليل بدون معرفة (ZKP) على BTC.
تتكون البنية الأساسية لـ Roll كما يلي: تحتفظ الحساب الفردي (UTXO في BTC) برصيد جميع المستخدمين في Rollup. يحتوي هذا UTXO على التزام يتم تمثيله بجذر Merkle لشجرة Merkle ، والتزام يحتوي على أرصدة الحساب الحالية في Rollup. يتم تخويل جميع هذه الحسابات باستخدام المفتاح العام/الخاص ، لذا لا يزال على المستخدمين استخدام المفتاح السري لتوقيع محتوى معين لإجراء الدفعات خارج السلسلة. يسمح هذا الجزء من الهيكل للمستخدمين بالخروج في أي وقت بدون إذن وفقط عن طريق تقديم دليل على أن حسابهم هو جزء من شجرة Merkle ، حيث يمكنهم الخروج من Rollup من جانب واحد دون الحاجة إلى إذن من المشغل.
يجب على مشغلي Rollup تضمين ZKP في المعاملات لتحديث جذر merkle لرصيد الحساب داخل السلسلة خلال عملية المعاملات خارج السلسلة. إذا لم يتم ذلك، فسوف تكون المعاملة غير صالحة ولا يمكن تضمينها في البلوكتشين. يتيح هذا الإثبات للأشخاص التحقق مما إذا كانت جميع التغييرات على رصيد الحساب خارج السلسلة تمت بموافقة صاحب الحساب المناسب وإذا كان المشغل لم يقم بتحديث الرصيد بشكل خبيث لسرقة أموال المستخدمين أو توزيعها بشكل غير صادق على مستخدمين آخرين.
المشكلة هي، إذا تم نشر جذر شجرة Merkle فقط في السلسلة، فإن المستخدمين يمكنهم رؤيته والوصول إليه، فكيف يمكنهم وضع فروعهم في الشجرة بحيث يمكنهم الخروج في أي وقت دون الحاجة إلى إذن؟
Rollup المناسب
في Rollup المناسبة، يتم وضع المعلومات مباشرة في سلسلة الكتل كلما تم تأكيد صفقة جديدة خارج السلسلة وتغيرت حالة الحساب Rollup. ليس الشجرة بأكملها، لأن ذلك سيكون سخيفًا، ولكن المعلومات اللازمة لإعادة بناء الشجرة. في تنفيذ بسيط، ستتضمن ملخصات جميع الحسابات الحالية في Rollup الأرصدة، وسيتم إضافة الحسابات فقط في صفقات Rollup التحديثية.
في التطبيقات الأكثر تقدما ، يتم استخدام فروق التوازن. هذا هو في الأساس ملخص للحساب الذي زاد أو نقص الأموال أثناء عملية التحديث. هذا يجعل كل تحديث تراكمي يحتوي فقط على تغييرات رصيد الحساب التي تحدث. يمكن للمستخدم بعد ذلك ببساطة مسح السلسلة و “إجراء الحساب” من بداية الإظهار للوصول إلى الحالة الحالية لرصيد الحساب ، مما يسمح له بإعادة بناء شجرة Merkle للرصيد الحالي.
يمكن بهذه الطريقة توفير العديد من النفقات ومساحة الكتل (وبالتالي توفير الأموال)، وفي الوقت نفسه يسمح للمستخدمين بضمان الوصول إلى المعلومات المطلوبة للخروج من جانب واحد. تتطلب قواعد rollup تضمين هذه البيانات في ال rollup الرسمي المقدم للمستخدمين باستخدام سلسلة الكتل، حيث يُعتبر الصفقات التي لا تتضمن ملخص الحساب أو الفروقات في الحساب صفقات غير صالحة.
صلاحية
طريقة أخرى لمعالجة مشكلة توافر بيانات سحب المستخدم هي وضع البيانات في مكان آخر خارج سلسلة الكتل. يثير هذا مسألة دقيقة حيث يتعين على رول أب التأكد من توافر البيانات في هذا المكان الآخر. تستخدم سلاسل الكتل الأخرى تقليديًا لهذا الغرض ، حيث تم تصميمها خصيصًا لتكون طبقة توافر البيانات لأنظمة مثل رول أب.
هذا يؤدي إلى مأزق قوي مماثل في ضمان الأمان. عندما يتم نشر البيانات مباشرةً على سلسلة كتل بيتكوين، يمكن لقواعد الإجماع ضمان صحتها تمامًا. ومع ذلك، عندما يتم نشرها على الأنظمة الخارجية، فإن أفضل ما يمكنها فعله هو التحقق من دليل SPV، وهي البيانات قد تم نشرها على نظام آخر.
هذا يتطلب إثبات أن البيانات موجودة في دليل داخل السلسلة الأخرى، وهو في النهاية مشكلة أوراكل. سلسلة كتل بيتكوين لا يمكنها التحقق بشكل كامل من أي شيء يحدث خارج كتلتها باستثناء ما يحدث داخل السلسلة الخاصة بها، وأفضل ما يمكن أن يفعله هو التحقق من ZKP. ومع ذلك، فإن ZKP لا يمكن أن يتحقق مما إذا كانت الكتلة التي تحتوي على بيانات rollup قد تم بثها علنًا بعد إنشائها فعليًا. ولا يمكنه التحقق مما إذا كانت المعلومات الخارجية قد تمت إفشاؤها للجميع بالفعل.
فتحت هذه الهجمات باب الاحتجاز البيانات ، وهي إنشاء التزامات بالبيانات المنشورة واستخدامها لتعزيز الروبل ، ولكن البيانات في الواقع غير متوفرة. هذا يؤدي إلى عدم قدرة المستخدمين على سحب الأموال. الحل الوحيد الحقيقي هو الاعتماد بشكل كامل على القيمة والهيكل التحفيزي للنظام خارج بيتكوين.
الانسحاب والتعقيد
هذا يجلب ل rollup مأزقًا. عندما يتعلق الأمر بمشكلة توافر البيانات، فإنه يوجد اختيار ثنائي تقريبًا بين نشر البيانات على سلسلة كتل بتكوين أو في مكان آخر. هذا الاختيار له تأثير كبير على أمان rollup وسيادته وقابليته للتوسيع.
من جهة، استخدام سلسلة الكتل بيتكوين كطبقة لتوافر البيانات سيضع حدًا صارمًا لقابلية توسيع rollup. الفضاء الكتلي محدود، مما يحدد حدًا لعدد rollup الممكن وإجمالي عدد المعاملات التي يمكن معالجتها خارج السلسلة. كل تحديث لـ rollup يتطلب فضاء كتلي يتناسب مع عدد حسابات الرصيد التي تغيرت منذ التحديث السابق. تسمح نظرية المعلومات فقط بضغط البيانات إلى حد معين، وبالتالي لا يوجد مزيد من إمكانيات التوسيع في هذا النقطة.
من ناحية أخرى ، يؤدي استخدام طبقات مختلفة لتحقيق قابلية الوصول إلى البيانات إلى إزالة الحد الأقصى الصلب على القابلية للتوسع ، ولكنه يأتي بمشاكل أمنية وسيادية جديدة. في Rollup الذي يستخدم BTC لتحقيق قابلية الوصول إلى البيانات ، فإنه إذا لم يتم نشر البيانات التي يحتاجها المستخدم للانسحاب تلقائيًا على سلسلة الكتل ، فلن يمكن لحالة Rollup أن تتغير. يتوقف هذا الضمان بالكامل على قدرة النظام الخارجي المستخدم على مكافحة الغش وإخفاء البيانات عند استخدام Validiums.
الآن ، يمكن لأي منتج للكتلة على نظام توفر البيانات الخارجية أن يتسلل إلى أموال مستخدمي BTCRollup من خلال إنتاج كتلة بدلاً من بث الكتلة الفعلية ، وبالتالي جعل البيانات متاحة.
إذا تم تحقيق تنفيذ Rollup المثالي على BTC ، وتحقيق سحب المستخدم الأحادي الجانب ، فماذا سيحدث؟