خواندن قرارداد هوشمند یکی از روشهای رایج تحلیل بنیادی است که معمولاً توسط سرمایهگذاران مشتاق حوزه ارزهای دیجیتال بهکار گرفته میشود.
مقدمه
قراردادهای هوشمند از بسیاری از جهات، مفهومی شگفتانگیز بهحساب میآیند؛ چراکه این اجازه را به کاربران مختلف میدهند تا تراکنشهای پیچیده را بدون وجود هرگونه واسطه انجام دهند. اما دقیقاً به همین علت (اینکه هیچ عنصر انسانی در فرآیند کارکرد این قراردادها وجود ندارد)، هیچگونه ابهامی نیز در نحوه کار آنها وجود ندارد.
بهعبارتدیگر، مهم نیست که چهکاری انجام میدهید، زمانی که با یک قرارداد هوشمند موافقت کنید، اقدام به اجرای آن کردهاید. درواقع شما نمیتوانید با بخش خدمات مشتریان تماس گرفته و بگویید که گیج شدهاید، یا اینکه بگویید که قصد دارید تا قرارداد را لغو کنید؛ چراکه این کارها نشدنی است.
بنابراین، بسیار مهم است که پیش از پذیرش یک قرارداد هوشمند، بهدقت بدانید که با چه چیزی موافقت میکنید. ازاینرو، در این مطلب از فکت کوینز قصد داریم تا به موضوع خواندن قراردادهای هوشمند پرداخته و نحوه انجام این کار را به شما آموزش دهیم.
خواندن قرارداد هوشمند
اساساً
قراردادهای هوشمند یکی از روشهای رایج تحلیل فاندامنتال (Fundamental Analysis) است که معمولاً توسط سرمایهگذاران مشتاق حوزه ارزهای دیجیتال بهکار گرفته میشود. در حقیقت با جستجو در محتوای قراردادهای هوشمند، میتوان عیوب، عملکردهای مخرب، خصوصیاتی که کارکردی نداشته، کدهای کپی شده و دیگر موارد اینچنینی را کشف کرد.
اگر پیشازاین، مطلب قرارداد هوشمند (اسمارت کانترکت) چیست را خوانده باشید، پس حتماً میدانید که این قراردادها به چه شکل کار میکنند. اما اگرنه، پیشنهاد میکنیم که ابتدا مطلب فوق را مطالعه کنید. اما اگر بخواهیم بهطور خلاصه بیان کنیم:
در یک جمله، قراردادهای هوشمند، قراردادهای دیجیتالی هستند که جهت تصمیمگیری بر اساس دادههای ورودی و اجرای هر نوع تراکنش بین چندین طرف ناشناس، بدون نیاز به مداخله دستی یا هرگونه اعتماد، کدگذاری شدهاند.
“قرارداد هوشمند قطعهای از یک نرمافزار است که بهصورت خودکار اجرا شده و بهمحض برآورده شدن شرایط از پیش تعیینشدهای که در کدهای آن نوشته شده است، بهطور مستقل فعال میشود.”
اساساً، یک قرارداد هوشمند مشابه با یک الگوریتم است که پس از فعال شدن، توسعهدهندگان و کاربران توسط آن بهطور یکسان میتوانند یک تابع را پردازش یا فعال کنند. درواقع هرگونه تعامل یا فعالیتی که در یک اپلیکیشن غیرمتمرکز (Dapp) انجام شود، در دسته این قراردادها قرار میگیرد؛ مثل موارد زیر:
- تبادل یا سواپ (Swapping) توکن ها
- انجام یک معامله یا ترید
- برداشت وجوه
- واریز وجوه
- تزریق نقدینگی
با نگاه به موارد فوق، درمییابیم که قراردادهای هوشمند برای حیات بسیاری از اکوسیستمهای ارز دیجیتال، ضروری هستند. درواقع این قراردادها نوعی از ابزار کاربردی هستند که نه تنها امکان تعیین برخی شروط و وظایف بخصوص را فراهم میسازند؛ بلکه این قابلیت را فراهم میسازند تا این شروط و وظایف، بهصورت خودکار انجام شوند. بهاینترتیب، احتمالاً متوجه شدهاید که قابلیت خواندن قراردادهای هوشمند، مهمترین خصیصه آنها بهحساب میآید.
نحوه خواندن قرارداد هوشمند
دقت داشته باشید که اساساً یک قرارداد هوشمند، بهسادگی یک قرارداد دیجیتال است. درواقع درست مثل تمامی قراردادها، بامطالعه آنها میتوان شرایط و ضوابط آنها را درک کرد. ازاینرو، جهت آشنایی بیشتر با عملکرد قراردادهای هوشمند، توصیه میکنیم مطالب زیر را مطالعه کنید:
بیشتر بخوانید: آیا احتمال هک شدن قراردادهای هوشمند کاردانو وجود دارد
بهطور کلی، یک قرارداد هوشمند را میتوان با استفاده از وبسایتهایی همچون اتر اسکن – Etherscan (اگر قرارداد هوشمند مبتنی بر بلاک چین اتریوم باشد) و گیت هاب – GitHub (برای قراردادهای هوشمند دیگر بلاک چینها) خواند.
در این آموزش، ما قصد داریم تا قراردادهای هوشمند یرن فایننس (Yearn Finance) را مورد خوانش و بررسی قرار دهیم.
آموزش خواندن قرارداد هوشمند
جهت انجام این کار، در قدم اول وارد وبسایت Etherscan به نشانی زیر میشویم:
در قدم دوم، جهت بررسی قراردادهای هوشمند Yearn Finance، بایستی اقدام به تایپ کردن توکن این پروژه (YFI) در نوار جستجوی قرارگرفته در بالای صفحه کنیم.
حال در این مرحله، درست در قسمت پایینی صفحه، میتوانیم فهرستی از برگهها را پیدا کنیم که شامل برگه قرارداد (Contract) نیز میشود. درواقع در اینجا میتوانیم قرارداد اصلی توکن YFI را بخوانیم. در حقیقت این قرارداد شامل مجموعهای از توابع است که میتوان آنها را گسترش داد و همانطور که در تصویر زیر نیز قابلمشاهده است، آنها را خواند.
دقت داشته باشید که در خصوص توکن YFI، بخشهایی مثل اعشارها (Decimals)، حاکمیت (Governance) و عرضه کل (TotalSupply)، به ترتیب نشاندهنده اطلاعات زیر هستند:
- YFI یک توکن با ۱۸ اعشار است.
- YFI از یک قرارداد حاکمیتی جداگانه برخوردار است.
- حداکثر عرضه این توکن، ۳۶۶۶۶ عدد است.
در اینجا اگر به آدرس ارائهشده در بخش حاکمیت (Governance) توجه کنیم، میتوانیم بخش خاصی از قرارداد حاکمیت YFI را پیداکرده که توصیفکننده سیستم قفل زمانی (Timelock System) این توکن یا همان مدتزمان رأیگیری یرن فایننس است.
از طرفی، در اینجا و با کمک Etherscan، ما توانستهایم به یک قرارداد حاکمیتی پیشرفتهتر نیز دسترسی داشته باشیم. همچنین، با کندوکاو و بررسی بیشتر نیز، میتوانیم حتی قراردادهای هوشمند بیشتری را نیز برای خواندن پیدا کنیم.
بااینحال، اکثر کارهای آندره کرونژ (Andre Cronje) را میتوان در صفحه مربوط به پروتکل Yearn GitHub یافت. ما در اینجا، با خواندن اسناد پشتیبانی Yearn، این کدها را پیداکردهایم. شما نیز با کلیک بر روی لینک زیر میتوانید به این کدها دسترسی پیدا کنید.
https://github.com/yearn/yearn-protocol/blob/develop/contracts/vaults/yVault.sol
علاوه بر این، ما این شانس را داشتیم تا در صفحه اختصاص دادهشده به والتزهای یرن (Yearn Vaults)، متوجه این موضوع نیز شویم که استراتژیهای بازده والت خودکار (Automated Vault Yield Strategies) به چه شکل کار میکنند. البته به لطف نظرات و توضیحات متعددی که در خطوط مختلف این کدها گنجاندهشدهاند، حتی یک فرد عادی نیز میتواند والت های Yearn را درک کند.
اما پرسش اساسی که ممکن است در اینجا برای شما پیش بیاید این است که: هدف نهایی ما از این کار چیست؟
هدف اصلی از خواندن قرارداد هوشمند
درحالیکه بررسی قراردادهای هوشمند برخی از پروژههای ارز دیجیتال (خصوصاً در مورد پروژه Yearn) کار چندان مفیدی نخواهد بود، به علت شهرت ثابت شده تیم توسعهدهندگان این پروژه، یک کاربر معمولی نیز میتواند قراردادهای هوشمند را از طریق پلتفرمهای فوقالذکر خوانده تا بدین ترتیب، به روز رسانیهای توسعه فرضی این پروژه را از طریق کدهای واقعی نوشتهشده آن بررسی کند.
در حقیقت اگر یک ویژگی بر روی یک پروژه پیادهسازی شده باشد، اما نتوان آن را در محل کدهای نگارش شده آن پروژه یافت، با اطمینان میتوان ادعا کرد که آن ویژگی هرگز وجود خارجی ندارد.
علاوه بر این، در نمونه دیگری که اغلب با آن مواجه میشویم، با استفاده از بررسی قراردادهای هوشمند، میتوان اسمارت کانترکت های متعددی را باهم مقایسه کرد. در حقیقت، مشاهده یک شبیهسازی یا کلون (Clone) – فرایندی که در آن، کاربران با کپی کردن یک پلتفرم موفق دیگر، اقدام به ایجاد یک اپلیکیشن غیرمتمرکز جدید میکنند – در کدهای مربوط به قراردادهای هوشمند یک پروژه، همواره خبر بدی است.
ازاینرو، بهعنوانمثال جهت بررسی اینکه آیا پروژه تازه تأسیسی مثل راکت فاینانس (Rocket Finance) که از بسیاری از جهات مشابه یرن فاینانس (Yearn Finance) است، کدهای رقیب را به سرقت برده و آنها را در پروژه خود کپی کرده است یا نه، میتوانیم قراردادهای هوشمند این دو پروژه را با یکدیگر مقایسه کنیم.
البته این کار فقط قسمت بسیار کوچکی را برای ما آشکار میسازد و قطعاً بخش اعظمی از اطلاعات، هنوز مخفی مانده است. بنابراین، با خواندن قراردادهای هوشمند، میتوانیم به موارد بسیار زیاد دیگری نیز پی ببریم که تا این لحظه برای عموم افراد پوشیده ماندهاند.
بااینوجود، بایستی به این نکته اشاره داشته باشیم که در اکثر مواقع، شما بایستی فقط کلونها و ویژگیهای گنجاندهشده در قرارداد هوشمند یک پروژه را موردبررسی قرار دهید.
نتیجهگیری
مهم نیست که چقدر در مورد حوزه ارزهای دیجیتال مطالعه داشته باشید؛ اساساً بهترین دفاع شما در مقابل کلاهبرداری های رایج در این عرصه، قضاوت خوب و آگاهی از دادههایی است که با آنها سروکار دارید بنابراین خواندن قراداد هوشمند از مهمترین فکتورها در تحلیل داده هاست. در حقیقت، بااطلاع از بخش مهمی از اطلاعات مربوط به یک پروژه ارز دیجیتال، شما این توانایی را خواهید داشت تا یک ارزیابی اساسی برای شخص خودتان انجام داده تا بهطور دقیق دریابید که با چه نوع قرارداد هوشمندی در حال تعامل هستید.
همانطور که در این مطلب اشاره کردیم، قراردادهای هوشمند در همه جای حوزه بلاک چین و ارزهای دیجیتال وجود دارند؛ از بلاک چین اتریوم گرفته تا دیگر شبکههایی همچون آوالانچ (Avalanche)، سولانا (Solana)، تزوس (Tezos) و … بااینحال، شما میتوانید از ابزارهایی مثل کاوشگر بلاک چین Etherscan (برای قراردادهای هوشمند شبکه اتریوم) و GitHub (برای قراردادهای هوشمند دیگر بلاک چینها)، اقدام به خواندن این قراردادها کنید.