حسین چنگایی | 1397.02.11

یک باگ در شبکه اتریوم (Ethereum) که می توانست شما را ثروتمند کند

شما فرصت بسیار بزرگی برای این که به یک میلیونر اتریومی تبدیل شوید را از دست داده اید. یک باگ بزرگ که تحت عنوان «دست کاری توازن حساب اتریوم (Ethereum)» معرفی شده است، با دنبال کردن یک سری از مراحل که مربوط به اجرای یک قرارداد هوشمند با یک تراکنش معیوب یا یک آدرس والت اشتباه می شد، امکان دسترسی به یک منبع نامحدود از اتر ها را در کیف پول شما میسر می ساخت؛ اما در حال حاضر این فرصت از دست رفته و ایراد مذکور برطرف شده است.

یک باگ در شبکه اتریوم (Ethereum) که می توانست شما را ثروتمند کند

How ethereum bug could make you rich/ Source

این باگ چگونه شناسایی شد؟

به گزارش کوین ایران و به نقل از وب سایت investopedia، یک شرکت فناوری تکنولوژی هلندی  که کمپانی VI نامیده می شود، در طول ماه دسامبر سال گذشته یک مورد آسیب پذیری را شناسایی نمود و آن را به صرافی Coinbase  گزارش کرد. این صرافی به عنوان بزرگ ترین صرافی کشور آمریکا بلافاصله اقداماتی را در این زمینه انجام داد، ولیکن حدود یک ماه طول کشید تا این ایراد در ماه ژانویه سال بعد برطرف گردد.

بیشتر بخوانید: TEZOS ، EOS و CARDANO غول های خفته و رقیبان احتمالی اتریوم

کمپانی VI به پاس انتشار این گزارش شفاف از نقص فنی، با یک پاداش 10 هزار دلاری از سوی Coinbase مورد تقدیر قرار گرفت و این موضوع به اطلاع عموم رسید.

این باگ چگونه موجب عرضه نامحدود اتریوم (Ethereum) می گردید؟

اتریوم از یک قرارداد هوشمند به عنوان بخشی ضروری و جدایی ناپذیر برای شبکه خود استفاده می کند. این نقص بر اساس سناریوی زیر در حین انتقال اتریوم (Ethereum) از طریق قرارداد هوشمند به وجود آمده بود.

یک کاربر به منظور توزیع اتریوم (Ethereum) به یک سری از کیف پول های متعدد، از قرارداد های هوشمند استفاده می کند. این عملیاتِ معمول منجر به وقوع معاملات متعدد در شبکه اتریوم می گردد. بر اساس مکانیسم عملکردی این قرارداد هوشمند، در صورتی که یکی از تراکنش های میانی دچار مشکل شود، کلیه معاملات قبل از آن برگشت داده می شود.

بیشتر بخوانید: کشف حملات Eclipse بر روی بلاکچین اتریوم

مشکل مذکور آنجا بود که در حساب های صرافی Coinbase، این معاملات برگشت داده نمی شد. این موضوع کاربر را مقدور می ساخت تا تعداد نامحدودی از اتر ها را به موجودی حساب خود اضافه کند. اگرچه آدرس والت های Coinbase نشان می دهد که این حساب ها هیچ اتری دریافت ننموده اند، اما والت های کاربران افزایش توکن ها را نشان می دادند.

در واقع، یک کاربر می توانست با استفاده از این قرارداد هوشمند، فرایند انتقال سرمایه ای که در صد ها تراکنش تقسیم شده است را آغاز کند. در صورتی که کاربر یک تراکنش معیوب را در پایان معاملات قرار می داد، کلیه تراکنش های قبلی برگردانده و به موجودی والت او حجم زیادی از توکن ها اضافه می شد.

بیشتر بخوانید: حساب ها، تراکنش ها، سوخت و موارد دیگر در اتریوم (قسمت اول)

این باگ چگونه عمل می کرد؟

وب سایت HackerOne با همراهی کمپانی VI مراحل زیر را برای توضیح کامل تر علت این مشکل فهرست می کند:

  • یک قرارداد هوشمند را با چند کیف پول معتبر Coinbase و یک کیف پول معیوب پایانی، که مورد اخیر همواره در هنگام دریافت وجه قرارداد هوشمند رد یا واخواست می شود را اجرا کنید.
  • وجوهات متناسب با قرارداد هوشمند را انتقال دهید.
  • بدون این که از کیف پول قرارداد هوشمند خود خارج شوید، اجرای قرارداد را آغاز کنید. این عمل مقدار اتریوم انتخاب شده را به والت Coinbase اضافه می کند. از آنجا که تکمیل تراکنش در آخرین والت دچار نقص می شود، تمام تراکنش های پیشین معکوس خواهند شد، اما در حساب Coinbase این اتفاق نمی افتد.
  • فردی که این فرایند را انجام می دهد، در پایان می تواند اتر ها را به پول نقد تبدیل کرده و یا به حساب های دیگر منتقل سازد.

بیشتر بخوانید: نحوه ساخت والت کاغذی Ethereum با استفاده از MyEtherWallet

حل بحران

اگرچه تا کنون هیچ گزارشی مبنی بر سوء استفاده بزرگ کاربران از این نقص منتشر نشده، اما صرافی Coinbase مواردی از «خسارات غیر عمدی» را تایید کرده است. در یک یادداشت خلاصه، Coinbase تصریح کرده است که این موضوع با تغییر اصول اجرا و کنترل قرارداد برطرف گردیده است. تجزیه و تحلیل ها نشان می دهد که این نقص تنها باعث به وجود آمدن یک سری «از دست دادن های تصادفی» برای Coinbase شده و هیچ تلاشی برای انتفاع از این عیب گزارش نشده است.

توجه:

دیدگاه هایی که در این مقاله ارائه شده اند، متعلق به نویسنده می باشند و لزوماً مربوط به Coiniran نمی باشد و نباید به آن نسبت داده شود.

source & image