آکادمی

دوشنبه, 07 شهریور 1401 00:44

چگونه اطلاعات یک قرارداد هوشمند را بخوانیم؟

این مورد را ارزیابی کنید
(1 رای)

 

نکات کلیدی:

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

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

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

قرارداد هوشمند چیست؟

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

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

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

چرا درک قراردادهای هوشمند نقش مهمی در حفظ امنیت کاربران دارد؟

این توئیت مثال خیلی خوبی است که نشان می‌دهد چرا توانایی خواندن قرارداد هوشمند اهمیت زیادی دارد. در اینجا دو کلاهبردار خودشان را به عنوان بنیانگذار یکی از بازی‌های مشهور مبتنی بر بلاک‌چین سولانا به نام Space Falcon جا زده و دو NFT به قربانیان خودشان اهدا کردند که قرار بود با استیک کردن آنها پاداش کسب کنند.

اما واقعیت این است که امضای قرارداد مورد نظر امکان تخلیه کل موجودی والت را برای کلاهبرداران فراهم می‌کرد. خوشبختانه کاربر مورد نظر تحقیقات لازم را انجام داده و با مطالعه قرارداد هوشمند متوجه این کلاهبرداری شده است.

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

برای درک بیشتر محتوای قرارداد هوشمند نیازی به آشنایی با کدنویسی ندارید چون می‌توانید از ابزاری به نام اتراسکن استفاده کنید.

چگونه با اتراسکن قراردادهای هوشمند را بخوانیم؟

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

در ادامه مطلب مراحل زیر را بررسی می‌کنیم:

  1. پیدا کردن قرارداد هوشمند.
  2. خواندن جزئیاتی مثل آدرس سازنده، نام توکن، توکن‌های موجود در قرارداد و غیره.
  3. پیدا کردن آمار توکن‌های یک قرارداد و اطلاعاتی که این آمار به ما می‌دهند.
  4. جستجو و درک تراکنش‌های اجرا شده از طریق یک قرارداد هوشمند.
  5. جستجو و درک تراکنش‌هایی که از طریق یک قرارداد هوشمند اجرا می‌شوند.
  6. پیدا کردن سورس کد قرارداد، برای تحلیل‌های بیشتر.

توجه: دقت داشته باشید که اتراسکن مخصوص اتریوم است اما می‌توانید برای سایر بلاک‌چین‌ها هم از روشی مشابه استفاده کنید - مثلاً با استفاده از سولانا اکسپلورر، اولنچ اکسپلورر و غیره.

مقدمات

توضیحات را با مقدمات شروع می‌کنیم. اول باید آدرس قرارداد هوشمند پروژه‌ای که با آن کار می‌کنید را مشخص کنید. این آدرس در واقع قطب مرکزی نشان دهنده مشخصات پروژه است. می‌توانید این آدرس را در سایت رسمی پروژه، صفحه OpenSea، مقاله سفید، صفحه گیت‌هاب، دیسکورد، صفحاتی که NFTهای پروژه را ثبت کرده‌اند، صفحه کوین مارکت کپ یا CoinGecko پروژه مشاهده کنید.

پس از پیدا کردن و کپی آدرس قرارداد هوشمند، می‌توانید به سایت etherscan.io رفته، آدرس را در آنجا پیست کنید و اینتر بزنید تا به صفحه قرارداد هوشمند بروید.

در این صفحه می‌توانید اطلاعات مختلفی را پیدا کنید که در ادامه آنها را تک به تک بررسی می‌کنیم.

هویت قرارداد

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

این اطلاعات در نیمه بالایی این صفحه موجود هستند:

Reserve، Value و Token: این سه شاخص نشان می‌دهند که چقدر اتر در قرارداد نگه داشته شده، ارزش آن بر اساس قیمت فعلی اتر چقدر است و ارزش سایر توکن‌ها و کوین‌های قفل شده در قرارداد چقدر است.

Creator و Transaction Hash: در اینجا آدرس والت سازنده و هش تراکنش را مشاهده می‌کنید که می‌توانید برای کسب اطلاعات بیشتر روی آن کلیک کنید.

Tracker: با کلیک کردن روی این گزینه به صفحه‌ای هدایت می‌شوید که اطلاعات توکن بومی قرارداد هوشمند را نشان می‌دهد.

 

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

این جزئیات چه اطلاعاتی را نشان می‌دهند؟

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

جزئیات توکن

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

به همین ترتیب، میزان کاهش ارزش مالکیت هم می‌تواند سطح امنیت پروژه را مشخص کند. هر چقدر تعداد توکن داران بیشتر بوده و توکن به صورت یکنواخت تر بین آنها توزیع شده باشد، پروژه احتمالاً امن تر و غیرمتمرکزتر خواهد بود.

بنابراین، اگر قرارداد هوشمندی 10 میلیون توکن داشته باشد اما 4 میلیون عدد از آنها در یک والت باشد، اقدامات همین یک نفر می‌تواند تأثیر زیادی بر پروژه داشته باشد و باید به این ریسک توجه داشته باشید.

با کلیک کردن روی لینک Tracker در اتراسکن می‌توانید این اطلاعات را بررسی کنید.

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

این اطلاعات در ترکیب با هم نشان می‌دهند که یک توکن چقدر محبوبیت دارد و توزیع آن بین مالکان توکن به چه صورت است.

می‌توانید روی Holders در بخش پایین کلیک کنید تا رتبه مالکان توکن را بر اساس سهمشان از کل موجودی توکن مشاهده کنید. هر چقدر توزیع توکن بیشتر باشد، پروژه غیرمتمرکزتر و در برابر پامپ و دامپ ایمن تر است.

تراکنش‌های قرارداد

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

در مقابل اگر تراکنش‌ها تازه شروع شده یا بیشتر آنها مربوط به یک آدرس والت بوده اند، باید بیشتر درباره پروژه تحقیق کنید چون چنین اطلاعاتی سابقه پروژه و فعالیت کاربران آن را اثبات نمی‌کنند.

خوشبختانه می‌توانید این اطلاعات را در Etherscan.io مشاهده کنید.

برای انجام این کار باید به صفحه قرارداد اصلی برگردید، به تب Transactions بروید و صفحه را اسکرول کنید تا همه تراکنش‌ها را ببینید.

می‌توانید برای بررسی جزئیات بیشتر روی هر یک از این تراکنش‌های اخیر کلیک کنید از جمله نوع تراکنش‌هایی که افراد از طریق قرارداد انجام داده اند مثل تولید توکن یا تراکنش‌های والت به والت.

اطلاعات تحلیلی

برای کسب اطلاعات بیشتر درباره عملکرد یک قرارداد می‌توانید به بخش Analytics رفته و نمودار تعداد تراکنش‌های اجرا شده با استفاده از قرارداد را مشاهده کنید.

معمولاً قراردادهایی با کد مشکوک تراکنش‌های زیادی ندارند و این یعنی باید نسبت به آنها محتاط باشید.

عملکرد و کد قرارداد

برای بررسی کاری که یک قرارداد هوشمند انجام می‌دهد، باید کد آن را بررسی کنید.

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

کلام آخر

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

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