مقایسه‌ی اتریوم و اتریوم کلاسیک- قسمت دوم: حمله‌ی DAO

مترجم: احمد رجعتی

 

در قسمت قبل درباره شکل گیری DAO یا Decentralized Autonomous Organization صحبت کردیم. در 17 ژوئن 2016، شخصی از حفره‌ی موجود در DAO سوء استفاده کرد و یک سوم از بودجه‌ی DAO را که حدود 50 میلیون دلار بود، به سرقت برد. حفره‌ای که هکر)ها(کشف کرده بود، بسیار ساده بود.

اگر کسی بخواهد از DAO خارج شود، می‌تواند این کار را از طریق ارسال یک درخواست انجام دهد. سپس تابع جداسازی (splitting function) دو مرحله‌ی زیر را دنبال می‌کند:

  • بازگرداندن اتر در مقابل مبادله با توکن‌هایDAOهای آنها
  • ثبت مبادله در دفترکل و به روزرسانی بالانس توکن داخلی

کاری که هکرها انجام دادند این بود که تابع بازگشتی در درخواست ایجاد کردند و لذا تابع جداسازی به صورت زیر اجرا شد:

  • دریافت توکن‌هایDAO از کاربر و دادن اتر درخواستی
  • قبل از این که آنها بتوانند معامله را ثبت کنند، تابع بازگشتی کد را به عقب بازگرداند وحتی اتر بیشتری را برای همان توکن DAO انتقال می دهد.

این امر تا زمانی که 50 میلیون دلار اتر خارج و در یک Child DAO  ذخیره شد، ادامه داشت.

نکته: قبل از ادامه‌ی مقاله، بگذارید یک تمایز را روشن کنیم. این هک به دلیل مشکلی در DAO رخ داده است نه به دلیل وجود مشکل در خود اتریوم. اتریوم در پس زمینه اجرا می‌شود در حالی که DAO روی آن اجرا می‌شود.

همان طور که گوین وود ( Gavin Wood) ‌بنیانگذار اتریوم می‌گوید: «سرزنش اتریوم به خاطر هک شدن DAO ، مانند این است که هر زمان که وب سایتی پایین می‌آید، بگوییم اینترنت شکست خورده است.»

منبع: blockgeeks

0 پاسخ

دیدگاه خود را ثبت کنید

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *