تُقيِّد كتل بيتكوين بالإجماع 4 ملايين وحدة وزن، ما يفرض على المعاملات ذات معدلات الرسوم الأقل الانتظار عندما تمتلئ السعة. اعتبارًا من الساعة 8 صباحًا بتوقيت شرق الولايات المتحدة (EDT) يوم الاثنين، كان هناك نحو 90,617 تحويلًا غير مؤكدًا ينتظر في mempool. تؤدي هذه القيود إلى “مزاد” قائم على الرسوم، حيث يفضّل المُعدِّنون المعاملات التي تقدم ساشوشي أكثر لكل بايت افتراضي (sat/vB)، بغض النظر عن وقت الإرسال. يحتفظ كل عقدة من Bitcoin Core بـ mempool محلية خاصة بها بسعة افتراضية 300 ميغابايت ويمكنها الاحتفاظ بالمعاملات حتى 336 ساعة، ما يخلق نظامًا لا توجد فيه قائمة انتظار عامة واحدة للمعاملات. أدخلت Bitcoin Core 31.0 بنية cluster mempool لتحسين كيفية تجميع العقد للمعاملات وترتيبها وإخلائها (evict) للمعاملات المتصلة عند بلوغ حدود الذاكرة المحلية.
تختلف حالة “الكتلة الكاملة” عن حالة “mempool ممتلئة”. تُحدِّد كتل بيتكوين بالإجماع 4 ملايين وحدة وزن، وهي قياس يأخذ في الاعتبار طريقة هيكلة بيانات المعاملة. تسمح عقد Bitcoin Core، افتراضيًا، بحوالي 300 ميغابايت من الذاكرة لـ mempools المحلية، ويمكنها الاحتفاظ بالمعاملات لمدة قد تصل إلى 336 ساعة. قد تمتلئ كتلة بينما لا يزال هناك عدد كبير من المعاملات في الذاكرة منتظرًا التأكيد.
تدخل المعاملة أولًا mempool العقدة، وهي منطقة احتفاظ مؤقتة لمدفوعات صالحة لم يتم تأكيدها بعد. تحتفظ كل عقدة بنسختها الخاصة وتطبق سياسات محلية خاصة بها، وقد ترى مجموعة مختلفة قليلًا من المعاملات المعلقة. لا توجد mempool واحدة شاملة عبر شبكة بيتكوين.
لا يختار المُعدِّنون عادةً المعاملات بناءً على عمرها. يقومون ببناء قوالب الكتل حول الرسوم ووزن المعاملة والاعتمادات بين المدفوعات. الوحدة العملية التي يراها المستخدمون هي الساشوشي لكل بايت افتراضي، أي sat/vB. يتيح معدل أعلى للمُعدّنين إيرادًا أكبر مقابل المساحة المحدودة المتاحة في الكتلة، لذلك تتحرك أقوى حزم الرسوم أولًا عادةً.
يمكن تأكيد دفعة أُرسلت أولًا بعد دقيقة واحدة من تأكيد دفعة أُرسلت لاحقًا. قد تنتشر معاملة ذات رسوم مرتفعة عبر الشبكة على نطاق واسع وتدخل قوالب المُعدّنين القادمة. أما معاملة ذات رسوم منخفضة فقد تبقى تحت الحدّ (cutoff)، حتى بعد مرور عدة كتل. تساعد تقديرات التأكيد، لكنها ليست وعودًا، لأن المعاملات الجديدة تصل باستمرار، وتظهر الكتل نفسها على فترات غير منتظمة.
عندما تتنافس كمية كافية من المعاملات المعلقة على كل كتلة، يصبح mempool بيئة تنافسية. قد تُزيح المعاملات الجديدة والأفضل دفعًا الطلبات الأضعف. إذا وصلت عقدة Bitcoin Core إلى حد الذاكرة المهيأ لها، فإنها تقص المجموعة المتصلة اقتصاديًا الأضعف من المعاملات وترفع حد الرسوم المحلي المتحرك (fee floor). المعاملة التي تم إزاحتها ليست غير صالحة؛ إذ لم تُلغِ blockchain المعاملة. العقدة ببساطة توقفت عن حملها.
بالنسبة للمستخدم العادي، تتمثل النتيجة الأولى في التأخير. قد تقول المحفظة إن الدفع “قيد الانتظار” لساعات بينما تتأكد معاملات أحدث. أما بالنسبة لمتداول، أو مكتب تبادل، أو خزانة (treasury desk)، فقد يؤخر هذا التأخير إيداع صفقة تبادل، أو يبطئ حركة الضمان، أو يقطع تحويل مراجحة، أو يترك الأموال غير متاحة خلال سوق سريع.
وبما أن الرسوم ترتبط أساسًا بوزن المعاملة لا بقيمة المبلغ المحوَّل، يمكن أن تتنافس دفعة بقيمة 50 دولارًا وتحويل بقيمة 5 ملايين دولار على شروط متشابهة عندما تكون بنية معاملاتهما قابلة للمقارنة. كلما كان التحويل أكثر حساسية للوقت، زادت تكلفة الدفع بأقل من اللازم.
النصيبة الثانية هي سوق رسوم أعلى. لا توجد في بروتوكول بيتكوين “رسوم أساس” (base fee) على مستوى البروتوكول. بدلًا من ذلك، يتنافس المستخدمون على معدل الرسوم الحدي الذي يمكن للمُعدّنين ملاءمته في الكتلة التالية، بينما تحافظ كل عقدة أيضًا على حد قبول محلي. تحت الضغط، قد يرتفع هذا الحد الديناميكي بعيدًا فوق إعداد الإرسال (relay) الأساسي للبرمجية.
النصيبة الثالثة هي عدم اليقين قبل التسوية. رؤية معاملة في مستكشف الكتل هي دليل على أن بعض العقد تعرف عنها، لا دليل على أن كل مُعدِّن يعرف. يمكن أن تُستبدل معاملة غير مؤكدّة أو تُزاح أو تختفي من رؤية عقدة ما بينما تظل معاملة قابلة للإنفاق بشكل محتمل وصالح. الشركات التي تُطلق السلع، أو تُقيِّد الحسابات، أو تعامل الإيداع على أنه نهائي عند صفر تأكيدات، تُقرّ بخطر أن الازدحام قد يجعل المشكلة أكثر وضوحًا.
تقدم بيتكوين نفسها للمستخدمين طريقتين رئيسيتين لإعادة تسعير دفعة مؤجلة. يتيح الاستبدال برسوم أعلى (Replace-by-fee) والمعروف اختصارًا RBF للمُرسِل استبدال معاملة غير مؤكدة بمعاملة تدفع رسومًا أعلى. أما Child-pays-for-parent (CPFP)، فيسلك طريقًا آخر: يتم استخدام خرج قابل للإنفاق من المعاملة المؤجلة في معاملة “طفل” جديدة ذات رسوم أعلى، ما يعطي للمُعدّنين حافزًا لإدراج الأب والطفل معًا.
لا تُعد هاتان الأداتان تلقائيتين. يجب أن يستوفي استبدال RBF سياسة العقد وأن يدفع رسومًا كافية لتتجاوز كلًا من المعاملة التي يستبدلها والسوق الحالي. يجب أن ترفع معاملة CPFP “حزمة” الرسوم المجمعة لمجموع المعاملة بالكامل، لا أن تبدو مكلفة وحدها فقط. الهدف الحقيقي ليس رسوم الإرسال الدنيا. الهدف هو معدل الرسوم قرب ذيل الكتلة التالية المرجحة.
خارج هذين الخيارين، تُقدِّم خدمات مُسرّعات التعدين (mining accelerators) عبر بعض مسابح تعدين بيتكوين تمكن المستخدمين من إرسال معاملة للحصول على أولوية عند تعطلها في mempool بسبب رسوم منخفضة. بدلًا من تغيير قواعد الإجماع في بيتكوين، تطلب المُسرّعات من المُعدّنين المشاركين تضمين تلك المعاملة في واحدة من الكتل التالية التي يقومون بتعدينها. بعض المُسرّعات مجانية لكنها تتطلب أهلية، بينما يفرض البعض الآخر رسومًا أو يشترط أن تفي المعاملة بمعدل رسوم أدنى. يقدم مُسرّع التحويل من ViaBTC 20 دفعة مجانية في الساعة.
تغير Bitcoin Core 31.0 بعض الآليات خلف اختيار المعاملات. تجمع cluster mempool المعاملات غير المؤكدة المتصلة وتُرتبها حسب معدل الرسوم الذي يُتوقع أن يتم على أساسه تعدين مجموعة المعاملات. حدود clusters الافتراضية هي 64 معاملة وحجم افتراضي 101 kB. صُمِّم هذا التصميم لتحسين بناء الكتل واتخاذ قرارات الإخلاء (eviction) وإعادة بث المعاملات والاستبدال، دون تغيير سقف الإجماع في بيتكوين البالغ 4 ملايين وحدة وزن.
تعمل أعمال هندسية أخرى على تقليل تكلفة نقل الكتل الكاملة عبر الشبكة. يتيح “relaying” الكتل المدمجة (compact block relay) للعقدة إعادة بناء جزء كبير من كتلة جديدة من المعاملات التي تحتفظ بها بالفعل، ما يقلل البيانات والوقت اللازم لنشرها. هذا مهم لأن انتشارًا أبطأ قد يزيد خطر أن يقوم مُعدّنان بالبناء لفترة وجيزة على طرفين (tips) مختلفين من السلسلة.
ماذا يحدث عندما تصل كتلة بيتكوين إلى حد 4 ملايين وحدة وزن؟
عندما تصل كتلة بيتكوين إلى حد إجماع 4 ملايين وحدة وزن، يفضّل المُعدِّنون المعاملات بمعدل الرسوم المقاس بالـ satoshis لكل بايت افتراضي (sat/vB). تُختار المعاملات ذات الرسوم الأعلى أولًا، بينما تظل المعاملات الأقل رسومًا في mempool في انتظار كتل لاحقة. لا يؤدي حد الكتلة إلى إبطال المعاملات المعلقة؛ إذ تستمر في الانتظار في mempool المحلية لكل عقدة، والتي يمكنها الاحتفاظ بها لمدة تصل إلى 336 ساعة افتراضيًا.
كيف يحسن Bitcoin Core 31.0 cluster mempool التعامل مع المعاملات؟
قدمت Bitcoin Core 31.0 بنية cluster mempool التي تجمع المعاملات غير المؤكدة المتصلة وتُرتبها حسب معدل الرسوم الذي يُتوقع أن يتم على أساسه تعدين المجموعة. حدود clusters الافتراضية هي 64 معاملة وحجم افتراضي 101 kB. يحسن هذا التصميم بناء الكتل، وقرارات الإخلاء، وإعادة بث المعاملات، والتعامل مع الاستبدال دون تغيير حد كتلة إجماع بيتكوين البالغ 4 ملايين وحدة وزن.
ما الطرق الثلاث لتسريع معاملة بيتكوين عالقة؟
يمتلك مستخدمو بيتكوين ثلاث طرق لزيادة الرسوم للمعاملات العالقة: يتيح Replace-by-fee (RBF) للمُرسِل استبدال معاملة غير مؤكدة بمعاملة تدفع رسومًا أعلى؛ وتستخدم Child-pays-for-parent (CPFP) مخرجًا قابلًا للإنفاق من المعاملة المؤجلة في معاملة طفل جديدة ذات رسوم مرتفعة، ما يحفز المُعدّنين على إدراج الاثنين؛ وتطلب مُسرّعات التعدين التي تقدمها بعض المسابح مثل ViaBTC، والتي توفر 20 دفعة أولوية مجانية في الساعة، من المُعدّنين المشاركين تضمين المعاملة في الكتل التالية.
أخبار ذات صلة
سجلت صناديق بيتكوين المتداولة تدفقات داخلية بقيمة 75.7 مليون دولار خلال الأسبوع المنتهي في 17 يوليو، بعد سلسلة تدفقات خارجية متواصلة بلغت 8.2 مليار دولار
تشهد بينانس وبايبيت تدفقات خارجية للـعملات المستقرة بقيمة 2.3 مليار دولار خلال 30 يومًا
حيتان بيتكوين تجمع 66,700 BTC خلال 60 يومًا وانتهت في 19 يوليو