الهالفينج هي عملية تقليل معدل انشاء عملات رقمية جديدة. على وجه التحديد تشير كلمة هالفينج الى أحداث تقليل مكافات تعدين الكتل المقدمة الى المعدنين.
عمليات الهالفينج هي جوهر النماذج الاقتصادية للعملات الرقمية لأنها تضمن إصدار عملات جديدة بمعدل ثابت يتبع معدل الانحلال المتوقع. هذا المعدل المستخدم لمكافحة التضخم هو أحد الاختلافات الرئيسية بين العملات الرقمية والعملات الورقية التقليدية التي يمكن طباعة أعداد لا نهائية منها.
لم يكن هناك سوى عمليتين بيتكوين هالفينج حتى يوليو 2019. حدث الأول في 28 نوفمبر 2012 و الثاني في 9 يوليو 2016. في وقت أول حدث هالفينج كان سعر البيتكوين 12.31$ و في وقت الهالفينج الثاني كان سعر البيتكوين 650.63$.
لن يكون هناك سوى 32 حدث بيتكوين هالفينج وبمجرد حدوث كل هذه الأحداث لن يكون من الممكن انشاء عملات بيتكوين مره اخرى حيث سيتم الوصول إلى الحد الأقصى للعرض.
Halving | Est. Date | Block Height | Block Reward (BTC) |
---|---|---|---|
0 | N/A | 0 | 50 |
1 | 11/28/2012 | 210,000 | 25 |
2 | 07/09/2016 | 420,000 | 12.5 |
3 | 2020 | 630,000 | 6.25 |
4 | 2024 | 840,000 | 3.125 |
5 | 2028 | 1050,000 | 1.5625 |
يعتبر البيتكوين هالفينج وظيفة أساسية لبروتوكول البيتكوين. يمكن العثور على الكود على Bitcoin Core Github وأدناه هو مقتطف من الكود الذي يجعل البيتكوين هالفينج ممكنًا. سيتم تخفي ض مكافأة الكتلة إلى النصف كل 210,000 كتلة.
قد تلاحظ ان العد التنازلي الخاص يعمل بتقدير مختلف عن أي عد تنازلي للبيتكوين هالفينج وقد تسأل "لماذا؟"
نعتقد أن هذا ما يجعل العد التنازلي الخاص بنا أكثر دقة لأنه بدلاً من استخدام متوسط وقت الكتلة المقتبسة عمومًا (وهو 10 دقائق)، فإننا نستخدم إحصائيات البلوكشين مباشرة ونحصل على تقدير لوقت تعدين الكتلة الحالي ثم نجري حساباتنا بناءً على ذلك. قد يتقلب العد التنازلي الخاص بنا ومع ذلك فإننا نعتقد أنه أكثر ساعات الهالفينج دقة.
العد التنازلي للبيتكوين هالفينج على أكاديمية بينانس يتم حسابه باستخدام الصيغة التالية:
(Halving block - Next block height) * Average time between blocks - estimated time until the next block.
قم بزيارة المعجم الخاص بنا للمزيد عن الهالفينج.
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
// Force block reward to zero when right shift is undefined.
if (halvings >= 64)
return 0;
CAmount nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
nSubsidy >>= halvings;
return nSubsidy;
}