راه حل برای نقص های کشنده

MasterChef دارای ایرادات خاصی است که می توان آنها را در حین استفاده برطرف کرد، اما تنها در صورتی که کاربران از آنها و کارهایی که می توانند انجام دهند آگاه باشند. در اینجا راه حل، با توجه به گلب زیکوف و ولاد کورونیکوف از هاش اکس.

مبادلات غیر متمرکز (DEX ها) تنها دو سال پیش بسیار نادر بودند، اما امروزه به نظر می رسد که همه جا هستند. پروژه های متعددی که DEX های شخصی خود را دارند. این به این دلیل اتفاق افتاد که وقتی یک پروژه بلاک چین تصمیم به راه‌اندازی یک DEX می‌گیرد، آن را کاملاً از ابتدا نمی‌سازد. درعوض، اساس کد DEX اغلب فورک یکی از دو DEX اصلی است. سوشی تعویض or پنکیک.

قرارداد هوشمند مسترشف

این دو صرافی به لطف یک قرارداد هوشمند ویژه به نام MasterChef تقریباً فضای DEX را متحول کردند. MasterChef در هر دوی آنها ظاهر می شود، و بنابراین در هر DEX که به عنوان فورک یکی از این دو ساخته شده است نیز ظاهر می شود. هر DEX جدید ویژگی های یکسانی را به اشتراک می گذارد. اما این بدان معناست که کاستی ها و آسیب پذیری های MasterChef را نیز به اشتراک می گذارد. 

بنابراین بیایید نگاهی بیندازیم به مشکلاتی که کاربران و توسعه دهندگان ممکن است در مواجهه با MasterChef با آن مواجه شوند. به چه چیزی باید توجه کنند؟ و چگونه باید به آنها نزدیک شد؟

DEX ها چگونه کار می کنند؟

اولین چیزی که باید به آن توجه کرد این است که قرارداد MasterChef یک قرارداد هوشمند است که در Solidity نوشته شده است که کنترل می کند یک مزرعه چه کاری می تواند انجام دهد و چگونه می تواند آن را انجام دهد. در اکثر پروژه ها، چندین قرارداد هوشمند وجود دارد که مسئولیت و کار را به اشتراک می گذارند. اما وقتی صحبت از پروتکل‌های مبتنی بر MasterChef می‌شود، این قرارداد واحد است که به همه چیز در مورد کشاورزی رسیدگی می‌کند.

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

تفاوت دیگر در این واقعیت نهفته است که CEX ها از کتاب های سفارش برای خرید و فروش استفاده می کنند. این بدان معنی است که آنها خریداران را با فروشندگان مطابقت می دهند، در حالی که DEX ها از AMM (بازار خودکار) استفاده می کنند سازنده) پروتکل های معاملاتی که قیمت دارایی ها را بسته به میزان نقدینگی سرمایه گذاری شده محاسبه می کند.

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

و اگر زمانی بخواهند وجوه خود را پس بگیرند، تنها کاری که باید انجام دهند این است که توکن های LP را که دریافت کرده اند پس دهند.

همانطور که می دانید راه های مختلفی برای تولید وجود دارد بازده از ذخایر ارزهای دیجیتال مزارع برای تامین نقدینگی پاداش اضافی می دهند. کاربران نقدینگی را به DEX اضافه می کنند، توکن های LP را دریافت می کنند و آنها را در مزارع به اشتراک می گذارند.

MasterChef: آسیب پذیری ها و نقص ها

ما نحوه عملکرد DEX ها و نحوه عملکرد استخرهای نقدینگی را پوشش داده ایم. بنابراین، بیایید نگاهی دقیق‌تر بیندازیم که آسیب‌پذیری‌های MasterChef از کجا وارد می‌شوند، چگونه بر فرآیند تأثیر می‌گذارند، و همچنین چه رویکردی را باید در پیش بگیرید تا مطمئن شوید که کارها به خوبی پیش می‌روند.

MasterChef یک قرارداد هوشمند واحد است که برای بازده کشاورزی با ارائه نقدینگی در DEX ها استفاده می شود. متأسفانه، ایرادات خاصی دارد که می توان آنها را در حین استفاده برطرف کرد، اما فقط در صورتی که کاربران از آنها و کارهایی که می توانند انجام دهند آگاه باشند.

حساب های در معرض خطر

یکی از بزرگترین مشکلاتی که باید مراقب آن بود، حول به خطر افتادن حساب‌های مالک است. اساسا، SushiSwap روشی را اختراع کرد که به آن اجازه داد در برابر Uniswap برتری پیدا کند. این روش حول انتقال دارایی ها از یک صرافی به صرافی دیگر می چرخد. این کار توسط قرارداد با استفاده از یک عملکرد جداگانه انجام می شود که فقط توسط مالک قرارداد قابل دسترسی است.

با این حال، این مهاجرت می تواند اساساً با هر قراردادی تنظیم شود، بدون هیچ محدودیتی، که در نهایت به یک نظارت بزرگ تبدیل شد. بنابراین، اگر حساب مالک به خطر بیفتد، می‌تواند منجر به یک قرارداد مهاجرت جدید شود که تمام توکن‌های LP پایه در تمام استخرهای کشاورزی را به یک آدرس دلخواه ارسال می‌کند. این منجر به از دست دادن گسترده دارایی های سرمایه گذاری شده می شود.

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

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

یک راه نسبتاً آسان برای حل این مشکل وجود دارد که به سادگی با اطمینان از اینکه همه ویژگی‌های موجود برای صاحب قرارداد نیاز به مجوز چند امضایی دارند، وجود دارد. به این ترتیب، اگر یک آدرس به خطر بیفتد، بازیگران بد نمی توانند کار زیادی با آن انجام دهند. کار دیگری که باید انجام دهید اضافه کردن یک بلوک موقت (قرارداد Timelock) برای فراخوانی تابع مهاجرت است. به این ترتیب کاربر زمان بیشتری برای تصمیم گیری دارد و صرافی باید شما را از مهاجرت یا هر تراکنش مشکوک دیگری مطلع کند.

اضافه کردن استخرهای کشاورزی یکسان

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

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

عدم محاسبه مقدار توکن های سپرده شده

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

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

مسترشف: نتیجه گیری

MasterChef یک قرارداد هوشمند واحد است که برای بازده کشاورزی با ارائه نقدینگی در DEX ها استفاده می شود. متأسفانه، ایرادات خاصی دارد که می توان آنها را در حین استفاده برطرف کرد، اما فقط در صورتی که کاربران از آنها و کارهایی که می توانند انجام دهند آگاه باشند. 

در بالا ما چندین چیز را که ممکن است رخ دهد و چگونه می توان از این مسائل اجتناب کرد را پوشش داد. اما باید توجه داشت که تعداد بیشتری از آنها وجود دارد، مانند رقیق کردن پاداش در صورت ارسال مستقیم توکن ها به آدرس قرارداد، مشکلات مربوط به تغییرات بلوک شروع، بهینه سازی گاز و موارد دیگر. 

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

درباره نویسندگان

گلب زیکوف

گلب زیکوف بنیانگذار و مدیر ارشد فناوری در a DEFI تیم امنیت لاتاری و شرکت تحلیلی هاش اکس.

â € <â € <ولاد کورونیکوف حسابرس و توسعه‌دهنده قرارداد هوشمند خردسال است.

کمی دریافت کردم - کمی گرفتمtدر مورد راه حل های مسترشف یا هر چیز دیگری می توان گفت؟ برای ما بنویسید یا به بحث در ما بپیوندید کانال تلگرام. شما همچنین می توانید با ما تماس بگیرید دانشنامه آزاد توک, فیس بوک، یا توییتر.

سلب مسئولیت

تمام اطلاعات موجود در وب سایت ما با حسن نیت و فقط برای اهداف عمومی منتشر می شود. هر اقدامی که خواننده نسبت به اطلاعات موجود در وب سایت ما انجام می دهد ، کاملاً به خطر خود آنها است.

منبع: https://beincrypto.com/masterchef-smart-contracts-the-workarounds-for-the-fatal-flaws/