94 / 736SV2

Stratum V2

كيف يتواصل المعدّن والمجمّع، ومن يختار المعاملات؟

يحدد Stratum V2 طريقة تبادل العمل بين أجهزة التعدين والمجمّعات. ويحمي الاتصال، ويتيح للمعدّن اختيار معاملات الكتلة عندما تتوافر المكونات والإعدادات اللازمة.

هو مجموعة بروتوكولات مفتوحة، أي قواعد لتبادل الرسائل. ينقل Mining Protocol الأساسي المهام والنتائج، بينما يتيح Template Distribution وJob Declaration الاختياريان استخدام قالب كتلة خاص. مجرد الاتصال عبر V2 لا يضمن هذه الإمكانية.

تمتلك إيفا جهاز ASIC متخصصاً في تعدين Bitcoin، ووصلته بمجمّع ينسق عمل عدة معدّنين ويوزع المكافآت. تبحث الأجهزة عن نتيجة حسابية تتيح إضافة كتلة جديدة، أي مجموعة معاملات، إلى سجل Bitcoin. تحتاج إلى وصول التعليمات الصحيحة إلى جهازها، وإلى أن تصل نتائجه فعلاً إلى المجمّع الذي اختارته. وتريد لاحقاً أن تقرر أيضاً المعاملات التي سيحاول إدراجها في كتلة. ينظم Stratum V2 الاتصال بين هؤلاء المشاركين. يشكل Mining Protocol الأساس، أما Template Distribution وJob Declaration فجزآن اختياريان لتوفير بيانات الكتلة والاتفاق على عمل يختاره المعدّن. لذلك قد يقدم مجمّعان يعلنان دعم V2 إمكانيات مختلفة. [1] [3]

سهّل Stratum V1 تعاون المعدّنين، لكن اتصاله المعتاد غير المشفر أبقى الرسائل قابلة للقراءة أثناء انتقالها. وكان المجمّع يختار المعاملات عادةً. في 2019 قدّم Jan Čapek وPavel Moravec من Braiins بروتوكول Stratum V2 بالتعاون مع Matt Corallo ومطورين آخرين. كان الهدف اتصالاً محمياً وأكثر كفاءة، واستقلالية أكبر للمعدّنين. المواصفات علنية ويستمر التطوير ضمن مشروع مفتوح. لا يعني ذلك إنشاء قواعد جديدة لصحة كتل Bitcoin أو وعداً تلقائياً بزيادة الدخل. [8] [6]

ينبغي ألا يتمكن طرف على مسار الإنترنت بين إيفا والمجمّع من قراءة رسائل التعدين أو تعديلها خفية. لذلك يستخدم V2 التشفير مع التحقق من سلامة الرسائل، وهو ما يسمى AEAD. تفرض المواصفات إجراء التفاوض التشفيري الأولي Noise للاتصالات البعيدة، بينما قد يكون استخدامه اختيارياً داخل الشبكة المحلية. يتحقق العميل من الخادم بواسطة المفتاح العام لجهة اعتماد المجمّع، بعد الحصول عليه عبر قناة موثوقة. يُستخدم هذا المفتاح للتحقق من التوقيع الرقمي الذي يثبت به الخادم هويته. الحماية هنا للنقل، لا لكل ما يحيط به: فالمجمّع يرى البيانات المقدمة إليه، والتشفير لا يثبت سلامة البرنامج الثابت أو صحة الحسابات أو قدرة المجمّع على دفع المكافآت. [2] [10]

لا تحتاج إيفا دائماً إلى استبدال جهازها. يعمل Translation Proxy وسيطاً يمكنه استقبال Stratum V1 من جهاز قديم واستخدام V2 في اتجاه المجمّع. لكن حماية الجزء الثاني لا تغير الاتصال الأصلي بين ASIC والوسيط؛ فهو يظل V1 ويحتاج إلى حماية مستقلة. ويمكن للوسيط أيضاً خدمة عدة أجهزة معاً وتقليل إرسال البيانات نفسها مراراً. ترجمة البروتوكولات وحدها لا تعني أن إيفا تختار المعاملات. يتطلب ذلك وظائف إضافية ومجمّعاً يدعمها. [7] [8]

كي تختار إيفا المعاملات، عليها أولاً معرفة الصحيح منها والكتلة التي ستبني عليها. يمكنها الحصول على هذه المعلومات من عقدتها الكاملة التي تتحقق من قواعد Bitcoin بنفسها. Template Provider برنامج يوفر قالب كتلة: مسودة لكتلة مستقبلية وليست كتلة مكتملة. وقد يستخدم Bitcoin Core أو عقدة أخرى تتوافر فيها الوظائف المطلوبة. يرسل Template Distribution التحديثات مباشرة بدلاً من تكرار الاستعلام عبر getblocktemplate. تعلن NewTemplate وSetNewPrevHash القالب وصلته بالكتلة السابقة، وتطلب RequestTransactionData بيانات المعاملات، بينما تعيد SubmitSolution الحل الذي عُثر عليه. [5]

تستخدم إيفا Job Declarator Client، وهو برنامج يستقبل قوالبها ويتفق على استخدامها مع مجمّع يدعم Job Declaration. في وضع Full-Template يطلب معرّف عمل بواسطة AllocateMiningJobToken، ويذكر المعاملات في DeclareMiningJob، ويجيب عند الحاجة عن ProvideMissingTransactions. ثم يرسل SetCustomMiningJob إلى خادم التعدين. أما Coinbase-only فلا يكشف قائمة المعاملات مسبقاً ولا يستخدم DeclareMiningJob؛ بل يعتمد على المعرّف المخصص ومعلومات coinbase، وهي المعاملة الخاصة التي تتضمن مكافأة الكتلة. يستطيع المجمّع رفض الاقتراح، لذا تهم الاتصالات البديلة أيضاً. قد يوزع الاختيار المستقل للمعاملات القرار على مزيد من المعدّنين، لكنه لا يلغي التزام المجمّع بدفع المكافآت. [4]

يمكن فهم المثال السابق دون حفظ أسماء الرسائل. لكن عند الإعداد أو تطوير البرامج يصبح التنسيق الدقيق مهماً. ينقل V2 البيانات بصيغة ثنائية، أي تمثيل متفق عليه تقرؤه الآلات. تتكون ترويسة الرسالة من 6 بايتات، وتحدد extension_type وmsg_type وmsg_length الامتداد ونوع الرسالة وطول محتواها. بعد إنشاء الاتصال التشفيري تكون SetupConnection أول رسالة بروتوكول، وتتفاوض على البروتوكول والإصدار والوظائف المطلوبة. وتؤكد SetupConnection.Success النجاح. لذلك لا تحل عبارة V2 على خدمة محل الاتفاق الفعلي بين البرامج المستخدمة. [1]

القناة جلسة تعدين مستقلة داخل الاتصال، وليست سلسلة كتل أخرى أو قناة دفع. يخصص Standard Channel عملاً على ترويسة الكتلة، وهي ملخص قصير لبياناتها. ويتيح Extended Channel للوسيط تقسيم نطاق أوسع من المحاولات بواسطة extranonce، الجزء المتغير من معاملة coinbase. ويسهّل Group Channel توزيع المهام على عدة قنوات معاً. تفتح OpenStandardMiningChannel وOpenExtendedMiningChannel الجلسات المناسبة. السبب العملي بسيط: إذا اختبر جهازان الاحتمالات نفسها، فسيستهلكان الكهرباء لتنفيذ العمل نفسه. [3]

يحتاج المجمّع إلى قياس مساهمة إيفا باستمرار. Mining share نتيجة تستوفي حد الصعوبة المخصص؛ معظم shares لا يستوفي حد الشبكة الأكثر صرامة اللازم للكتلة، لكن بعضها قد يستوفيه. توفر NewMiningJob أو NewExtendedMiningJob المهمة، وتفعّل SetNewPrevHash الصلة بالكتلة السابقة، وتضبط SetTarget حد القناة. ترسل SubmitSharesStandard أو SubmitSharesExtended النتائج مع معرّف المهمة ورقم تسلسلي وبيانات الترويسة المتغيرة. قبول النتيجة لا يعني بعدُ وصول دفعة إلى المحفظة. تظل مكافآت المجمّع وصحة الكتلة وفق قواعد Bitcoin مسألتين منفصلتين. [3]

تتحقق أولاً من دعم جهازها وبرنامجها والمجمّع المختار. ثم تعرف أي جزء من الاتصال محمي، ومن أين جاء مفتاح التحقق، وهل تريد نقلاً أكثر أماناً فقط أم اختيار المعاملات التي ستُدرج في الكتلة بنفسها أيضاً. يتطلب الخيار الثاني عمل Template Provider وJob Declarator Client مع دعم مناسب من المجمّع. تتابع التأخير وshares المرفوضة أو المتقادمة وسجلات الأخطاء والسلوك عند الانقطاع. يجب أن تتوافق التعليمات مع الإصدار المستخدم. يستطيع Stratum V2 تحسين تنسيق التعدين، لكنه لا يغني عن الإدارة الآمنة للأجهزة ولا يغير القواعد التي تتحقق بها العقد الكاملة من Bitcoin. [6] [7]

للحصول على صورة أوضح، اقرأ هذا المدخل مع Bitcoin, التعدين, Mining Pool, Braiins, Braiins Pool, ASIC Miner. تشير إلى هذا المدخل أيضًا ASIC Miner, Mining Pool, Nonce, Marek «Slush» Palatinus.

DOC · 001Stratum V2 — Protocol Overviewمصدر أولي DOC · 002Stratum V2 — Protocol Securityمصدر أولي DOC · 003Stratum V2 — Mining Protocolمصدر أولي DOC · 004Stratum V2 — Job Declaration Protocolمصدر أولي DOC · 005Stratum V2 — Template Distribution Protocolمصدر أولي DOC · 006Stratum V2 specification repositoryمصدر أولي DOC · 007Stratum Reference Implementation librariesتوثيق DOC · 008Braiins — Past and future of mining protocolsمصدر أولي DOC · 009Bitcoin Optech — Stratum V2 topicتوثيق DOC · 010Noise Protocol Frameworkتوثيق DOC · 011Galaxy Research — Future of Bitcoin mining protocolsتوثيق
تمت المراجعة: المصادر أولًا · ليست نصيحة استثمارية