ما هو غير متوقع: التعامل مع عطل في العقد وإعادة إطلاق الإصدار الثاني
بقلم DeHub Team — 2022-10-01
في الربع الرابع من عام 2022، تعطلت دوافع الضرائب في عقدنا. تجمد الرمز المميز. تجمد تجمع السيولة معه. اضطررنا إلى إعادة إطلاق الإصدار الثاني.
هذا هو أخطر عطل فني في تاريخ DeHub ويستحق حسابًا مباشرًا.
ماذا حدث
حمل العقد المنطق الضريبي في مسار التحويل — التصميم القياسي للفترة، حيث يتم تحويل نسبة مئوية من كل معاملة إلى السيولة أو التسويق أو أصحابها.
تعطلت تلك المحفزات في ظل ظروف حقيقية. لم تكن النتيجة تجربة متدهورة. لا يمكن أن يتحرك الرمز المميز، ولأن المجمع يعتمد على التحويلات، فإن السيولة مؤمنة معه. لم يتمكن حاملو الأسهم من التداول. لم نتمكن من إصلاحه من الخارج، لأن السلوك كان في منطق العقد المنشور.
لم يكن هناك رقعة. الثبات هو الخاصية التي تريدها حتى اللحظة التي يتم فيها كسر الشيء غير القابل للتغيير.
لماذا لم يمنعه التدقيق
لقد قمنا بتكليف تدقيق Certik الكامل في العام السابق وأخذنا الأمن على محمل الجد منذ ثغرة الإصدار الأول.
لم يكن هذا استغلالًا. لم يهاجمنا أحد. فعل العقد ما كُتب للقيام به، في ظل مجموعة من الشروط التي لم يتم نمذجتها. تبحث عمليات التدقيق بجدية فيما إذا كان يمكن إساءة استخدام التعليمات البرمجية. إنهم أضعف بكثير في ما إذا كان التصميم يتصرف بشكل معقول على حواف افتراضاته الخاصة، وهذا هو المكان الذي عاش فيه هذا.
إنه أوضح توضيح لدينا لحدود التدقيق، ولهذا السبب لم نستخدم الكلمة أبدًا كضمان منذ ذلك الحين.
ما فعلناه
أعيد تشغيله. لم يكن هناك خيار أصغر.
وهذا يعني عقدًا جديدًا و ترحيل أكثر من 25000 حامل عليه — وهو مشروع تشغيلي هائل يتم تنفيذه في ظل الظروف التي تكون فيها أقل مصداقية.
كان ذلك يعني أيضًا تحديد ما يجب أن يكون عليه العقد الجديد، ونحن انتقلنا إلى علم الرموز القياسي العادي ERC -20 مع عدم وجود شيء ذكي في مسار النقل على الإطلاق. لا توجد محفزات ضريبية. لا يوجد منطق مشروط بين الحائز ورموزه الخاصة.

ما تعلمناه بالفعل
التعقيد في مسار النقل هو الخطر. كل آلية رمزية ذكية هي رمز يعمل على كل معاملة إلى الأبد، في ظروف السوق التي لم يرها أحد حتى الآن. يجب أن تكسب الذكاء مكانه مقابل ذلك.
غير قابل للتغيير يعني غير قابل للتغيير. صمم للحالة التي لا يمكنك فيها التدخل، لأن هذه هي الحالة التي ستحصل عليها.
يتحمل المجتمع تكلفة قرارات التصميم الخاصة بك. لم يتمكن حاملو الأسهم من الوصول إلى مراكزهم دون أي خطأ من جانبهم. مهما كان التفسير الفني، فهذا هو ما حدث، وهذا هو الإطار الذي احتفظنا به.
بعد ذلك
تم شحن V2، وهاجر أصحابها، و استؤنف التداول على Gate.io في الربع الأول من عام 2023 . استمر العقد المبسط دون وقوع أي حادث منذ ذلك الحين.
كان أواخر عام 2022 امتداد لـ DeHub — هذا، مباشرة بعد انهيار مشروع بالاوان و $ 1 مليون يانصيب غاب عن الحد الأدنى . الثلاثة موجودون في هذا الأرشيف بالكامل.
لأي شخص يصمم الرموز الآن
النصيحة المحددة التي سنقدمها، بعد أن دفعنا ثمنها:
يجب تبرير أي شيء في مسار النقل ضد أسوأ الحالات، وليس الحالة المقصودة. اسأل عما يفعله هذا الرمز عند 100 ضعف الحجم الذي تتوقعه، عند 1 ٪ منه، أثناء حدث السيولة، وعندما يتصرف عقد الدمج بطريقة لم تتوقعها. إذا لم تتمكن من الإجابة على جميع الأسئلة الأربعة، فهي لا تنتمي إلى هناك.
وافترض أنك لن تتمكن أبدًا من تغييره. التمرين العقلي الذي كان من شأنه أن ينقذنا بسيط: اكتب ما كنت ستفعله إذا بدأ هذا العقد في التصرف بشكل سيء غدًا ولم يكن لديك مفتاح مسؤول. إذا كانت الإجابة الصادقة هي "إعادة إطلاق وترحيل الجميع"، فقد قبلت بالفعل هذه النتيجة — لكنك لم تحدد موعدًا لها بعد.
افتح DeHub