Block Weight هو طريقة Bitcoin لقياس السعة المستخدمة في الكتلة، أي مجموعة المعاملات المضافة إلى السجل المشترك. تُحتسب أجزاء البيانات بأوزان مختلفة. للوزن حد أعلى ثابت، لكنه لا يحدد عدد المدفوعات ولا قيمة البيتكوين المحوّل.
ترسل آنا Bitcoin، لكن الكتلة التالية لا تتضمن دفعتها. لا يعني ذلك وحده أن المال اختفى. قد تنتظر المعاملة غير المؤكدة في Mempool، وهو قائمة الانتظار المحلية لدى عقدة بعينها. العقدة برنامج يتحقق من المعاملات والكتل ويتواصل مع المشاركين الآخرين في الشبكة. يختار المعدّن معاملات لكتلة محدودة السعة، ويمكنه أيضاً إنشاء كتلة أصغر. الرسوم حافز وليست أمراً بإدراج دفعة محددة. يفسر Block Weight أحد قيود هذا الاختيار، لا جميع أسباب الانتظار. [1] [7]
الحد الأعلى هو 4 000 000 WU، ويسمح بالوصول إلى هذه القيمة تماماً. تعني WU وحدة وزن. تتحقق Full Node، أي العقدة الكاملة، من قواعد Bitcoin بنفسها وترفض الكتلة التي تتجاوز الحد. لا تنقذها الرسوم المرتفعة ولا حتى Proof of Work صحيح، أي إثبات العمل الحسابي اللازم لتعدين الكتلة. يجب إيجاد هذا الإثبات وبناء كتلة صحيحة معاً. لذلك لا تحدد رغبة المعدّن وحدها السعة. [1] [3] [4]
البايت وحدة شائعة لقياس حجم البيانات. فصل SegWit بعض البيانات التي تثبت الإذن بالإنفاق، ومنها التوقيعات. يُسمّى هذا الجزء witness. يساهم بايت البيانات الأساسية بمقدار 4 WU، بينما يساهم البايت الإضافي في التمثيل الكامل مع witness بمقدار 1 WU. ويشمل النوع الثاني الحقلين المساعدين marker وflag. بذلك تبقى البنية الأساسية للمعاملات، مع إتاحة مساحة لبيانات التحقق دون احتساب كل البايتات بالوزن نفسه. [1] [2]
يثبت التوقيع حق المرسل في إنفاق عملات محددة. ويصف برنامج قصير، يسمى السكربت، شروط إنفاقها. لا تسمح مساهمة witness الأقل في الوزن للعقدة بتجاهل التوقيعات أو شروط السكربت المطلوبة. وتبقى البيانات موجودة في التمثيل الكامل أيضاً. إنها قاعدة لحساب السعة، ولا تعني أن عمل المعالج أو حركة الشبكة أو احتياجات التخزين تنخفض بالنسبة نفسها. [1] [4]
التسلسل هو كتابة الكتلة في ترتيب دقيق من البايتات تتبادله الحواسيب. لنرمز إلى الحجم دون witness بالحرف B، وإلى الحجم الكامل بالحرف T. يستخدم BIP 141 المعادلة W = 3 × B + T. البيانات الأساسية موجودة أصلاً في T، ولذلك تُحتسب أربع مرات إجمالاً، بينما تُحتسب البيانات المضافة في تمثيل witness مرة واحدة. تشمل المعادلة الكتلة كاملة، لا المدفوعات العادية فيها فحسب. [1] [8]
لنفترض B = 500000 وT = 2500000 بايت. نحصل على W = 4000000 WU. قد يكون لتوزيع آخر للبيانات B = 750000 وT = 1750000 بايت، وتكون النتيجة أيضاً W = 4000000 WU. هذه أمثلة حسابية وليست قياسات لكتل فعلية. تستخدم الكتلتان الوزن نفسه، لكن الثانية تنقل بايتات أقل. لذا فالقول إن الكتلة الممتلئة دائماً بحجم 4 MB غير صحيح. وعدد معاملاتها ليس ثابتاً أيضاً. [1]
ليست الكتلة مجرد تجميع للمدفوعات. لها ترويسة بحجم 80 بايت تضم، ضمن أشياء أخرى، مرجعاً للكتلة السابقة وملخصاً للمعاملات. يليها عدد المعاملات مكتوباً باستخدام CompactSize، وهو ترميز لعدد صحيح بطول متغير. المعاملة الأولى هي Coinbase Transaction، المعاملة الخاصة بمكافأة المعدّن؛ ولا يشير الاسم هنا إلى منصة تداول. تدخل كل هذه الأجزاء في الحساب. لذلك لا يساوي جمع أوزان المعاملات الأخرى وزن الكتلة كلها بعد. [5] [7] [8]
المحفظة تطبيق أو جهاز لاستقبال البيتكوين وإرساله. وتستخدم عادة الحجم الافتراضي للمعاملة بوحدات vByte. وهو وزن المعاملة كلها مقسوماً على 4، مع التقريب إلى العدد الصحيح الأعلى. يساعد ذلك على مقارنة الرسوم مقابل السعة المستخدمة. لكن جمع أحجام المعاملات المقرّبة لا يعطي وزن الكتلة الدقيق: الوحدة مختلفة، والتقريب منفصل لكل معاملة، وبنية الكتلة غير محسوبة. كما أن تحويل مبلغ مالي كبير لا يستلزم بالضرورة معاملة كبيرة البيانات. [1] [8]
لا يصف الوزن كل عمل العقدة. يوجد أيضاً، وفق القواعد المعنية، حد قدره 80 000 وحدة تكلفة مرجّحة لعمليات التحقق من التوقيعات. وهو ليس مجرد عدد جميع التوقيعات في الكتلة. تستخدم Tapscript، لغة السكربتات التي قُدّمت مع Taproot، ميزانية منفصلة لكل مُدخل، أي الجزء من المعاملة الذي ينفق عملات مستلمة سابقاً؛ ولا تدخل عمليات توقيعها في ذلك الحد الأقدم على مستوى الكتلة. يصف BIP 342 هذا القيد المختلف. لذا لا يعني الالتزام بالوزن السماح بتحقق معقد بلا حدود. [1] [3] [9]
مستكشف الكتل تطبيق للبحث عن المعاملات والكتل في شبكة معينة. في Bitcoin Core v29.0 يعيد الأمر getblock، ضمن حقول أخرى، size وstrippedsize وweight: الحجم الكامل بالبايت، والحجم دون witness، والوزن. وقد تجد أيضاً chainwork، الذي يعبّر عن العمل الحسابي المتراكم للسلسلة، لا وزن بياناتها. للمستخدم العادي، المهم التفريق بين السعة والسعر: يحد Block Weight مساحة الكتلة، بينما تعتمد رسوم الدفع الفعلية على حجم المعاملة والمعدل المختار. ولا يعد أي من هذه الأرقام وحده بموعد للتأكيد. [6]
للحصول على صورة أوضح، اقرأ هذا المدخل مع vByte, Witness Data, SegWit, حرب حجم الكتلة, Bitcoin, Full Node. تشير إلى هذا المدخل أيضًا Signet, vByte, Witness Data, Ordinals Inscriptions.