قدم مطور البيتكوين أنطوان بوانسو اقتراح تحسين جديد في 26 مارس 2025، يهدف إلى إصلاح عدد من الثغرات والضعف الموجودة في بروتوكول البيتكوين منذ فترة طويلة من خلال ترقية الانقسام اللين. إحدى الثغرات الأكثر خطورة تُعرف باسم "هجوم تشويه الوقت"، وسنتناول ذلك بالتفصيل في هذه المقالة.
آلية حماية طوابع زمنية كتلة البيتكوين
قبل مناقشة هجمات تشويه الزمن، دعونا نراجع قواعد حماية التلاعب بالوقت الحالية في شبكة بيتكوين:
الوقت الوسيط الماضي ( MPT ) القاعدة: يجب أن يكون توقيت الكتلة بعد الوقت الوسيط لأحدث 11 كتلة.
قواعد توقيت الكتل المستقبلية: يجب ألا يتجاوز طابع وقت الكتلة ساعتين أكثر من متوسط وقت الأقران في العقد. بالإضافة إلى ذلك، فإن الحد الأقصى المسموح به للفارق بين وقت العقد وساعة النظام المحلية هو 90 دقيقة، وهذه أيضًا تدبير أمان.
تضمن قواعد MPT ألا تكون طوابع الوقت في الكتل متأخرة بشكل مفرط، بينما تمنع قواعد الكتل المستقبلية طوابع الوقت من أن تكون متقدمة بشكل مفرط. من الجدير بالذكر أنه لا يمكن تنفيذ تدابير مماثلة لقواعد الكتل المستقبلية لمنع استخدام الكتل لطوابع زمنية سابقة، لأن ذلك قد يؤثر على عملية مزامنة سلسلة الكتل الأولية. يستفيد هجوم تشويه الزمن من إمكانية تزوير طوابع زمنية قديمة.
خطأ صغير من ساتوشي ناكاموتو
تتضمن فترة تعديل صعوبة بيتكوين 2016 كتلة، مع حساب وقت الاستهداف للإنتاج عند 10 دقائق، مما يعني حوالي أسبوعين. لحساب تعديل صعوبة التعدين، يقوم البروتوكول بحساب فرق الطوابع الزمنية بين الكتلتين الأولية والنهائية في نافذة 2016 كتلة ذات الصلة. تحتوي نافذة 2016 كتلة هذه فعليًا على 2015 فترة كتلة (أي 2016 ناقص 1). لذلك، يجب أن يكون الوقت المستهدف المستخدم نظريًا هو 60 ثانية × 10 دقائق × 2015 فترة، مما يساوي 1,209,000 ثانية.
ومع ذلك، يستخدم بروتوكول بيتكوين الرقم 2016 عند الحساب. 60 ثانية × 10 دقائق × 2016 = 1,209,600 ثانية. هذه خطأ صغير، قد يكون ناتجًا عن ارتباك ساتوشي في مفهوم الفجوة بين الكتل.
هذا الخطأ يجعل الوقت المستهدف أطول بنسبة 0.05% مما ينبغي. في الواقع، فإن الفاصل الزمني المستهدف لبيتكوين ليس 10 دقائق، بل 10 دقائق و0.3 ثانية. هذا الانحراف الطفيف لن يتسبب في تأثير خطير، في الواقع، منذ ولادة بيتكوين، ظل متوسط فاصل الكتل حوالي 9 دقائق و36 ثانية، وهو أقل بكثير من 10 دقائق. وهذا يرجع أساسًا إلى أن متوسط قوة الشبكة قد زاد بشكل مستمر منذ عام 2009.
مبدأ هجوم تشويه الوقت
تم اكتشاف هجوم تشويه الوقت لأول مرة حوالي عام 2011، حيث استغل هذا الخطأ الطفيف في حساب الصعوبة الذي قام به ساتوشي. بافتراض أن التعدين مركزي تمامًا، يمكن للمهاجمين التلاعب بختم وقت الكتلة على النحو التالي:
بالنسبة لمعظم الكتل، يتم تعيين الطابع الزمني للتقدم بمدة 1 ثانية فقط عن الكتلة السابقة.
للامتثال لقواعد MPT، يجب الحفاظ على نفس الطابع الزمني لمدة 6 كتل متتالية، ثم زيادة الوقت بمقدار ثانية واحدة في الكتلة التالية.
في آخر كتلة من كل دورة تعديل صعوبة، يتم تعيين الطابع الزمني ليكون الوقت الحقيقي في العالم.
الكتلة الأولى في نافذة تعديل الصعوبة التالية، يتم تعيين الطابع الزمني مرة أخرى إلى الماضي، قبل ثانية واحدة من الكتلة قبل الأخيرة في الدورة السابقة.
هذه الطريقة في الهجوم ستؤدي إلى تأخر وقت البلوكشين عن الوقت الحقيقي، بينما ستستمر الصعوبة في الزيادة، مما يجعل التعدين أكثر صعوبة. ومع ذلك، اعتبارًا من دورة التعديل الثانية، ستبدأ الصعوبة في التعديل نحو الأسفل. بعد ذلك، يمكن للمهاجمين إنشاء كتل بسرعة كبيرة، مما ينتج عنه كمية كبيرة من بيتكوين، وبالتالي الحصول على مكاسب محتملة.
على الرغم من أن هذا الهجوم نظريًا له تأثيرات مدمرة، إلا أن التنفيذ الفعلي يواجه العديد من التحديات:
قد تحتاج إلى السيطرة على معظم قوة الحوسبة في الشبكة.
وجود عمال المناجم الأوفياء سيزيد من صعوبة الهجمات.
قد تحدد قواعد MTP وختم الوقت الأمين من درجة الرجوع للخلف للتواريخ الضارة.
عملية الهجوم مرئية للجميع، وقد تؤدي إلى تفعيل إصلاح فرعي طارئ.
الحلول المحتملة
إصلاح هذه الثغرة بسيط نسبيًا، ولكن قد يتطلب تغيير بروتوكول الانقسام الناعم. واحدة من الحلول البسيطة هي مطالبة الطابع الزمني للكتلة الأولى من فترة الصعوبة الجديدة ألا يكون قبل عدد معين من الدقائق من الكتلة الأخيرة من الفترة السابقة. في اقتراح بوينسوت، تم تحديد هذا الحد الزمني بساعة واحدة، وهو حوالي 0.6% من الهدف الزمني لتعديل الصعوبة، مما يمكن أن يحد بفعالية من مدى التلاعب بالصعوبة.
تشمل مزايا هذا الحد الزمني البالغ ساعتين:
تقليل مخاطر الكتل غير الصالحة غير المقصودة
متوافق مع قواعد الطوابع الزمنية لمستقبل البلوكشين
التغييرات المحافظة نسبيًا قد تكون أكثر مرونة من قواعد MTP في الظروف العادية.
ومع ذلك، فإن هذه الطريقة لا تزال تسمح للمهاجمين بتخفيض الصعوبة بنحو 0.6% في كل دورة، لكن ستكون هذه تغيرات لمرة واحدة، ولا يمكن أن تتراكم.
بشكل عام، على الرغم من أن هجمات تشويه الوقت تشكل تهديدًا من الناحية النظرية، إلا أن تنفيذها عمليًا يعد صعبًا. من خلال تحديثات البروتوكول المناسبة، يمكننا تعزيز أمان واستقرار شبكة بيتكوين بشكل أكبر.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
توجد ثغرة في بروتوكول بيتكوين تتعلق بهجوم تشويه الزمن، واقتراح جديد يعتزم إصلاحها من خلال سوفت فورك.
ثغرة هجوم تشويه الزمن في بروتوكول بيتكوين
قدم مطور البيتكوين أنطوان بوانسو اقتراح تحسين جديد في 26 مارس 2025، يهدف إلى إصلاح عدد من الثغرات والضعف الموجودة في بروتوكول البيتكوين منذ فترة طويلة من خلال ترقية الانقسام اللين. إحدى الثغرات الأكثر خطورة تُعرف باسم "هجوم تشويه الوقت"، وسنتناول ذلك بالتفصيل في هذه المقالة.
آلية حماية طوابع زمنية كتلة البيتكوين
قبل مناقشة هجمات تشويه الزمن، دعونا نراجع قواعد حماية التلاعب بالوقت الحالية في شبكة بيتكوين:
الوقت الوسيط الماضي ( MPT ) القاعدة: يجب أن يكون توقيت الكتلة بعد الوقت الوسيط لأحدث 11 كتلة.
قواعد توقيت الكتل المستقبلية: يجب ألا يتجاوز طابع وقت الكتلة ساعتين أكثر من متوسط وقت الأقران في العقد. بالإضافة إلى ذلك، فإن الحد الأقصى المسموح به للفارق بين وقت العقد وساعة النظام المحلية هو 90 دقيقة، وهذه أيضًا تدبير أمان.
تضمن قواعد MPT ألا تكون طوابع الوقت في الكتل متأخرة بشكل مفرط، بينما تمنع قواعد الكتل المستقبلية طوابع الوقت من أن تكون متقدمة بشكل مفرط. من الجدير بالذكر أنه لا يمكن تنفيذ تدابير مماثلة لقواعد الكتل المستقبلية لمنع استخدام الكتل لطوابع زمنية سابقة، لأن ذلك قد يؤثر على عملية مزامنة سلسلة الكتل الأولية. يستفيد هجوم تشويه الزمن من إمكانية تزوير طوابع زمنية قديمة.
خطأ صغير من ساتوشي ناكاموتو
تتضمن فترة تعديل صعوبة بيتكوين 2016 كتلة، مع حساب وقت الاستهداف للإنتاج عند 10 دقائق، مما يعني حوالي أسبوعين. لحساب تعديل صعوبة التعدين، يقوم البروتوكول بحساب فرق الطوابع الزمنية بين الكتلتين الأولية والنهائية في نافذة 2016 كتلة ذات الصلة. تحتوي نافذة 2016 كتلة هذه فعليًا على 2015 فترة كتلة (أي 2016 ناقص 1). لذلك، يجب أن يكون الوقت المستهدف المستخدم نظريًا هو 60 ثانية × 10 دقائق × 2015 فترة، مما يساوي 1,209,000 ثانية.
ومع ذلك، يستخدم بروتوكول بيتكوين الرقم 2016 عند الحساب. 60 ثانية × 10 دقائق × 2016 = 1,209,600 ثانية. هذه خطأ صغير، قد يكون ناتجًا عن ارتباك ساتوشي في مفهوم الفجوة بين الكتل.
هذا الخطأ يجعل الوقت المستهدف أطول بنسبة 0.05% مما ينبغي. في الواقع، فإن الفاصل الزمني المستهدف لبيتكوين ليس 10 دقائق، بل 10 دقائق و0.3 ثانية. هذا الانحراف الطفيف لن يتسبب في تأثير خطير، في الواقع، منذ ولادة بيتكوين، ظل متوسط فاصل الكتل حوالي 9 دقائق و36 ثانية، وهو أقل بكثير من 10 دقائق. وهذا يرجع أساسًا إلى أن متوسط قوة الشبكة قد زاد بشكل مستمر منذ عام 2009.
مبدأ هجوم تشويه الوقت
تم اكتشاف هجوم تشويه الوقت لأول مرة حوالي عام 2011، حيث استغل هذا الخطأ الطفيف في حساب الصعوبة الذي قام به ساتوشي. بافتراض أن التعدين مركزي تمامًا، يمكن للمهاجمين التلاعب بختم وقت الكتلة على النحو التالي:
هذه الطريقة في الهجوم ستؤدي إلى تأخر وقت البلوكشين عن الوقت الحقيقي، بينما ستستمر الصعوبة في الزيادة، مما يجعل التعدين أكثر صعوبة. ومع ذلك، اعتبارًا من دورة التعديل الثانية، ستبدأ الصعوبة في التعديل نحو الأسفل. بعد ذلك، يمكن للمهاجمين إنشاء كتل بسرعة كبيرة، مما ينتج عنه كمية كبيرة من بيتكوين، وبالتالي الحصول على مكاسب محتملة.
! خرق أمان البيتكوين: هجوم الاعوجاج الزمني
جدوى الهجمات والتحديات
على الرغم من أن هذا الهجوم نظريًا له تأثيرات مدمرة، إلا أن التنفيذ الفعلي يواجه العديد من التحديات:
الحلول المحتملة
إصلاح هذه الثغرة بسيط نسبيًا، ولكن قد يتطلب تغيير بروتوكول الانقسام الناعم. واحدة من الحلول البسيطة هي مطالبة الطابع الزمني للكتلة الأولى من فترة الصعوبة الجديدة ألا يكون قبل عدد معين من الدقائق من الكتلة الأخيرة من الفترة السابقة. في اقتراح بوينسوت، تم تحديد هذا الحد الزمني بساعة واحدة، وهو حوالي 0.6% من الهدف الزمني لتعديل الصعوبة، مما يمكن أن يحد بفعالية من مدى التلاعب بالصعوبة.
تشمل مزايا هذا الحد الزمني البالغ ساعتين:
ومع ذلك، فإن هذه الطريقة لا تزال تسمح للمهاجمين بتخفيض الصعوبة بنحو 0.6% في كل دورة، لكن ستكون هذه تغيرات لمرة واحدة، ولا يمكن أن تتراكم.
بشكل عام، على الرغم من أن هجمات تشويه الوقت تشكل تهديدًا من الناحية النظرية، إلا أن تنفيذها عمليًا يعد صعبًا. من خلال تحديثات البروتوكول المناسبة، يمكننا تعزيز أمان واستقرار شبكة بيتكوين بشكل أكبر.
! ثغرة أمنية البيتكوين: هجوم الاعوجاج الزمني