اختراق DAO: قصة إيثريوم كلاسيك
قصة اختراق DAO في عام 2016، وكيف أدت استجابة المجتمع إلى إنشاء إيثريوم كلاسيك كسلسلة منفصلة.
Date published: 15 ديسمبر 2021
مقطع توضيحي بواسطة جونيون يروي قصة اختراق DAO في عام 2016، وهي واحدة من أكبر السرقات الرقمية في تاريخ الكريبتو، وكيف أدى القرار المثير للجدل لمجتمع إيثيريوم بتفرع سلسلة الكتل إلى إنشاء إيثريوم كلاسيك.
هذا النص هو نسخة يسهل الوصول إليها من النص الأصلي للفيديو (opens in a new tab) الذي نشره جونيون. تم تعديله قليلاً لتسهيل القراءة.
الاكتشاف (0:00)
إنه يوم الاثنين، June 13, 2016. يقوم أستاذ علوم الكمبيوتر في جامعة كورنيل بفحص كود DAO، وهو أحد أكثر المشاريع طموحًا في مساحة الكريبتو. لعدة أشهر كان يدعو إلى تعليق المشروع، حيث كان يعتقد أن هناك عيوبًا معينة يمكن أن تعرض الأمر برمته للخطر. لكنه اليوم يكتشف ثغرة أمنية خطيرة: خطأ برمجي في السطر 666.
إنه يخشى أن يسمح هذا الخطأ للمخترق بإجراء عمليات سحب غير محدودة تشبه أجهزة الصراف الآلي. حتى لو كان لدى المهاجم $10 فقط في حسابه، فسيكون قادرًا على سحبها مرارًا وتكرارًا حتى تنفد جميع الأموال. كان هناك ربع مليار دولار مستثمرة في DAO، وكان كل سنت في خطر.
تعترف Slock.it، الشركة التي تقف وراء DAO، بالاستغلال المحتمل لكنها تعلن أن أي هجوم سيكون غير قابل للتنفيذ، لذا فإن جميع الأموال لا تزال آمنة. يقومون برفع التعديلات إلى GitHub عن طريق تبديل سطرين من الكود — وهو إصلاح سيتم تضمينه كجزء من إطار عمل DAO الإصدار 1.1.
ولكن بينما كان الفريق يعلن النصر، كان هناك مخترق يتتبع خطواتهم سرًا، ويطور استغلالًا يستفيد من هذا الخطأ البرمجي بالتحديد. إنه الآن يوم الجمعة، بعد أربعة أيام، وقد تم للتو اختراق DAO بمبلغ 55 مليون دولار.
تمامًا كما أدى اختراق SWIFT بقيمة 81 مليون دولار إلى نشر ثغرات في الصناعة المصرفية المركزية، وكشف هجوم برامج الفدية WannaCry عن نقاط ضعف حرجة في أنظمة تشغيل الكمبيوتر، كشف اختراق DAO عن الهشاشة المبكرة لأمان العقود الذكية في عالم يملي فيه الكود كل شيء. لقد ترك مجتمع إيثيريوم مدمرًا وهم يتدافعون لمحاولة استعادة السيطرة على سلسلة الكتل.
هذه هي قصة واحدة من أكبر السرقات الرقمية على الإطلاق والمحاولة الجريئة لإعادة كتابة التاريخ بحيث يبدو وكأنها لم تحدث أبدًا.
ما هي DAO؟ (2:00)
لنتحدث عن DAO — وهي اختصار لمنظمة مستقلة لامركزية. الفكرة مستوحاة من التمويل الجماعي. بدلاً من وجود صناديق متعددة لمشاريع مختلفة، سيكون هناك صندوق واحد يحكمها جميعًا، ولم تكن هناك طريقة أفضل للقيام بذلك من استخدام DAO.
عند الإطلاق، سيحصل المستثمرون على 100 رمز مميز من DAO مقابل كل إيثر يتم إيداعه. منحتهم هذه الرموز المميزة حوكمة على البروتوكول ومثلت حصتهم في DAO. يمكن لحاملي الرموز المميزة تقديم مقترحات — على سبيل المثال، يمكنك اقتراح استثمار مليون دولار مقابل حصة بنسبة 10% في شركة XYZ.
بمجرد اجتياز المقترح للتحقق الأولي، سيتم التصويت عليه من قبل جميع المستثمرين الآخرين. خلال هذه الفترة، يمكن لحاملي الرموز المميزة التصويت بنعم إذا اعتقدوا أن الاستثمار يحقق قيمة متوقعة إيجابية، أو لا إذا اعتقدوا أنه يحقق قيمة متوقعة سلبية. يمكنهم أيضًا استخدام المنتدى للتعبير عن آرائهم وقراءة آراء الآخرين.
عندما تنتهي فترة التصويت ويتم استيفاء نصاب قدره 20% من جميع الرموز المميزة، تقوم DAO تلقائيًا بتحويل الإيثر المحدد إلى العقد الذكي الذي يمثل المقترح. أي إيثر يتم إنشاؤه من هذه المقترحات سيتم إعادته بعد ذلك إلى الخزانة. كان الأمر أشبه بصندوق تحوط لامركزي كبير، مصمم لتحقيق الربح. كانت الفكرة هي أن حكمة الحشود ستساعد في خلق أفضل فرص الاستثمار.
ومع ذلك، كان لا يزال هناك حاجة إلى طريقة لحماية الأقلية من التعرض للقمع من قبل الأغلبية. إذا عارضت مجموعة أقلية بشدة مقترحًا لم يتمكنوا من التفوق عليه في التصويت، فبدلاً من التصويت بلا، يمكنهم استدعاء دالة تفرع ونقل الإيثر الخاص بهم من DAO الرئيسية إلى DAO فرعية، مما يؤدي أساسًا إلى تقسيم DAO إلى قسمين. ستكون دالة التفرع هذه مهمة جدًا لاحقًا.
التمويل الجماعي (4:01)
كانت DAO أكبر مشروع تمويل جماعي على الإطلاق، حيث جمعت 12.7 مليون إيثر — بقيمة 150 مليون دولار في ذلك الوقت. حدث ذلك خلال الحقبة المبكرة من إيثيريوم، حيث تعرض المشروع لقدر هائل من الضجة والخوف من تفويت الفرصة (FOMO) لدى المستثمرين.
قبل ذلك، كانت مشاريع إيثيريوم في الأساس عبارة عن إثباتات مفاهيم عشوائية، ولكن هذا كان مشروعًا يعمل بكامل طاقته وذو إمكانات هائلة. كان آمنًا تمامًا من أي اختراقات، ومؤمنًا بواسطة ملايين المعدنين في جميع أنحاء العالم، وكان لامركزيًا — كان المشروع بأكمله يتكون من سلسلة من العقود الذكية على إيثيريوم.
كان هذا كودًا غير قابل للتغيير مستضافًا على أكثر أجهزة الكمبيوتر أمانًا في العالم، مما ضمن الخصائص الرئيسية لـ DAO: منظمة لامركزية ومستقلة تمامًا. بمجرد نشر العقود في April 30th، لم تتمكن أي كيان واحد — ولا حتى Slock.it — من إجراء تغييرات على البروتوكول أو إيقاف وجوده. تمت مراجعة الكود الخاص به مرات لا تحصى من قبل العديد من مطوري إيثيريوم وكان متاحًا للجميع لمراجعته.
الاختراق (5:02)
"وحيد، وحيد جدًا" — اسم مقترح DAO رقم 59. إنه مجرد مقترح تفرع عادي، ولكنه في الواقع حيث يبدأ الاختراق. بعد أن قدم المخترق المقترح، هناك فترة نقاش قياسية مدتها سبعة أيام حيث يحق لأي شخص الانضمام. ومع ذلك، لم ينضم أحد إلى هذا التفرع.
إنه إجراء قياسي لشخص ما أن يستدعي تفرعًا بمفرده، وينشئ DAO فرعية، ثم ينشئ مقترحًا يرسل كل الإيثر مرة أخرى إلى محفظته. يتيح ذلك للمستخدم استرداد أمواله المدعومة بالرموز المميزة لـ DAO الخاصة به. لقد مرت الآن سبعة أيام، ويُسمح للمخترق الآن باستدعاء دالة التفرع. لا أحد يشتبه في أي شيء.
ومع ذلك، عند استدعاء دالة التفرع، يدرك المجتمع شيئًا مثيرًا للقلق. يتم استنزاف الإيثر من DAO بمعدل ثمانية ملايين دولار في الساعة. يتدافع المجتمع لمعرفة ما يحدث. يبدو أن المهاجم يستدعي دالة التفرع بشكل متكرر — مرارًا وتكرارًا، مئات المرات.
هل تتذكر إصلاح الخطأ البرمجي الذي حدث قبل أربعة أيام؟ من المؤسف أنه لا توجد طريقة لتعديل كود العقد الذكي بعد نشره، لذلك كان هذا الإصلاح موجودًا فقط على GitHub كجزء من The DAO 1.1، وهي DAO مختلفة تمامًا كانت قيد الإنشاء. كان من الممكن أن يمنع هذا الإصلاح الصغير الأمر برمته — كل ما فعله هو تبديل سطرين من الكود بحيث يتم تحديث الرصيد قبل الدفع الفعلي.
ولكن بدون هذا الإصلاح، يمكن لأي شخص استدعاء الدالة بشكل متكرر لسحب الإيثر قبل أن يقوم العقد بتحديث رصيده. إنه مثل جهاز صراف آلي لا يغير رصيدك حتى يعطيك المال. "هل يمكنني سحب عشرة دولارات؟ انتظر، قبل ذلك، هل يمكنني سحب عشرة دولارات؟ انتظر، قبل ذلك..."
مجموعة روبن هود (6:55)
راقب حاملو الرموز المميزة لـ DAO استثماراتهم وهي تُستنزف ببطء من DAO الرئيسية إلى DAO الفرعية، والمعروفة أيضًا باسم DAO المظلمة. بالإضافة إلى ذلك، انهار سعر إيثيريوم بشكل مفاجئ من $20 إلى $15 في أعقاب الأخبار. كان لابد من القيام بشيء ما، وكانت الطريقة الوحيدة هي استنزاف الباقي قبل أن يفعل المخترق ذلك. وهكذا بدأ السباق نحو الإفراغ.
على الجانب الآخر من العالم، في شقته في حي كوباكابانا في ريو دي جانيرو، يستيقظ أليكس فان دي ساندي على هاتفه وهو يضج برسائل سكايب. يلتفت إلى زوجته ويقول: "هل تتذكرين عندما كنت أخبرك عن تلك الكومة الضخمة من الأموال غير القابلة للاختراق؟ لقد تم اختراقها."
تواصل أليكس مع بعض المطورين الآخرين غير المعلن عنهم وشكلوا مجموعة أطلقوا عليها اسم روبن هود — قراصنة القبعات البيضاء الذين سيستنزفون الأموال المتبقية ويعيدونها إلى أصحابها الشرعيين. ومع ذلك، لم يكن لديهم الوقت لاقتراح تفرع جديد، لأن ذلك سيتطلب فترة تصويت مدتها سبعة أيام.
بدلاً من ذلك، وضعوا أنظارهم على المقترح رقم 71، والذي كان على وشك الانتهاء في غضون ساعات قليلة. سينضمون إلى هذا التفرع ويستخدمون نفس الاختراق لسحب جميع الأموال المتبقية إلى DAO الفرعية هذه. مرت ست ساعات منذ بدء الهجوم، وتمكن اللص من سرقة 30% من إيثر DAO. ولكن لسبب غير معروف، توقف الهجوم عن العمل. فشلت المعاملات وانتهى كل شيء.
في غضون ذلك، كان أليكس يستعد للتو لشن هجوم القبعة البيضاء لتأمين الـ 70% المتبقية من الأموال. لكنه فقد فجأة اتصاله بالإنترنت. مع تبقي 30 دقيقة فقط، اتصل بشكل محموم بـ NET، مزود خدمة الإنترنت البرازيلي الخاص به، لكنه لم يتلق سوى رد من صوت آلي: "نرى أن هناك مشكلة في الإنترنت في حيك." انتهى مقترح التفرع وكان قد فوت للتو فرصة تنفيذ هجوم روبن هود.
في صباح اليوم التالي، حاول أليكس إعادة عقد المجموعة لاختراق مقترح تفرع آخر، لكن الآخرين كانوا مشغولين. "شعرنا وكأننا أسوأ القراصنة في التاريخ. لقد أحبطنا بسبب سوء الإنترنت والالتزامات العائلية."
السباق نحو الإفراغ (9:10)
بعد أربعة أيام من الهجوم الأولي، تعرضت DAO للهجوم مرة أخرى. كانت تُستنزف ببطء — بضعة إيثرات في كل جولة — لكنها جمعت بالفعل بضعة آلاف من الدولارات. بدا الأمر وكأنه من مهاجم يختبر الوضع. في هذه المرحلة، كان على روبن هود أن يفعل شيئًا.
اختاروا اختراق التفرع رقم 78 لأنهم حددوا أمين المقترح وكان على وشك الانتهاء قريبًا. اتصلوا ببعض الحيتان الذين كانوا سعداء بالتبرع بالرموز المميزة لـ DAO الخاصة بهم، مما سمح للفريق بتأمين ستة ملايين رمز مميز. كلما زاد عدد الرموز المميزة التي يمتلكها عقد روبن، زادت سرعة سحب الإيثر. زاد المهاجم من وتيرته وانضم إليه مهاجمون آخرون. ولكن بفضل التبرعات، تمكن روبن هود من التفوق عليهم. سمح لهم ذلك بتأمين 7.2 مليون إيثر — 55% من DAO.
التفرع (10:08)
تم الآن استنزاف DAO الرئيسية وتوزيع جميع الأموال عبر العديد من DAOs الفرعية — الاثنتان الرئيسيتان هما DAO القبعة البيضاء و DAO المظلمة. لكن كل الأموال كانت مقفلة زمنيًا. لا يمكن تقديم أي مقترح في ظل DAO فرعية حتى تنتهي فترة انتظار مدتها 27 يومًا. وحتى بعد ذلك، تطلب إرسال الأموال إلى عنوان خارجي تقديم مقترح والانتظار لمدة أسبوعين. في الأساس، كان لا يزال هناك 41 يومًا حتى يتمكن المخترق من صرف ما يعادل 5% من إجمالي المعروض من إيثيريوم.
لكن المخترق لن يتمكن أبدًا من لمس إيثيريوم الخاص به. ما حدث بعد ذلك هو أحد أجرأ الحلقات وأكثرها إثارة للجدل في تاريخ سلسلة الكتل. قرر المجتمع أنهم لن يسمحوا للمخترق بالفوز. أرادوا إعادة كتابة التاريخ بحيث يتم التراجع عن كل معاملة متورطة في الاختراق، ويسترد الجميع أموالهم. اختاروا تفرع إيثيريوم.
سلسلة الكتل تشبه قائمة من المعاملات التي تستمر في النمو مع كل كتلة يتم تعدينها. كل معاملة متأصلة في سلسلة الكتل إلى الأبد. ولكن إذا تواطأ أكثر من 50% من المعدنين، فيمكنهم تغيير سلسلة الكتل بشكل زائف، وإعادة كتابة التاريخ كما يريدون. عادة ما يسمى هذا هجوم 51%. ولكن لم يكن هناك أي شيء خبيث في هذا التفرع — كان المجتمع يسترد فقط الأموال التي سُرقت منه.
الكود هو القانون (11:48)
ومع ذلك، لم يكن الجميع موافقين على التفرع المقترح. جادلوا بأن الكود هو القانون. من وجهة النظر هذه، كان المهاجم أقل من كونه مخترقًا وأكثر من كونه محاميًا ذكيًا قرأ شروط العقد بعناية. لذلك، لم تُسرق أي أموال في الواقع ويجب أن يحق لهم الحصول على الإيثر من DAO المظلمة.
من المهم ملاحظة أن إيثيريوم نفسها لم تُخترق أبدًا في الواقع — لقد كان مجرد عقد ذكي مكتوب بشكل سيئ تم استغلاله. شيئان مختلفان. بالإضافة إلى ذلك، اعتقدوا أن الأشياء التي تحدث على سلسلة الكتل غير قابلة للتغيير ولا ينبغي العبث بها أبدًا بغض النظر عن الموقف.
بعد يوم واحد من الهجوم الأولي، أرسل المهاجم رسالة مفتوحة في دردشة مجموعة Slack الخاصة بـ DAO، موقعة باستخدام مفتاح خاص بهم:
"إلى DAO ومجتمع إيثيريوم: لقد فحصت بعناية كود The DAO وطالبت بحق بـ 3 ملايين إيثر، وأود أن أشكر DAO على هذه المكافأة. أشعر بخيبة أمل من أولئك الذين يصفون استخدام هذه الميزة المتعمدة بأنها 'سرقة'. أنا أستفيد من هذه الميزة المبرمجة صراحة وفقًا لشروط العقد الذكي. إن أي تفرع مرن أو تفرع صلب سيكون بمثابة مصادرة للإيثر الشرعي والمستحق لي. مثل هذا التفرع سيدمر بشكل دائم ولا رجعة فيه كل الثقة ليس فقط في إيثيريوم ولكن أيضًا في مجال العقود الذكية وتكنولوجيا سلسلة الكتل. لا تخطئوا: أي تفرع، مرن أو صلب، سيلحق المزيد من الضرر بإيثيريوم ويدمر سمعتها وجاذبيتها."
عند الفحص الدقيق، أدرك الناس أن التوقيع كان غير صالح، لذلك تمت كتابة هذه الرسالة فقط من قبل شخص يدعي أنه المهاجم.
من ناحية أخرى، جادل المؤيدون بأن "الكود هو القانون" هو بيان جذري للغاية وأن البشر يجب أن يكون لهم الكلمة الأخيرة من خلال إجماع اجتماعي. لا ينبغي السماح للمخترق بالاستفادة من الاستغلال لأنه خطأ أخلاقيًا وعلى الأرجح غير قانوني. ولكن الأهم من ذلك، كانت DAO ببساطة أكبر من أن تفشل. كانت تمتلك حوالي 15% من إجمالي المعروض من الإيثر.
إيثريوم كلاسيك (14:34)
في حدث أعاد إلى الأذهان الأزمة المالية لعام 2008، قام مطورو إيثيريوم بإنقاذ DAO. لم يعتذر فيتاليك بوتيرين، مبتكر والمطور الرئيسي لإيثيريوم، عن الدفع نحو تفرع. في مقابلة، قال لاحقًا: "يرى بعض مستخدمي بيتكوين أن التفرع الصلب ينتهك بطريقة ما قيمهم الأساسية. أنا شخصياً أعتقد أن هذه القيم الأساسية، عندما تُدفع إلى مثل هذه التطرفات، تكون سخيفة."
سادت هذه الآراء أغلبية مجتمع إيثيريوم. أظهر تصويت مجتمعي مثير للجدل — حيث يساوي إيثر واحد صوت واحد — دعمًا بنسبة 87% للتفرع. لذلك في الكتلة 1,920,000، قامت عقد الكمبيوتر في جميع أنحاء العالم بتحديث برامجها وقبلت التفرع. تم نقل كل الإيثر من DAO و DAOs الفرعية إلى عقد استرداد.
لكن الأمر لا ينتهي عند هذا الحد. استمرت سلسلة الكتل الأصلية لإيثيريوم — تلك التي حدث فيها اختراق DAO — في العمل. في الواقع، كانت تنمو. استمر المعدنون الذين عارضوا التفرع في تعدين الكتل وكانت المعاملات لا تزال تُجرى. في اليوم التالي، أدرجت Poloniex العملة وبدأ تداولها بسعر $2 لكل منها. أصبحت هذه السلسلة تُعرف باسم إيثريوم كلاسيك — سلسلة الكتل الأصلية غير المعدلة.
إذا كنت تمتلك إيثر قبل التفرع، فسيكون لديك الآن إيثيريوم واحد وإيثريوم كلاسيك واحد. إذا كنت تمتلك إيثر واحدًا في DAO، فستتمكن من سحب إيثيريوم واحد من عقد الاسترداد. وإذا كنت قد اخترقت للتو DAO، فستكون قد حققت ثروة محترمة في إيثريوم كلاسيك — حوالي سبعة ملايين دولار.
إرث DAO (16:14)
في البداية، اكتسبت إيثريوم كلاسيك زخمًا كبديل، مع مجتمع قوي من أصوليي سلسلة الكتل الذين اختلفوا مع خطة الإنقاذ. ولكن منذ ذلك الحين، فشلت إيثريوم كلاسيك في اكتساب الزخم ولا توجد حقًا إلا كفكرة ذات فائدة قليلة. بينما تعد إيثيريوم موطنًا لآلاف البروتوكولات، لا تمتلك إيثريوم كلاسيك سوى عدد قليل من البروتوكولات الأساسية. من الواضح أن التفرع قد فاز.
بعد شهرين، قام روبن هود بتحويل 2.9 مليون من إيثريوم كلاسيك الخاص بهم إلى Poloniex وباعوها بالكامل مقابل إيثيريوم في محاولة لإغراق السعر. تم تحويل 14% بنجاح، ولكن تم تجميد 86% بواسطة Poloniex وإعادتها إلى المجموعة. أنشأ روبن هود عقد استرداد على شبكة إيثريوم كلاسيك للمستخدمين المتأثرين باختراق DAO.
أما بالنسبة للمخترق، فقد خرج بـ 3.6 مليون إيثريوم كلاسيك — بقيمة 150 مليون دولار اليوم. ولكن لو لم يكن هناك تفرع، لكانت قيمة تلك الـ 3.6 مليون إيثيريوم تزيد عن سبعة مليارات دولار اليوم.
التأثير الدائم لـ DAO (17:26)
من المهم ملاحظة أن DAO يُشار إليها الآن بشكل شائع باسم Genesis DAO لتجنب الالتباس، لأنها كانت أول DAO ولكنها بالتأكيد ليست الأخيرة. على الرغم من الانتكاسات الأولية، أصبحت DAOs أكثر شيوعًا. تحكم MakerDAO عملة مستقرة DAI، وبروتوكولات التمويل اللامركزي (DeFi) مثل يونيسواب مع رمز مميز UNI الخاص بها عادة ما يكون لها DAO حوكمة. تم بناء كل هذه DAOs من تجارب المشاريع السابقة لإنشاء منظمات أكثر تنوعًا ونجاحًا.
لكن Genesis DAO كانت الأولى من نوعها، وتم إنشاؤها كتجربة — تجربة باهظة الثمن — حيث سيطرت على 250 مليون دولار في ذروتها، أو 15% من إجمالي المعروض من إيثيريوم. توقع كريستوف جينتش، المطور الرئيسي، أن تجمع خمسة ملايين دولار فقط وقال لاحقًا إنه يأسف لعدم وضع حد أقصى لها. بالنسبة لمثل هذه التجربة الكبيرة، كان الوقت مبكرًا جدًا وبالتأكيد كانت أكبر من أن تفشل.
إن إنشاء عقد ذكي يشبه تطوير سيارة ذاتية القيادة — إنها مسؤولية كبيرة تتطلب اختبارات مكثفة لتجنب الحوادث. حتى مع هذا الحذر الجديد، لا تزال بروتوكولات التمويل اللامركزي (DeFi) تتعرض للاختراق بمبالغ تصل إلى 50 مليون دولار، وبعضها حتى بعد مراجعتها من قبل شركات تدقيق محترفة. ولكن منذ اختراق DAO، لم تكن هناك المزيد من عمليات الإنقاذ. أصبح مجتمع إيثيريوم أقوى الآن ومستعدًا للانتقال إلى مشاريع أكبر وأكثر طموحًا، وبناء الجيل القادم من التطبيقات الرقمية.