چندین توسعه دهنده اتریوم نگرانی خود را در خصوص آسیب پذیری بالقوه امنیتی در شیوه جدید ویژگی ایجاد قرارداد هوشمند ابراز کردند. این ویژگی در کدبیس هارد فورک آتی کنستانتینوپول وجود خواهد داشت.
ویتالیک بوترین موسس اتریوم طی نشست توسعه دهندگان در تاریخ ۱۵ فوریه یا 26 بهمن ماه در پاسخ به این نگرانی ها بیان کرد که اصلاحات و تغییرات برنامه ریزی شده کدبیس، هیچگونه آسیب پذیری در بلاک چین اتریوم ایجاد نخواهد کرد.
طبق بیانیه سایر توسعه دهندگان اتریوم، ویژگی skinny CREATE2 که بخشی از پروپوزال بهبود اتریوم یا EIP 1014 میباشد ممکن است تهدید امنیتی بالقوه ای وارد شبکه اتریوم کند.
ویژگی skinny CREATE2 به کاربران امکان میدهد تا با قراردادهای هوشمندی که هنوز بر بستر بلاک چین اتریوم صادر نشده اند تعامل داشته باشند. طبق توضیحات توسعه دهندگان اتریوم، این ویژگی، تعامل با آدرس هایی که هنوز بر روی زنجیره موجود نمیباشند اما میتوانند حاوی کد باشند را امکان پذیر میسازد. این ویژگی ممکن است مورد سو استفاده قرار گیرد زیرا قراردادهای هوشمند میتوانند طوری برنامه نویسی شوند تا پس از صادر شدن، آدرس خود را تغییر دهند.
محقق مستقل بلاک چین، نگرانی های خود را ابراز کرد
راجیو گوپالاکریشنا (Rajeev Gopalakrishna) یکی از محققان اتریوم و امنیت سایبری بیان کرد که ویژگی CREATE2 ممکن است تاثیرات منفی امنیتی بر شبکه اتریوم داشته باشد. گوپالاکریشنا که فارغ التحصیل مقطع دکترا در رشته علوم کامپیوتر از دانشگاه پوردو است توضیح داد که در موارد خاص، استفاده از ویژگی CREATE2 ممکن است به هکر امکان دهد تا قراردادهای هوشمند بی خطر قبلی را با قراردادهای هوشمند آلوده جایگزین کند. در این خصوص، جیسون کارور یکی از مهندسان بنیاد اتریوم بیان کرده است که میتوان با جایگزین کردن قراردادهای منقضی شونده با نسخه های جدیدتر (با استفاده از ویژگی CREATE2) حمله های بالقوه انجام داد.
قابل ذکر است که اوایل ماه جاری، گوپالاکریشنا این سوال را مطرح کرده بود که آیا این ویژگی باعث حمله های جدی نمیشود؟ آیا بدان معنا نیست که قراردادهای هوشمند منقضی شونده پس از فعالسازی کنستانتینوپول بیش از پیش مشکوک میشوند؟
واکنش توسعه دهندگان
جف کولمن توسعه دهنده اتریوم در پاسخ به این پرسش ها اذعان داشت:
یکی از موضوعات درباره ویژگی CREATE2 این نکته میباشد که از نظر تئوری، اجرای مجدد میتواند بایت کد قرارداد را تغییر دهد، زیرا آدرس فقط تعهد به کد اولیه است. کاربران باید آگاه باشند که کدهای شروع به کار یا اولیه بخشی از حسابرسی میباشند و کدهای اولیه غیرقطعی یک مشکل به حساب میآیند.
طبق سخنان نوئل مائرسک توسعه دهنده بلاک چین، ویژگی منقضی شوندگی ممکن است تاثیرات منفی امنیتی نداشته باشند. مائرسک هم چنین اذعان کرد که افزودن کد اولیه غیرقطعی به قراردادهای بلاک چین حاوی ویژگی CREATE2 میتواند باعث ایجاد خطر حملات شود.
علاوه بر این، کولمن خاطر نشان کرد توسعه دهندگانی که در صدد حسابرسی کدهای نوشته شده توسط سایر برنامه نویسان را دارند باید به دنبال پدیده های عجیب باشند، مخصوصا اگر CREATE1 و CREATE2 را ترکیب کنید، زیرا CREATE1 فارغ از اینکه چه نانسی است، عملکرد ضعیفی در خصوص هویت آدرس ها دارد.
اظهار نظرهای بوترین در خصوص CREATE2، خط مشی بلندمدت اتریوم
کولمن بیان کرد اگر CREATE2 به صورت استاندارد درآید، ایده دست کشیدن از نانس قرارداد امکان پذیر میشود. وی نیاز به آدرس دهی بر اساس محتوای قراردادهای هوشمند به جای اتکا به آدرس دهی بر اساس سفارش را بیان داشت.
بوترین نیز درباره تاثیرات CREATE2 و خط مشی بلندمدت اتریوم صحبت کرد و گفت:
نکته ای که باید در خاطر داشته باشیم، برنامه ریزی برای آینده است و این مسیری است که باعث میشود قراردادها در شرایطی قرار بگیرند که خود منقضی شونده و تخریبی نباشند. این موضوعی نیست که در چند هفته آینده متوجه آن شویم. اما هنگام وارد شدن شاردینگ اتریوم ۲.۰ به ماشین مجازی، به خاطر داشتن این موضوع مفید است.