22 / 736BLK

Block

كتلة Bitcoin: سجل مشترك للمعاملات المؤكدة

تجمع الكتلة معاملات مختارة في سجل مرتبط بالتاريخ السابق، وتفحصه كل عقدة كاملة بصورة مستقلة.

Block، أو الكتلة، دفعة جديدة من المعاملات في تاريخ Bitcoin. عندما يدخل دفعك كتلة صحيحة ضمن السلسلة التي تتبعها عقدتك، يحصل على تأكيده الأول. ليست الكتلة قرار مدير مركزي: ينشئها مُعدّن، ثم تتحقق العقد الأخرى من التزامها بقواعد Bitcoin.

ترسل دفعة بالبيتكوين، وتعرض المحفظة أولًا أنها تنتظر التأكيد. تنتشر المعاملة بين العقد وقد تدخل مجموعات mempool الخاصة بها، وهي قوائم محلية للمعاملات غير المؤكدة. يختار المُعدّن بعضها لكتلة مرشحة. إذا وجد Proof of Work (نتيجة حسابات التعدين التي تستوفي قواعد الشبكة) المطلوب وقبلت العقد الكتلة ضمن السلسلة النشطة، تحصل الدفعة الموجودة فيها على التأكيد الأول. وترفع الكتلة التالية المبنية فوقها العدد إلى تأكيدين. الهدف المتوسط نحو عشر دقائق بين الكتل، وليس ضمان مرور كل دفعة خلال عشر دقائق. [1] [3]

لكل كتلة ترويسة قصيرة ومعاملاتها. تضم الترويسة، ضمن أشياء أخرى، البصمة التشفيرية للكتلة السابقة: مرجعًا يتغير عند تغيير بياناتها. وهكذا يتشكل تاريخ مترابط، لا كومة من المدفوعات المنفصلة. وتلخص بصمة أخرى في الترويسة معاملات الكتلة، وتسمى Merkle root. يجرّب المُعدّن نسخًا مختلفة من الترويسة حتى يستوفي الهاش، أي بصمتها العددية، هدف الصعوبة. لكن ذلك لا يثبت وحده صحة المدفوعات. فالعقدة الكاملة تتحقق كذلك من التوقيعات وحقوق الإنفاق والقواعد الأخرى؛ ولا يُصلح Proof of Work صحيح معاملة غير صحيحة. [1] [3]

تسمى المعاملة الأولى Coinbase Transaction. يستطيع المُعدّن أن يخصص لنفسه فيها، كحد أقصى، الإصدار الجديد المسموح ورسوم المعاملات الموجودة في الكتلة. ثم تفحص العقدة المعاملات العادية بالترتيب: تغادر مبالغ كانت غير منفقة مجموعة الأموال المتاحة، وتنشأ مبالغ جديدة. تسمى هذه المبالغ المنفصلة UTXO. ويمكن لدفعة أن تنفق مخرج دفعة سابقة في الكتلة نفسها إذا استوفت الشروط الأخرى كلها. لكن لا يجوز إنفاق المخرج نفسه مرتين. ولا يمكن إنفاق مكافأة coinbase الجديدة فورًا في هذه الكتلة؛ إذ تخضع لقاعدة انتظار خاصة مقدارها 100 كتلة. [1]

ليس للكتلة عدد ثابت من أماكن الدفع. تحتاج المعاملة البسيطة بيانات أقل من المعقدة، ولذلك قد تملأ السعة نفسها أعداد مختلفة من المعاملات. منذ SegWit (تحديث لقواعد بيتكوين غيّر طريقة تخزين بيانات المعاملات وحساب حجمها) تُحسب السعة بالوزن، بحد 4,000,000 وحدة. وهذا قياس تقني للبيانات وليس كتلة مادية، وتوجد قواعد أخرى أيضًا. ليس المُعدّن ملزمًا بملء السعة كلها. قد تخلو الكتلة التي تُسمى فارغة من المدفوعات العادية، لكنها تظل تحتوي على coinbase. لذلك لا يعني وصفها بالفارغة انعدام المعاملات تمامًا أو أنها غير صحيحة تلقائيًا. [1] [2]

قد يجد مُعدّنان كتلتين في وقت متقارب جدًا، وتستندان إلى السلف نفسه. يمكن أن تكونا صحيحتين مع تكوين فرعين متنافسين. تختار العقدة بين الفروع الصحيحة بحسب إجمالي العمل المُثبت، لا بتصويت بسيط ولا بعدد الكتل وحده. ويسمى الانتقال إلى فرع آخر إعادة تنظيم. قد تفقد دفعة في الكتلة المتروكة تأكيداتها؛ وإذا ظلت صحيحة وغابت عن الفرع الجديد، فقد تنتظر الإدراج من جديد. تزيد التأكيدات الإضافية الثقة عادة، لكنها ليست وعدًا رياضيًا باستحالة التراجع. ولمن يريد التفاصيل التقنية: حجم الترويسة 80 بايت. Merkle root بصمة تُحسب من معرّفات المعاملات، المسماة txid، وفق ترتيبها في الكتلة. أما بيانات witness في SegWit، مثل التوقيعات اللازمة للتحقق من الإنفاق، فلها بصمة تشفيرية إضافية تُسجّل عبر coinbase. تتيح هذه الروابط للعقدة التحقق من أن البيانات المستلمة تخص هذه الكتلة فعلًا. [1] [2]

للحصول على صورة أوضح، اقرأ هذا المدخل مع Block Header, معاملة, Timechain / Blockchain, التعدين. تشير إلى هذا المدخل أيضًا Block Header, Merkle Tree, التأكيد, معاملة كوينبيس.

DOC · 001Bitcoin Core v29.0: block validationمصدر أولي DOC · 002BIP 141: block weight and witnessمصدر أولي DOC · 003Bitcoin Developer Guide: Block Chainمصدر أولي
تمت المراجعة: المصادر أولًا · ليست نصيحة استثمارية