Posts

پنج هک جالب توجه ارزهای رمزنگاری شده – قسمت پنجم

مترجم: اکرم سبزمکان

 

حمله DAO

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

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

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

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

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

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

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

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

پیامد

با اتفاق نظر جامعه اتریوم، در پایان، تصمیمی اتخاذ شد که بر پایه آن، یک سافت فورک به عنوان راه‌حل ارائه شود. با این کار نه تنها می‌توان از قابلیت برگردان جانبی در مورد اتریوم بهره برد، بلکه می‌توان حمله DAO را نیز به فراموشی سپرد. بااین‌حال توسعه‌دهندگان دریافتند که با ارائه یک سافت فورک احتمال حملات DDOS بیشتر خواهد شد. در پایان این اتفاق منجر به جداسازی دو نوع اتریوم شد. یکی اتریوم اصلی که با نام اتریوم کلاسیک از آن یاد می‌شود و دیگری اتریوم جدید.

منبع: blockgeeks

پنج هک جالب توجه ارزهای رمزنگاری شده – قسمت چهارم

مترجم: اکرم سبزمکان

هک  DAO

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

پنج هک جالب توجه ارزهای رمزنگاری شده دانشگاه شریف قراردادهای هوشمند آزمایشگاه بلاکچین ایران اتریوم

تشکیل DAO

کل اکوسیستم اتریوم براساس قراردادهای هوشمند کار می‌کند. این قراردادها اساساً چگونگی انجام کارها در این اکوسیستم را مشخص می‌کنند. در شرایط عمومی، قراردادهای هوشمند قراردادهای خودکاری هستند که خود قرارداد و شرایط آن را به اجرا می‌گذارند و تسهیل می‌کنند.

سازمان خودمختار غیرمتمرکز (Decentralized Autonomous Organization)، یک قرارداد هوشمند پیچیده بود که اتریوم را به طور کلی متحول می‌کرد و اساساً صندوق سرمایه‌گذاری غیرمتمرکزی بود که قرار بود همه DAPPS های آینده در اکوسیستم را از نظر مالی تامین کند.

راه کار بسیار ساده بود: هرچه می‌خواستید در DAPPS، که فاند می‌گرفت، مطرح می‌کردید و سپس باید توکن‌های DAO را با مقدار خاصی اِتِر معاوضه می‌کردید. توکن‌های DAO شاخص‌هایی بودند که نشان می‌دادند شما رسماً بخشی ازسیستم DAO هستید.

حال، DAPPS قرار است چگونه تأیید و ساخته شود؟ آن‌ها باید در ابتدا توسط ناظرانی که به طور عمده در سرتاسر جهان اتریوم شناخته شده‌اند، در لیست سفید قرار داده شوند. پس از گرفتن مهر تایید، صاحبان توکن DAO به آن‌ها رای خواهند داد. اگر این پیشنهاد در رای‌گیری 20٪ رای تایید بگیرد، آن‌گاه آن‌ها وجوه مورد نیاز را برای شروع دریافت خواهند کرد.

پتانسیل DAO، انعطاف‌پذیری، کنترل و شفافیت کاملی که ارائه داد بی‌سابقه بود؛ مردم به سمت آن هجوم بردند. ظرف مدت 28 روز از شکل‌گیری DAO، بیش از 150 میلیون دلار اتر جمع شد. در آن زمان، 14٪ از تمام توکن‌های اتر منتشر شده بود.

با این که همه چیز در نگاه اول خوب به نظر می‌رسد ممکن است بپرسید چگونه شخصی می‌تواند از DAO خارج شود؟ اگر DAPPای تأیید شود که طرفدار آن نیستید، چه می‌کنید؟ چگونه از DAO خارج می‌شوید؟ برای فعال کردن این ویژگی، یک در خروجی به نام «عمل تقسیم» (Split Function) ایجاد شد. با استفاده از این ویژگی، می‌توانید اتری را که سرمایه‌گذاری کرده‌اید، بازپس بگیرید و اگر مایل باشید، حتی می‌توانید«DAO Child» خود را ایجاد کنید. در حقیقت، شما می‌توانید از صاحبان توکن‌های متعدد DAO جدا شوید و DAO child خود را ایجاد کنید و شروع به پذیرش پیشنهادات کنید.

در قرارداد یک شرط وجود داشت که بر اساس آن پس از جدا شدن از DAO شما تا 28 روز قادر به استفاده از اتر خود نخواهید بود. لذا به نظر می‌رسد همه چیز خوب و کامل است … اما یک مشکل کوچک وجود دارد. بسیاری از افراد این راهِ گریزِ کوچک را دیدند و آن را اعلام کردند. سازندگان DAO اطمینان دادند که این موضوع، مسئله­ بزرگی نیست. این تنها مسئله‌ای بود که وجود دارد، و وجود داشت، و طوفانی را ایجاد کرد که اتریوم را به اتریوم و اتریوم کلاسیک تقسیم کرد.

منبع: blockgeeks