شروع به کار با CDPهای MakerDAO و Dai.js

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

0 104

MakerDAO: برنده میدان رقابت فاینانس باز و غیرمتمرکز

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

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

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

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

MakerDAO چنین راهکاری را در اختیار ما قرار داده و به هر شخص دارای موجودی اتریوم اجازه می‌دهد تا نوعی وام به نام CDP یا موضع بدهی وثیقه‌ای دریافت کند.

MakerDAO و CDP

Maker از روزهای ابتدایی اتریوم حضور داشته و این پروژه نیز از سال ۲۰۱۶ آغاز شده است. برداشت آن‌ها از CDP امروزه یکی از آزموده‌ترین روش‌های وام‌دهی غیر متمرکز و پراستفاده‌ترین وسیله وام‌دهی غیرمتمرکز است. در ماه نوامبر ۲۰۱۸ یک پورتال ساده CDP توسط این شرکت راه‌اندازی شد: یک اپلیکیشن تحت وب که همه می‌توانند از آن برای راه‌اندازی و مدیریت CDPها استفاده کنند. این کار استقبال از این سیستم و سهولت استفاده از آن را به میزان قابل توجهی بهبود داده است.

در این مقاله به فرایند ایجاد CDP و اصطلاحات مربوط به MakerDAO و همچنین موارد کاربرد آن در دنیای امروز خواهیم پرداخت.

فاینانس باز با Dai.js

همچنین نگاهی به Dai.js خواهیم داشت، یک کتابخانه جاوا اسکریپت که ما را قادر می‌سازد تا فرآیند CDP شرکت Maker (و همچنین آمار، رویدادها، نرخ تبدیل سیستم و غیره) را در اپلیکشین‌های خود ادغام کنیم. روزهای نیاز به اتکا به بانک‌ها برای راه‌اندازی و مدیریت موضع بدهی سپری شده است.

بسیار خب، یک جز لاینفک فرآیند CDP، استیبل کوین DAI است؛ ما عملا از ETH به عنوان وثیقه در ازای DAI استفاده می‌کنیم (توکنی که به USD متصل شده و به شکل قابل اعتمادی توسط پروتکل‌های حاکمیت حفظ می‌گردد) که به نوبه خود به شما امکان می‌دهد تا DAI خود را با رمز ارزی دیگر یا فیات مبادله کنید.

اما آیا ETH تنها گزینه ما برای وثیقه است؟ در حال حاضر اینگونه است؛ اما Maker قصد دارد تا سیستم را طوری گسترش دهد تا در آینده نزدیک به یک بستر چند وثیقه‌ای تبدیل شود.

پیش از شروع کار با Dai.js، به بررسی فرآیند CDP و خصوصیات سیستم می‌پردازیم تا قابلیت‌ها و همچنین معایب آن را درک کنیم.

فرآیند CDP شرکت MakerDAO

پورتال CDP از طریق cdp.makerdao.com قابل دسترس است.

پورتال CDP یک اپلیکیشن مدرن است که به شکل تحسین‌برانگیزی با web3 و وضعیت بلاکچین ادغام شده است و همچنین دستورالعمل‌های استفاده دوستانه‌ای در صفحه اصلی ارائه می‌دهد که کاملا ارزش مطالعه دارند.

این پورتال قادر به اتصال به کیف پول‌های مبتنی بر مرورگر مانند MetaMask و همچنین کیف‌پول‌های سخت‌افزاری از جمله Trezor و Ledger Nano است. با اتصال به یک کیف پول، رابط کاربری مدیریت CDP باز می‌گردد.

CDP: مسدود کردن ETH در ازای DAI

ایده کلی CDP این است که استیبل کوین DAI در واکنش به مسدود کردن ETH ضرب شده و تنها زمانی مجددا آزاد می‌گردد که DAI تولید شده را بازگردانده باشید.

هیچ محدودیت زمانی ثابتی برای بازپرداخت DAIهایی که تولید کردید وجود ندارد، اما تا زمانی که موضع شما بسته شود، (در زمان نگارش این مقاله) یک هزینه پایداری سالانه ۱ درصدی متقبل خواهید شد. این کارمزد پایداری ۱ درصدی از طریق توکن MKR پرداخت می‌گردد؛ یک توکن دیگر در اکوسیستم MakerDAO که نقش مهمی در حاکمیت سیستم دارد. MKR در زمان نگارش از لحاظ ارزش بازار در مقام شانزدهم قرار دارد که محبوبیت این پلتفرم را نشان می‌دهد.

توجه: اگر به یادگیری بیشتر در مورد سازوکارهای درونی حاکمیت MakerDAO علاقه دارید، وایت‌پیپر آن جای مناسبی برای شروع است. بخش حاکمیت توکن MKR نحوه استفاده از توکن MKR به عنوان انگیزه‌ای برای نگهدارندگان سیستم جهت انجام کار خود را با جزئیات شرح می‌دهد؛ بسیاری از آن فرآیندها خودکار هستند. قوانین مربوط به انتخاب نگهدارندگان نیز توسط قوانین بیشتر یا متغیرهای داخلی حاکمیت مدیریت می‌شوند و انجام دخالت انسانی جهت دستکاری در سیستم را محدود می‌کنند.

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

علاوه بر این آزادی عمل، همچنین می‌توانید در هر زمان جهت جلوگیری از تصفیه (در ادامه شرح داده خواهد شد) یا تولید DAI بیشتر ETH مسدود شده خود افزایش دهید.

مقدار DAI قابل برداشت همیشه کمتر از مقدار ETH مسدود شده شما می‌باشد؛ این موضوع در رابط کاربری پورتال CDP قابل مشاهده است که در هنگام پیکربندی CDP اطلاعات مفیدی را در اختیار شما می‌گذارد.

نسبت وثیقه‌گذاری

در صورتیکه ETH مسدود شده از حد آستانه مشخصی پایینتر رود، تصفیه رخ خواهد داد: فرآیند بسته شدن CDP شما و اعمال کارمزد ۱۳ درصدی بر وجود سپرده شده شما توسط سیستم. اصطلاحی که Maker برای این حد آستانه استفاده می‌کند نسبت وثیقه‌گذاری است، که مقدار آن در حال حاضر ۱۵۰٪ است.

بنابراین، ارزش ETH وثیقه شده باید همواره حداقل ۱۵۰٪ DAI برداشت شده باشد.

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

https://cdn-images-1.medium.com/max/1600/1*OtIFnI9qWEFH20FYL7vb1w.png

پیکربندی CDP با استفاده از پورتال CDP شرکت Maker

در مثال بالا، من برای ۱ DAI مبلغ ۰٫۰۵ ETH وثیقه می‌کنم. نسبت وثیقه‌گذاری ETH به DAI من در این مرحله در ۷۲۵٫۰۴۹ درصد و بسیار بالاتر از آستانه ۱۵۰ درصدی تصفیه است.

علاوه بر آن، می‌دانم که برای تصفیه این موضع، ETH باید به زیر ۳۰ دلار سقوط کند؛ می‌توانم به نمودار تاریخ قیمت ETH ارجاع دهم که نشان می‌دهد بعید است ETH تا این مقدار کاهش یابد؛ در اواسط سال ۲۰۱۷، کاهش قیمتی از ۴۱۰ دلار به ۱۱۵ دلار و سقوطی شدید از ۱۳۰۰ دلار تا کمینه ۸۶ دلاری از ژانویه ۲۰۱۸ تا دسامبر ۲۰۱۸ رخ داد. اما در نهایت اینکه چه نسبت وثیقه‌ای را انتخاب می‌کنید تصمیم شما است و به میزان تمایل شما برای پذیرش ریسک بستگی دارد.

پورتال CDP زمانی که نسبت وثیقه‌ای را نامناسب ببیند، هشدار می‌دهد و از شما می‌خواهد تا مقدار DAI را اصلاح کنید.

ETH به PETH

در این مرحله باید ذکر شود که ETH سپرده شده شما در واقع به یک توکن به نام Pooled ETH یا PETH تبدیل می‌شود. PETH نشان‌دهنده درصدی از کل ETH ذخیره شده در سیستم Maker است. در صورت وقوع سقوط شدید بازار که منجر به تصفیه CDP گردد،‌ PETH به منظور سرمایه سازی مجدد DAI برداشت شده فروخته خواهد شد.

Pooled Ether راه حلی موقت برای Dai تک‌وثیقه‌ای است و قرار است در سه‌ماهه اول تا دوم سال ۲۰۱۹ و با معرفی شدن Dai چندوثیقه‌ای از دور خارج شود.

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

https://cdn-images-1.medium.com/max/1600/1*ZJMB5EAV3Rm9hzmgtM2koA.png

پورتال CDP در حال ایجاد CDP، در حال انتظار برای پردازش تراکنش‌های بلاکچین

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

در زیر نمایی کلی از CDP من در پورتال را می‌بینید که در آن من ۰٫۰۴ ETH سپرده کرده و ۲ DAI تولید کرده‌ام، که منجر به نسبت وثیقه‌ای ۲۹۰٫۰۲۰ درصدی شده است.

https://cdn-images-1.medium.com/max/1600/1*ajl5kbjKDC6XGJrk2hqv4A.png

در این مثال، هنوز قادر هستم تا ۰٫۱۸۵۵ DAI دیگر تولید کنم بدون آنکه نسبت وثیقه‌سازی از ۱۵۰٪ کمتر شود؛ اما انجام چنین کاری باعث کاهش نسبت و در نتیجه افزایش ریسک تصفیه می‌شود.

در طرف دیگر نیز ۰٫۰۱۹ ETH جهت برداشت موجود دارم، چرا که این مقدار در حال حاضر در ازای DAI وثیقه نشده است. باز هم برداشت ETH از CDP باعث کاهش نسبت وثیقه‌گذاری و افزایش ریسک تصفیه می‌گردد.

بستن و انتقال مالکیت

در گوشه بالا سمت راست پورتال، گزینه‌هایی جهت بستن CDP داریم که به ما اجازه می‌دهد تا تمام DAI اخذ شده را بازپرداخت کرده و PETH خود را به ارز ETH بازگردانیم. جالب است که همچنین می‌توانیم مالکیت CDP خود را به یک نشانی اتریوم دیگر انتقال دهیم که خرید و فروش CDP را ممکن می‌کند.

پورتال CDP همینطور برنامه‌ای با کاربری آسان جهت استفاده از زیرساخت Dai در بلاکچین ارائه می‌کند؛ پیش از انتشار آن، جامعه از ابزارهای ثالث به عنوان وسیله‌ تعامل با قراردادهای هوشمندی استفاده می‌کرد که ستون سیستم MakerDAO محسوب می‌شوند. اما تنها به این ابزارها محدود نیستیم. در واقع شما می‌توانید با Dai.js پورتال خود و در کنار آن ابزارهایی جهت خودکارسازی CDPها را بسازید.

معرفی Dai.js

کتابخانه Dai.js، یک wrapper جاوا اسکریپت مبتنی بر قول (promise-based) جهت تعامل با سیستم است که به ما امکان می‌دهد تا تمام مواردی که در بالا به آن پرداختیم را به برنامه‌های خود اضافه کنیم. این پروژه در اینجا در Github قابل دسترسی است و Maker نیز یک مرجع API جامع را در وب سایت خود جهت تسهیل ادغام ارائه کرده است.

نمونه‌سازی یک شیء Maker

این API شامل طیف وسیعی از سرویس‌ها است. برای راه اندازی یک موضع CDP، به یک گردش کار ساده نیاز داریم که با نمونه‌سازی یک شیء Maker آغاز می‌شود. این فرآیند نمونه‌سازی همچنین شامل اتصال به کلاینت اتریوم است که برای آن ۳ گزینه پیش رو داریم:

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

مستندات خدمات Maker سپس به ما می‌گویند که یک متد ()authenticate روی شیء Maker اجرا کنیم که اطمینان حاصل می‌کند که تمام سرویس‌ها مقداردهی شده و به APIهای مورد نیاز به نحو امن متصل شده‌اند.

پس از تأیید اصالت، می‌توانیم با استفاده از () newCdp یک CDP جدید ایجاد کرده یا با استفاده از ( getCdp(<cdp_id>  یک CDP موجود را بازخوانی کنیم. یک شیء cdp بازگردانده می‌شود:

()const cdp = await maker.openCdp;

یک گردش کار بسیار ساده در اینجا وجود دارد که به ما امکان می‌دهد ابتدا یک شیء CDP را پیش از کاری با آن مانند سپرده‌سازی ETH، تولید DAI، بازپرداخت یا بستن CDP نمونه‌سازی کنیم. همه این کارها با شیء thecdp انجام می‌شود که از یکی از دو متد فوق به دست آمده است.

از اینجا، بخش CDP مرجع API چیزی را شرح می‌دهد که برای تعامل با CDP در اختیار داریم.

خود API ظریف و درک آن ساده است. یک خط کد برای انجام اکثر وظایف مهم کافی است. در اینجا چند نمونه ارائه شده است:

// مسدود کردن ۱۰۰ ETH در یک CDP
(let result = await cdp.lockEth(100, ETH;

// برداشتن مقداری DAI از موضع CDP من
(let result = await cdp.drawDai(100, DAI;

//بازپرداخت مقداری DAI

(let result = await cdp.wipeDai(100, DAI;

//آزادسازی مقداری PETH موجود از CDP من
(let result = await cdp.freePeth(100, PETH;

//انتقال مالکیت CDP به یک نشانی دیگر
(let result = await cdp.give(‘0x0…’;

مطلع نگه داشتن کاربران به از مواضع آنان طور مستمر حیاتی بوده و اطمینان آنان به اپلیکیشن شما را به همراه خواهد داشت. متدهای () GetLiquidationPriceو ()getCollateralizationRatio این آمارهای حیاتی را در اختیار شما قرار می‌دهند.

سایر سرویس‌های Dai.js

متدهای CDP در واقع بخش عمده Dai.js هستند، اما سرویس‌های مفید دیگری نیز وجود دارند که در اینجا به طور خلاصه به آن‌ها می‌پردازم:

  • سرویس قیمت: بازیابی آسان قیمت‌ها از Maker.
  • خدمات اتر CDP:‌ بازیابی آسان آمار مرتبط با CDP.
  • سرویس مبادله: این سرویس مبادله امکان خرید و فروش DAI، MKR و سایر توکن‌ها را فراهم می‌آورد. پیاده‌سازی پیش‌فرض OasisExchangeService از بازار OasisDEX OTC برای این سرویس استفاده می‌کند.
  • API وضعیت سیستم: بازیابی آمار سطح سیستمی.
  • رویدادها: امکان ردیابی رویدادهای بلاکچین همزمان با وقوع آن‌ها
  • تراکنش‌ها امکان دنبال کردن وضعیت تراکنش و انتشار در بلاکچین بوسیله یک مدیریت‌کننده تراکنش داخلی.
  • حساب‌های چندگانه: مدیریت چند CDP با استفاده از متدهای .addAccount() و .maker.switchAccount()

WETH، اتریوم Wrapped شده

ممکن است متوجه شده باشد که در مستندات Dai.js به یک توکن دیگر به نام WETH اشاره شده است.

بخش CDP یک متد getWethToPethRatio() در اختیار می‌گذارد و همچنین یک رویداد price/WETH_PETH داریم که آن را رصد می‌کند.

WETH یک بازنمایی توکنی ERC-20 از ETH بومی است که قراردادهای هوشمند را قادر می‌سازد این دو را مبادله کنند. وب‌سایت weth.io توضیح خوبی در مورد WETH ارائه می‌دهد.

هنگام ایجاد یک CDP با Maker، ETH شما باید به WETH تبدیل شود که سپس به PETH تبدیل می‌گردد. در نهایت، اتریوم تشریک شده شما به عنوان وثیقه مسدود شده و CDP فعال می‌گردد.

خلاصه

MakerDAO راهکار مؤثری برای فاینانس باز است و حاکمیت CDP را با یک مدل انگیزشی در بلاکچین قرار می‌دهد تا نگهدارندگان سیستم به طور موثر و قابل اطمینان از سیستم نگهداری کنند.

در زمان نگارش، ۱٫۹۷٪ از کل عرضه اتریوم در CDPهای DAI مسدود شده که معادل حدود ۲۹۷ میلیون دلار است. می‌توانید این ارقام و سایر آمارهای حیاتی این بستر را صفحه اختصاص داده شده به آن‌ها در MKR Tools دنبال کنید.

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

ملاحظات اکوسیستمی

جامعه در حال بحث در مورد راه‌هایی جهت بهره‌گیری بیشتر از سیستم MakerDAO در خصوص حمایت از Dai چند وثیقه‌ای است.

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

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

پلتفرم Maker و استیبل کوین DAI ، به پیروز میدان رقابت فاینانس باز و غیرمتمرکز تبدیل می‌شوند و اکنون زمان خوبی برای ورود به این اکوسیستم است.

ارسال پاسخ

آدرس ایمیل شما منتشر نخواهد شد.