روش ایجاد یک استیبل کوین بدون وثیقه
استیبلکوینهای یکی از مهمترین ابزارها در بازار ارزهای دیجیتال محسوب میشوند. این رمز ارزها برای دسترسی به ارزهای فیات و تبادل با ارزهای دیجیتال مختلف مورد استفاده قرار میگیرند و ارزش آنها همیشه ثابت است. این یعنی معاملهگران میتوانند با استفاده از استیبلکوینها از نواسانات بازار در امان باشند. بهعنوان مثال فرض کنید مقداری بیت کوین روی قیمت ۶۰ هزار دلار خریداری کردهاید و اکنون قیمت آن به ۶۲ هزار دلار رسیده است؛ در این شرایط میتوان با تبدیل کردن بیت کوین خریداری شده به یک استیبل کوین مثل تتر (USDT)، دای (DAI) یا USDC، ارزش دلاری دارایی دیجیتال خود را حفظ کنید و از کاهش قیمت احتمالی بیت کوین در امان باشید.
به اعلام گیتکانکتد، سه نوع استیبلکوین در بازار ارزهای دیجیتال وجود دارد:
- استیبلکوینهای متمرکز که توسط یک ارز فیات مثل دلار آمریکا یا فلزاتی مانند طلا پشتیبانی میشوند.
- استیبلکوینهایی که از وثیقهی رمز ارزی مثل بیت کوین یا اتریوم بهعنوان پشتوانه بهره میبرند.
- استیبلکوینهای غیر وثیقهای که اساسا فقط توسط ریاضیات محض، پشتیبانی میشوند.
یک مثال رایج از استیبلکوین، تتر است که با دلار آمریکا ارتباط دارد؛ این یعنی تتر یک استیبلکوین متمرکز است. این نوع استیبلکوینها فقط زمانی دچار بیثباتی خواهند شد که ارزش ارز ثابت مرتبط با آنها (مثل دلار) کاهش یابد.
ما در این مقاله قصد داریم روی استیبلکوینهای غیر وثیقهای و نحوهی ساخت آن تمرکز کنیم. استیبلکوینهای غیر وثیقهای، به قراردادهای هوشمند متکی بوده و از مفهومی بهنام «سهام ارشد» برای حفظ نسبت یکبهیک و ثبات ارزش، بهره میبرند.
قرارداد هوشمند برای دستیابی به این هدف، غیر از وظیفهی اصلی این نوع رمز ارزها دو مسئولیت اصلی دیگر دارد. مورد اول، سوزاندن سکهها در هنگام کاهش تقاضا است که باعث خواهد شد ارزش استیبلکوین همچنان به نسبت یکبهیک باقی بماند. مورد دوم هنگامی است که میزان تقاضا برای این نوع رمز ارزها افزایش پیدا میکند؛ در این شرایط با ایجاد سکههای جدید، ارزش استیبلکوین همچنان ثابت باقی خواهد ماند.
قرارداد هوشمند با حفظ این قوانین اطمینان حاصل میکند که ارزش استیبلکوین همیشه برابر یک باشد.
ما قصد داریم با هدف آموزش، استیبلکوین خود را روی بلاکچین اتریوم آزمایش و راهاندازی کنیم تا از نظر فنی یک توکن مبتنی بر ERC باشد. دلیل این انتخاب، درک آسانتر بلاکچین اتریوم برای مبتدیان است. البته موضوع مهم در این میان، درک قرارداد هوشمند است. اولین اقدام برای ایجاد یک استیبلکوین جدید، آمادهسازی محیط توسعه است. این یعنی باید ganache، truffle و Node.js را در کنار یک محیط توسعهی مناسب (IDE) دانلود کنیم. پیشنهاد ما استفاده از محیط توسعهی solidity است. علاوهبر این میتوان برای درک اهداف قرارداد هوشمند، بهسادگی با مراجعه به وبسایت ethereum.remix.org، یک IDE ریمیکس اجرا کنید.
در مرحلهی بعد، باید کارکردهای اولیه را برای استیبلکوین خود اجرا کنیم. این یعنی به چند مورد از توابع استاندارد از جمله Approve، Transfer و BalanceOf نیاز خواهیم داشت. این استاندارها جدید نیستند و برای درک بهتر آنها میتوان به کدهای موجود در این صفحه از گیتهاب مراجعه کنید تا روش کارکرد آنها را مشاهده کرده و درک این فرایند برایتان آسانتر شود.
اکنون میتوانیم اجرای عملکرد سهام ارشد را آغاز کنیم. برای اینکار به چند مورد اولیه نیاز داریم؛ یک حساب متمرکز که بهعنوان یک بانک عمل میکند. این آدرس، تمام سکههای صادر شده را در خود جای خواهد داد و تنها حسابی است که حق سوزاندن یا صدور سکهها را دارد. این آدرس در واقع یک قرارداد هوشمند است.
در گام بعد، باید دو تابع اصلی تعریف کنیم که البته آنها را در آینده با عنوانهای مناسبتر نامگذاری خواهیم کرد. در این مقاله نام این دو تابع را mint و burn تعیین کردهایم. تابع mint (ضرابخانه) برای صدور سکههای جدید مورد استفاده قرار خواهد گرفت که کد آن شبیه زیر خواهد بود:
تابع burn (سوزاندن) نیز برای از بین بردن سکههای موجود در چرخه مورد استفاده قرار میگیرد و کد آن شبیه به زیر خواهد بود:
پس از این، اگر از ابزارهای ترافل استفاده میکنید، میتوانید آنها را به یک بلاکچین محلی انتقال داده و قرارداد خود را آزمایش کنید تا ببینید آیا واقعا کار خواهد کرد یا خیر. برای آزمایش میتوانید این اسکریپت را کپی و «truffle test» را اجرا کنید. در این مرحله انتظار میرود هر سه علامت چِک به شما نشان داده شود.
برای بررسی اجمالی نحوهی انتقال قرارداد هوشمد و استقرار آن روی بلاکچین اتریوم، میتوانید از روش ایجاد توکنهای ERC721 استفاده کنید. البته قرار نیست استیبلکوینها روی بلاکچینهای دیگر کار کنند، زیرا برای حفظ ویژگی پایداری، باید یک بلاکچین فراگیر را تحت کنترل داشته باشند، مگر اینکه بخواهید استیبلکوین شما توسط ارزهای دیجیتال دیگر پشتیبانی شود.
این آزمایش ابتدا با خرید تعداد زیادی سکه آغاز میشود و سپس ارزش قرارداد فراخوانی خواهد شد تا ببینید آیا سکههای بیشتر برای عرضه به چرخه، صادر خواهد شد یا خیر و علامت چِک در اینجا نشاندهندهی انجام صحیح این فرایند است. علامت تیک بعدی نشان میدهد که قرارداد هنگام فروش نیز قادر به سوزاندن سکهها است. آخرین مورد اطمینان حاصل میکند که انتقال سکهها به آدرس دیگر، باعث افزایش یا کاهش ارزش استیبلکوین نشود.
پس از این مراحل، شما یک استیبلکوین بدون وثیقه در اختیار خواهید داشت. اکنون اگر پروژهی شما روی یک بلاکچین واقعی قرار گیرد میتوانید این ارز دیجیتال را بهدلخواه خریداری کرده، آن را معامله کنید یا بهفروش برسانید.
تمام کدهای این پروژه را در این آدرس گیتهاب در دسترس شما است.
نظر شما در مورد استیبلکوینهای بدون وثیقه چیست؟