تم الكشف مؤخراً عن ثغرة قاتلة في إصدار برنامج ثابت لمحفظة عتاد رقمية (v4.0.1): فقد تم تحويل مولّد أرقام عشوائية يعتمد على الإنتروبيا الفيزيائية إلى مولّد عشوائي شبه قابل للتنبؤ على مستوى البرمجيات. والنتيجة؟ لم يحتج المخترقون حتى إلى العبث بالمفاتيح الخاصة؛ فقط قاموا بالقوة الغاشمة لحساب عبارات الاسترداد (الـمِنيمنت) مباشرة، وتم تفريغ 1778 BTC فوراً بما يعادل حوالي 1.12 مليار دولار. كتبتُ عشر سنوات من كود الطبقة الأساسية، وأنا أفهم تماماً مثل هذه “الآفة الخفية” — هذا النوع من “العشوائية السوداء” غير المرئية، والتي لا يمكن التحقق منها على السلسلة، هو سيف داموقليس المعلّق فوق بركة أموال Web3.
هذا الأمر جعلني أتذكّر فوراً “السحب الحتمي” الذي كان @Dusk يقوم به. السحب بطبيعته يجب أن يكون عشوائياً، لكن إضافة “حتمية” تبدو متعسّفة، ومع ذلك فهي تضرب جوهر مشكلة الصناعة: يجب أن تكون نتيجة السحب عشوائية ومعلنة وقابلة لإعادة الحساب.
حول Dusk السحب التوافقي إلى لعبة واضحة للعيان. فكل عقدة في الشبكة، عبر خوارزمية تجزئة SHA-3، تحوّل بذرة الكتلة السابقة، والدورة الحالية، وأرقام المقاعد المخصّصة إلى درجة (score) يتم حسابها. “البذرة” الأساسية هي التوقيع الرقمي لِمُصدِر الكتلة السابقة على رقم البذرة الخاصة بالكتلة التي قبلها، ويتم فرض تحديثها إجباريًا مع كل كتلة جديدة. هذا يعني أن من يربح بالتحديد، ومن يدخل اللجنة، يستطيع أي مطوّر يشغّل عقدة أن يتحقق من حساباته بنفسه؛ تكلفة الغش مرتفعة جداً — حتى لو غيّرت حرفاً واحداً فقط، ستؤدي قيمة التجزئة إلى انهيار/تفجير (avalanche) يعكس الاختلاف فوراً ويُفضح الأمر على مستوى الشبكة.
ضمن هذا التصميم، فإن $DUSK هي “بطاقة الرقم” الخاصة بالسحب. كلما زادت نسبة الرهن زادت احتمالية الفوز، لكن الدهاء يكمن في “تلاشي الوزن” (weight decay): فكل مرة يتم فيها سحب مقعد بواسطة شخص كبير، يتم خصم وزن حقه في السحب قسراً، ما يمنع فعلياً “سيطرة الحيتان” أو حجز المقاعد بشكل جماعي عبر منطق الطبقة الأساسية.
لكنني بطبيعتي لا أثق في بروتوكول مثالي تماماً، وبشكل معتاد عليّ انتقاء الثغرات. هذا التصميم رغم كونه بدون تفاعل (interactivity) وذكي بما يكفي، إلا أن ضعفه القاتل أيضاً واضح: الحتمية غالباً تعني إمكانية التنبؤ. وبالمقارنة مع آلية RANDAO في إيثريوم أو VRF في Algorand، فإن Dusk يسلّم “مفتاح” السحب للجولة القادمة إلى التوقيع المستخدم في الجولة السابقة. بمجرد الحصول على بذرة الكتلة الحالية، يمكن حساب من سيفوز في الجولة التالية مسبقاً. وبمجرد انكشاف هوية العقدة مسبقاً، تزداد مساحة الهجمات الموجّهة من نوع DDoS أو المؤامرات بين العقد إلى حد كبير. وبعد أن أصبح التحقق ممكناً، حوّلت العشوائية إلى “تسريب مسبق للمعلومات”.
#dusk $DUSK $BTC
هذا الأمر جعلني أتذكّر فوراً “السحب الحتمي” الذي كان @Dusk يقوم به. السحب بطبيعته يجب أن يكون عشوائياً، لكن إضافة “حتمية” تبدو متعسّفة، ومع ذلك فهي تضرب جوهر مشكلة الصناعة: يجب أن تكون نتيجة السحب عشوائية ومعلنة وقابلة لإعادة الحساب.
حول Dusk السحب التوافقي إلى لعبة واضحة للعيان. فكل عقدة في الشبكة، عبر خوارزمية تجزئة SHA-3، تحوّل بذرة الكتلة السابقة، والدورة الحالية، وأرقام المقاعد المخصّصة إلى درجة (score) يتم حسابها. “البذرة” الأساسية هي التوقيع الرقمي لِمُصدِر الكتلة السابقة على رقم البذرة الخاصة بالكتلة التي قبلها، ويتم فرض تحديثها إجباريًا مع كل كتلة جديدة. هذا يعني أن من يربح بالتحديد، ومن يدخل اللجنة، يستطيع أي مطوّر يشغّل عقدة أن يتحقق من حساباته بنفسه؛ تكلفة الغش مرتفعة جداً — حتى لو غيّرت حرفاً واحداً فقط، ستؤدي قيمة التجزئة إلى انهيار/تفجير (avalanche) يعكس الاختلاف فوراً ويُفضح الأمر على مستوى الشبكة.
ضمن هذا التصميم، فإن $DUSK هي “بطاقة الرقم” الخاصة بالسحب. كلما زادت نسبة الرهن زادت احتمالية الفوز، لكن الدهاء يكمن في “تلاشي الوزن” (weight decay): فكل مرة يتم فيها سحب مقعد بواسطة شخص كبير، يتم خصم وزن حقه في السحب قسراً، ما يمنع فعلياً “سيطرة الحيتان” أو حجز المقاعد بشكل جماعي عبر منطق الطبقة الأساسية.
لكنني بطبيعتي لا أثق في بروتوكول مثالي تماماً، وبشكل معتاد عليّ انتقاء الثغرات. هذا التصميم رغم كونه بدون تفاعل (interactivity) وذكي بما يكفي، إلا أن ضعفه القاتل أيضاً واضح: الحتمية غالباً تعني إمكانية التنبؤ. وبالمقارنة مع آلية RANDAO في إيثريوم أو VRF في Algorand، فإن Dusk يسلّم “مفتاح” السحب للجولة القادمة إلى التوقيع المستخدم في الجولة السابقة. بمجرد الحصول على بذرة الكتلة الحالية، يمكن حساب من سيفوز في الجولة التالية مسبقاً. وبمجرد انكشاف هوية العقدة مسبقاً، تزداد مساحة الهجمات الموجّهة من نوع DDoS أو المؤامرات بين العقد إلى حد كبير. وبعد أن أصبح التحقق ممكناً، حوّلت العشوائية إلى “تسريب مسبق للمعلومات”.
#dusk $DUSK $BTC
🔹 可复算优先,确定性抽签利大于弊
100%
🔹 风险致命,可预测会引来定向攻击
0%
🔹 需要折中,参考VRF/RANDAO做改良
0%
1 الأصوات • تمّ إغلاق التصويت