لماذا لا يُعدّ حدث البلوك تشين مطابقًا للتحقّق النهائي

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

لهذا جذبني نظام RUES (Rusk Universal Event System). يذكر Dusk تحديدًا RUES للبنية التحتية وفهارس البيانات (indexers) والبورصات. بالنسبة لي، الجزء المثير للاهتمام هو ما تفعله البورصة بعد تلقي الحدث.

يفصل تسلسل حياة معاملات Dusk بين: مُدرَجة (included)، ومُنفّذة (executed)، ومُؤكَّدة (confirmed)، ومُحقَّقة نهائيًا (finalized). تقول وثائقها إنك ينبغي أن تراقب المعاملة عند تنفيذها، وتتحقق من وجود أخطاء، وتؤكد أن الكتلة قد اكتملت نهائيًا، وأن تعيد الاستماع إذا تراجعت كتلة (reverts). أرى لماذا يهم ذلك: قد يؤدي إيداع/إسناد المبالغ للبورصة بسرعة كبيرة إلى تحويل حالة مؤقتة إلى رصيد حقيقي.

أفكر دائمًا في تتبّع الشحنات. إذا قالت لي شحنتي “قيد التسليم”، فأنا أعلم أنها تتحرك، لكنني لن أعتبرها مُسلَّمة بعد. ربما أكون حذرًا أكثر من اللازم، لكنني أفهم لماذا سترغب البورصة في نفس الفجوة بين “تتحرك” و“تم التسليم”.

تفصيلة قابلية التكرار دون أثر جانبي (idempotency) أوقفتني مجددًا. يخبر Dusk ماسحات الإيداع أن تستخدم مُعرّف معاملة Dusk كـ “مفتاح قابلية التكرار دون أثر جانبي”، وليس المذكرة (memo)، وأن تكتب الإئتمان ونقطة التحقق للكتلة بشكل ذري (atomically). لذا إذا تعطل الماسح ثم قام بمسح نفس النطاق مرة أخرى، فلا ينبغي أن تتحول تلك المعاملة إلى إيداع ثانٍ.

والآن أتساءل إن كنت أنظر إلى RUES ببساطة شديدة. إذا كان على البورصة التعامل مع الحدث، والنهائية، والتراجعات، ومعالجة التكرارات بشكل منفصل، فكم من العمل الحقيقي يتم فعليًا بعد أن يقول بلوك تشين إن شيئًا ما قد حدث؟ @Dusk #dusk $DUSK