227 / 691BTPL

Block Template

بيانات لتجميع كتلة مرشحة للتعدين

يصف Block Template كتلة مرشحة تالية ومعاملاتها وشروط تعديلها. عند تغيير المحتوى لا يكفي نسخ المكافأة وقيم الهاش القديمة؛ يجب أن تتوافق جميع البيانات التابعة مع الكتلة الناتجة.

Block Template هو مجموعة بيانات لتجميع كتلة يُبحث عن proof of work لترويستها. يربط الكتلة السابقة والمعاملات وcoinbase وقيود التعدين، لكنه لا يثبت العثور على كتلة أو قبولها.

يحدد الحقلان previousblockhash وheight موضع الكتلة المرشحة في السلسلة. ويشمل القالب أيضًا version وbits وبيانات الوقت. إنه أساس لتجميع كتلة، وليس مجرد ترويسة جاهزة لتكرار الحساب نفسه دون تفكير. [BIP 22 — Block template structure]

في BIP 22 يشير depends بفهرسة تبدأ من واحد إلى عناصر سابقة في transactions، وهي قائمة لا تشمل coinbase. إذا أنفقت معاملة تابعة مخرجًا لمعاملة أصل موجودة في الكتلة نفسها، فيجب أن يسبقها الأصل. غياب depends يعني أن التبعيات مجهولة، لا أنها غير موجودة. [BIP 22 — Block template structure]

يبني Bitcoin Core v29.0 معاملة coinbase من إعانة ذلك الارتفاع والرسوم الفعلية للمعاملات المدرجة. بعد حذف معاملات لا يجوز تلقائيًا إبقاء coinbasevalue القديم كمكافأة مستحقة. تغيير الاختيار يستلزم إعادة حساب الرسوم المتاحة. [Bitcoin Core v29.0 — Block assembler]

وفق BIP 141 يربط witness commitment بيانات witness عبر wtxid. يقدم Bitcoin Core 29 الحقل default_witness_commitment للقالب غير المعدل. بعد تغيير المعاملات المعنية أو ترتيبها يجب التحقق من الالتزام أو إعادة حسابه، وإدخال قيم TXID الناتجة في Merkle root بالترويسة. [BIP 141 — Witness commitment] [Bitcoin Core 29 — getblocktemplate RPC]

يختار Bitcoin Core v29.0 حزمًا مع تبعياتها ويلتزم بالوزن وsigops. تؤثر إعدادات blockmaxweight وblockmintxfee في التجميع. إغفال معاملة بموجب هذه السياسة وحده لا يثبت بطلانها وفق الإجماع، كما أن إعدادات المعدّن لا ترفع حدود الشبكة. [Bitcoin Core v29.0 — Block assembler]

يستخدم BIP 23 الحقل mutable لوصف التغييرات المسموحة، مثل الوقت أو المعاملات. إذن الخادم لا يلغي الإجماع: يجب أن تظل الكتلة السابقة والوقت والصعوبة والمعاملات صحيحة. الوصول إلى القالب لا يضمن أيضًا للجهاز النهائي حرية اختيار المحتوى بلا قيود. [BIP 23 — Mutations and proposals]

يمكن أن يحد BIP 23 العمل عبر expires ويحدد إذن تغيير prevblock. عند تغير رأس السلسلة لا يضمن مجرد استبدال هاش الكتلة السابقة استمرار صحة بقية البيانات. يجب إعادة تقييم الارتفاع والمعاملات والمكافأة وسائر الشروط السياقية. [BIP 23 — Mutations and proposals]

يفحص وضع proposal في BIP 23 المرشح دون اشتراط proof of work صالح. لذلك لا تعني النتيجة الإيجابية العثور على كتلة أو نشرها أو حصولها على مكان دائم في السلسلة. يجب أن تجتاز الكتلة المكتملة التحقق المناسب عند تقديمها. [BIP 23 — Mutations and proposals]

للحصول على صورة أوضح، اقرأ هذا المدخل مع Mining Pool, رأس الكتلة, Extranonce, شجرة Merkle. تشير إلى هذا المدخل أيضًا معاملة كوينبيس, ASIC Miner, Mining Pool, Nonce.

DOC · 001BIP 22 — Block template structureمواصفة ↗DOC · 002BIP 23 — Mutations and proposalsمواصفة ↗DOC · 003Bitcoin Core 29 — getblocktemplate RPCتوثيق ↗DOC · 004Bitcoin Core v29.0 — Block assemblerمصدر أولي ↗DOC · 005BIP 141 — Witness commitmentمواصفة ↗
المصادر أولًا · ليست نصيحة استثمارية