tBTC: الإبحار في لغز السلسلة المتقاطعة

ليس من المعتاد أن نراجع مشروعًا مثل tBTC. بعد كل شيء ، يمتد tBTC على عدة أنظمة: Bitcoin و Ethereum و Keep Network. العقود الذكية التي تسهل كل هذا التشغيل البيني معقدة للغاية وتتطلب فهمًا لجميع البروتوكولات الثلاثة. على الرغم من أن عملنا السابق مع Liquality و Atomic Loans متشابه في طبيعته ، إلا أن قاعدة كود tBTC الهائلة تضعه على مستوى آخر.

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

ما هو دليل SPV؟
في سياق Bitcoin ، يتم استخدام إثبات SPV لإثبات وجود معاملة داخل كتلة معينة. ببساطة ، يقرن الإثبات برهان Merkle مع hashMerkleRoot لكتلة Bitcoin لإظهار وجود معاملة داخل الكتلة:

غالبًا ما تُستخدم أدلة مثل هذه لأنها خفيفة الوزن نسبيًا من الناحية الحسابية. هذه الخاصية مهمة بشكل خاص في سياق العقود الذكية التي تشكل tBTC. نظرًا لأنه يعمل على EVM (الجهاز الظاهري لـ Ethereum) ، فإن tBTC مقيد بشكل طبيعي بالموارد الحسابية المحدودة لـ Ethereum.

لنفترض أننا نريد إثبات وجود بعض المعاملات على Bitcoin. لإثبات SPV هذا ، نحتاج إلى بعض المدخلات:

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

لغز السلسلة المتقاطعة
أثناء البحث عن معاملات Bitcoin ، واجهنا قيودًا أساسية لإثباتات SPV التي يتم إجراؤها على Ethereum: Bitcoin حجم معاملات.

معاملات Bitcoin مقيدة بشكل أساسي بأقصى حجم لكتلة Bitcoin وهو 4 ميغابايت. بالإضافة إلى ذلك ، نظرًا لأن أدلة SPV يمكن أن تستبعد بيانات الشهود ، يمكننا تقليل الحد الأقصى النظري لحجم معاملة Bitcoin إلى 1 ميغابايت. ومع ذلك ، لأغراضنا ، لا يتم تحديد الحد الأعلى الدقيق في الواقع من خلال حجم كتلة Bitcoin ، لأنه في الواقع تم تقييده بواسطة Ethereum blockchain.

لماذا ا؟ على عكس Bitcoin ، فإن معاملات Ethereum مقيدة بكمية الموارد الحسابية التي يستهلكها تنفيذها. تتطلب كل عملية يتم إجراؤها كمية معينة من الغاز ، ولا يمكن للمعاملات أن تستهلك غازًا أكثر مما هو موجود في كتلة واحدة. يشار إلى هذا باسم حد الغاز ، والذي ، وقت كتابة هذا التقرير ، يبلغ حوالي 10 ملايين غاز.

لفهم كيف أن هذا يساوي تقريبًا حجم معاملات Bitcoin ، يمكننا استخدام تعريف من ورقة Ethereum الصفراء ، Gtxdatanonzero ، وهي تكلفة الغاز المطلوبة لكل بايت من البيانات في المعاملة. Gtxdatanonzero – 16 غاز لكل بايت.

هذا يعني أن كل بايت من معاملة Bitcoin المقدمة كجزء من إثبات SPV يستهلك 16 غازًا كحد أدنى. لاحظ أن هناك تكاليف إضافية مرتبطة بإثبات SPV ، لكني أتجاهل تلك التكاليف لأغراض هذا التقدير التقريبي.

لذا ، ما الحجم الذي يمكن أن تصل إليه معاملة Bitcoin قبل أن يصبح من المستحيل إجراء إثبات SPV على Ethereum؟ الإجابة هي مقسومة حد كتلة الغاز في Ethereum على Gtxdatanonzero:

(10000000 غاز) / (16 غازًا لكل بايت) = 625000 بايت ، أو حوالي 63٪ من الحد الأقصى لحجم معاملة البيتكوين البالغ 1 ميجا بايت.

ماذا يعني هذا بالنسبة لـ tBTC؟
في tBTC ، خدمت أدلة SPV في الأصل غرضين:

إثباتات الإيداع: سمحت للمستخدمين بإثبات أنهم قاموا بإيداع BTC بشكل صحيح ، مما أدى إلى إطلاق عقود tBTC لإصدار ERC20 المدعومة من Bitcoin.
إثباتات الاحتيال: سمحت للمستخدمين بإثبات أن وديعة BTC قد تم إنفاقها دون إذن من مجموعة الموقِّعين الوصي على الوديعة ، مما أدى إلى خفض الموقع ومنح سند لمالك الإيداع.

براهين الاحتيال
سمحت أدلة إثبات الاحتيال SPV للمستخدمين بالحماية من الموقعين الضارين. إذا تواطأت مجموعة الموقِّعين ، فيمكنهم إنفاق BTC المودعة دون إذن صريح من المستخدم. من خلال توفير هذه المعاملة غير المصرح بها لعقود tBTC ، يمكن للمستخدمين إثبات حدوث الإنفاق ، ومعاقبة الموقعين الخبثاء ، والتأكد من حصولهم على تعويض عادل عن فقدان إيداعهم.

ومع ذلك ، باستخدام قيود حجم معاملات Bitcoin الموضحة أعلاه ، يمكن للمُوقعين تجنب هذه العقوبة عن طريق إنفاق الإيداع في معاملة كبيرة بما يكفي.

لحسن الحظ ، كانت أدلة إثبات الاحتيال في SPV واحدة من آليتين لمنع الاحتيال تم تنفيذهما في tBTC. الطريقة البديلة ، أدلة إثبات الاحتيال من ECDSA ، وفرت بديلاً أكثر قوة لإثباتات الاحتيال SPV. ونتيجة لذلك ، تمت إزالة أدلة إثبات الاحتيال الخاصة بشركة SPV من عقود شركة tBTC.

براهين الإيداع
لا تزال أدلة الإيداع مستخدمة في tBTC حيث يدخل كل مستخدم في النظام. من أجل إصدار ERC20 المدعوم من Bitcoin على Ethereum ، يجب على المستخدمين تقديم إثبات SPV للإيداع الناجح. على الرغم من أن مشكلة حجم معاملات Bitcoin لا توفر طريقة واضحة لإساءة استخدام نظام الإيداع ، فمن الممكن أن يقوم المستخدم بتمويل إيداع بمعاملة BTC صالحة ، فقط ليجد أن معاملته كبيرة جدًا ولا يمكن التحقق من صحتها ضمن عقود tBTC .

لا يوجد مسار واضح لإزالة هذه التبعية ؛ يجب تقديم إثباتات SPV من أجل التحقق من صحة الإيداع. لحسن الحظ ، فإن قيود حجم معاملات البيتكوين ليست شديدة بحيث تمنع tBTC من العمل بالكامل ؛ إنفاق بسيط مع إدخال واحد ومخرج يكون جيدًا ضمن حدود حد الغاز الحالي للكتلة في Ethereum. طالما يتم بذل الجهود لضمان أن المستخدمين على دراية كافية بهذا القيد ، لا ينبغي أن يمثل حجم معاملات البيتكوين مشكلة كبيرة عند تمويل الودائع.

ما الذي يمكن أن يفعله tBTC (وغيره من المشاريع عبر السلاسل) لضمان عمل أنظمتهم بشكل صحيح؟
افهم الأوليات لكلتا السلسلتين. عند استخدام Ethereum ، افهم أين تقصر EVM في تكرار بدائل السلاسل الأخرى. تربط التطبيقات عبر السلاسل بين عالمين ، لكل منهما نظامه الزمني وقواعده ومواطنه الدقيقة.

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

سيساعد اختبار التكامل في كشف التناقضات في التفاعل بين المكونات المعزولة وسيوفر نموذجًا للنظام في ظل ظروف قريبة من العالم الحقيقي.
تجهز للأسوء. مع التعقيد الكبير تأتي مسؤولية كبيرة. ليس من الواقعي تحديد كل مشكلة محتملة قبل الإصدار.

خطة الطوارئ: إن وجود خطة جاهزة للرد على المشكلات بسرعة يمكن أن يخفف من تأثير المشكلات الخطيرة. قد يتطلب إنشاء خطة طوارئ قبل الإطلاق عملاً ، لكنها أفضل بلا حدود من عدم الاستعداد.
أخيرًا ، قم بتثقيف المستخدمين لديك. إن فهم المواضع التي قد تسوء فيها الأمور هو جزء من المعركة ؛ الخطوة التالية هي التأكد من أن المستخدمين يشاركونك فهمك. تحقيقًا لهذه الغاية ، نشر Matt Luongo من Thesis مؤخرًا سلسلة طويلة تصف نموذج أمان tBTC وحوكمته.

روابط هامة:

ديسكوردtBTC:
https://discord.gg/WYp9dz9wkA
ديسكورد KEEP:
https://discord.gg/TaHhVGd5tT

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *