نسخه ۲ یونیسواپ (Uniswap) جدیدترین بروزرسانی این صرافی محبوب غیرمتمرکز است.
یونیسواپ (Uniswap) یک پروتکل نقدینگی درون زنجیرهای بر بستر بلاک چین اتریوم است که تبادل بدون نیاز به اعتماد توکنها را امکانپذیر میسازد، یعنی تمام تراکنشها توسط قراردادهای هوشمند و بدون نیاز به حضور واسطه اجرا میشوند. این رویکرد غیرمتمرکز برای تبادل توکنها برای دارندگان توکنهای ERC-20 محبوب شده است و از این طریق به تبادل توکنهای خود و ارائه نقدینگی به جفت ارز توکن موردنظر خود میپردازند.
یونیسواپ در تاریخ ۱۹ می مصادف با عرضه نسخه ۱.۰.۱ قراردادهای هوشمند و پس از گذراندن مرحله آزمایشی در شبکه آزمایشی رینکبای (Rinkeby)، نسخه دوم خود را بر بستر شبکه اصلی اتریوم عرضه کرد. این پروتکل بیش از ۴ ماه است که در شبکه اصلی مورد استفاده قرار میگیرد و تاکنون هیچگونه مشکلی در خصوص عملکرد قراردادهای هوشمند آن رخ نداده است.
اگر به نگهداری و یا معامله ارزهای دیجیتال، توسعه اتریوم، فناوری امور مالی یا همان فینتک (Fintech) یا به طور کل به موضوعات مرتبط با امور مالی علاقمند هستید، باید یونیسواپ را مدنظر قرار دهید. یونیسواپ در سه ماهه سوم سال ۲۰۲۰ و همزمان با گسترش عرصه دیفای شاهد رشد سریعی بوده است. یونیسواپ به عنوان یک سرویس مستقل فعالیت میکند، اما میتوان از آن در کیف پولهای شخص ثالث با برنامههای غیرمتمرکز نیز استفاده کرد. علاوه بر این، سایر قراردادهای هوشمند نیز یونیسواپ را به عنوان بستری برای خدمات خود مدنظر قرار میدهند.
در این مقاله به بهبودهای و ارتقاهایی که همراه با نسخه ۲ یونیسواپ عرضه شدهاند میپردازیم و ویژگیهای آنها را به دقت بررسی خواهیم کرد.
نسخه اول یونیسواپ بستر و بنیان تبادل درون زنجیرهای توکنها و استخرهای غیرمتمرکز نقدینگی را بنا نهاد که به کاربران به ازای ارائه نقدینگی، پاداشهایی را ارائه میداد و کارمزد اندکی نیز برای تبادل توکنها دریافت میکرد.
نرخ تبادل توکنها به جای استفاده از دفتر سفارشات آنلاین، با استفاده از مفهومی به اسم فرمول ثابت محصول (Constant Product Formula) محاسبه میشد که بعداً اندکی در آن بازنگری شد. این مفهوم، مکانیزمی برای حفظ توازن ارزش توکن نسبت به جفت ارز موردنظر ارائه میدهد.
جفت ارز توکن موردنظر (برای مثال دای به اتر یا دای به USDC) هرکدام دارای استخرهای نقدینگی جداگانهای هستند. کاربران در این استخرها میتوانند با واریز یکی از توکنهای موردنظر استخر، نقدینگی ارائه دهند. سپس ارائهدهندگان نقدینگی، ۰.۳ درصد از کارمزد تراکنش انجامشده را به عنوان پاداش دریافت میکنند. این درصد بر اساس نسبت توکنهای واردشده در استخر به کل موجودی استخر است.
ویژگیهای جدید نسخه ۲ یونیسواپ
نسخه دوم یونیسواپ شامل طیف وسیعی از بهروزرسانیها و بهبودهایی است که بر بستر مکانیزمهای تبادل توکن و ارائه نقدینگی در نسخه اول بنا نهاده شدهاند. تغییرات مهم نسخه ۲ یونیسواپ عبارتند از:
- تبادل توکن ERC-20 با توکن ERC-20 که طی آن، دیگر به وجود اتر به عنوان توکن واسطه برای تسهیل فرآیند تبادل نیاز نیست. به این فرآیند، ایجاد پل توسط اتر (ETH Bridging) نیز گفته میشد. حذف این مورد، تعداد تراکنشها را نصف میکند و باعث صرفهجویی در پرداخت کارمزد میشود. این مورد همچنین به برنامههای غیرمتمرکز امکان میدهد تا مسیر کارآمدتری از یک توکن به توکن دیگر را در شرایطی پیدا کنند که استخری برای تبادل مستقیم توکن موردنظر وجود ندارد. در ادامه به بررسی دقیقتر این ویژگی خواهیم پرداخت.
- عملکرد اوراکل قیمت که پیشبینی میانگین قیمت بر اساس قیمت جفت ارزهای توکن موردنظر در هر بلاک را امکانپذیر میسازد. در ادامه به سازوکار این مکانیزم خواهیم پرداخت.
- تبادلهای سریع (Flash Swapping) یا امکانپذیر بودن “قرض گرفتن” توکنها از استخر یونیسواپ، انجام تراکنشهای دلخواه با سرویسهای خارجی و بازپرداخت سرمایه قرض یا وام گرفته شده که همگی در یک تراکنش صورت میگیرند. این تراکنش به صورت اتمی است، یعنی اگر در هر مرحله، تراکنش شکست بخورد، کل فرایند لغو میشود. کاربرد مشخص این ویژگی برای انجام معاملات آربیتراژ با استفاده از استخر نقدینگی است. اما کاربردهای دیگری برای این ویژگی وجود دارد که مزایایی نظیر کاهش کارمزد گس برای انجام اقدامات مرتبط با دیفای را ارائه میدهد.
- پشتیبانی از توکنهای ERC-20 غیراستاندارد با استفاده از ()transfer و ()transferFrom به عنوان یک انتقال موفق. این موضوع شاید کم اهمیت به نظر برسد، اما توکنهای مهمی نظیر تتر (USDT) و بایننس کوین (BNB) نیز دقیقا همین روشهای انتقال را انجام میدهند. پشتیبانی از طیف وسیعی از توکنهای پذیرفتهشده که مطابق با استاندارد ERC-20 نیستند باعث شده است که یونیسواپ به صرافی درون زنجیرهای پیشرو و موفقی از لحاظ میزان استفاده و کاربرد تبدیل شود.
- روشهای کاربردی دیگر برای جلوگیری از ورود بیش از حد توکن، در صورتی که تعداد انتقال توکنها بیشتر از قابلیت و پشتیبانی سالیدیتی باشد.
توکنهایی که مطابق با استاندارد ERC-20 نیستند باید از روشهای مشخص شده در EIP پشتیبانی کنند. اما انواع مختلف بازگشت توکن و در نتیجه، روش امضای آن میتواند با مواردی که عنوان شده است فرق کند. این مسأله باعث میشود که یک توکن، غیراستاندارد شود. تغییر اسم یا حذف روشهای موردنیاز نیز باعث میشود یک توکن، غیراستاندارد شود، اما به این موضوع کمتر پرداخته شده است و اگر پروتکلهایی نظیر یونیسواپ بخواهند از چنین توکنهایی پشتیبانی کنند به اقدامات بیشتر و مهمتری نیاز است.
نسخه دوم یونیسواپ، هزینه ۰.۰۵ درصدی را معرفی کرده است که میتواند تا کارمزد ۰.۳ درصدی نیز افزایش یابد، اما فعلا این ویژگی غیرفعال است و فقط با مکانیزم نظارت غیرمتمرکز قابل فعال شدن است. در ادامه به این موضوع بیشتر خواهیم پرداخت.
عرضه نسخه ۲ یونیسواپ پس از آزمایش و حسابرسیهای گسترده
این موضوع ثابت شده است که تغییرناپذیری قراردادهای هوشمند، در صورت وجود باگ در این قراردادها، ریسک از دست دادن یا مسدودشدن توکنها را به همراه دارد. اگر قراردادهای هوشمند به درستی نوشته نشده باشند و دارای خطاهایی باشند که منجر به مسدود شدن سرمایهها شود، دیگر نمیتوان تراکنشها را برگرداند. مگر آنکه هاردفورکی در کل بلاک چین اجرا شود. موضوعی که رخ دادن آن با توجه به حجم اتریوم و تعداد پروتکلهای موجود در آن، بسیار بعید است.
تیم یونیسواپ از اقدامات استاندارد این صنعت پیروی کرده است تا از به حداقل رسیدن باگها و خطاها در قراردادهای خود اطمینان حاصل کند.
در انتقال از نسخه اول به نسخه ۲ یونیسواپ شاهد بازنویسی قراردادها از وایپر (Vyper) به سالیدیتی هستیم. این موضوع باعث میشود که دیگر شاهد محدودیتهای وایپر نباشیم و به توسعهدهندگان یونیسواپ امکان داده است تا از آپکدهای جدیدتری استفاده کنند که در آخرین نسخه سالیدیتی عرضه و اجرا شدهاند و به بهینهسازی اجرای قراردادهای از لحاظ استفاده از منابع CPU میپردازد.
نسخه ۲ یونیسواپ متکی به چندین قرارداد هوشمند نظیر قراردادهای فکتوری (Factory)، نسخه دوم روتر (Router)، Pair و Pair ERC-20 و همچنین قرارداد Library است.
قراردادهای مهمی که باعث فعالیت یونیسواپ میشوند عبارتند از:
قرارداد روتر ۲ نسخه بهینهشدهتری از روتر ۱ است، اما هر دو نسخه وظایف یکسانی را انجام میدهند. یونیسواپ توصیه میکند که تمام توسعهدهندگان به استفاده از نسخه دوم قرارداد روتر بپردازند.
بازنویسی کامل یونیسواپ، حسابرسیهای شخص ثالث و همچنین آزمایش گسترده در شبکه آزمایشی برای شبیه سازی کاربرد واقعی را امکانپذیر کرده است. این موضوع به وقوع پیوسته است، به طوری که Consensys Diligence یکی از اولین نهادهایی بوده است که گزارش جامعی از کد منبع نسخه دوم یونیسواپ ارائه داده است.
به نظر میرسد که نسخه ۲ یونیسواپ قبل از عرضه شبکه اصلی، به طور گسترده حسابرسی و بررسی شده است. انجام وظیفه مهم و حیاتی بررسی دقیق کد منبع، اطمینان حاصل کرده است که هیچگونه باگ مهمی در آینده به وجود نخواهد آمد. هرچند یونیسواپ برنامه باگیابی برای کشف نقص و نقطه ضعفهای مهم ارائه داده است.
امنیت یک دغدغه دائمی در عرصه بلاک چین است و در نتیجه، این دغدغه شامل میزان سرمایه معاملهشده در این حوزه نیز میشود. حمله به سازوکارهای بلاک چین که مرتبط با اجماع، ایجاد بلاک و تایید تراکنشها است، موضوع تحقیقات آکادمیک بسیار زیادی بوده است. اما در مورد اتریوم، یکپارچگی قراردادهای هوشمند نیز از اهمیت ویژهای برخوردار هستند، زیرا امنیت و صحت توکنهای مسدودشده به یکپارچگی قراردادهای هوشمند متکی است.
اکنون به بررسی دقیق مکانیزمهای نسخه ۲ یونیسواپ و شناخت قابلیتهای این پروتکل میپردازیم.
نحوه عملکرد نسخه ۲ یونیسواپ
هر جفت ارز دارای استخر مختص به خود است که از طریق قرارداد فکتوری فعالیت میکند و واریزهای اولیه به استخر انجام میشود تا نقدینگی مورد نیاز برطرف شود.
نرخ تبادل هر توکن بر اساس عرضه و تقاضای دو توکن موجود در استخر و با فرمول ثابت محصول محاسبه میشود. با وجود این فرمول، ارزش توکنها در جفت ارز موردنظر بر اساس عرضه و تقاضا مشخص میشود و طبق منحنی زیر است:
نرخ تبادل به صورت خودکار و بر اساس یک فرمول ساده است: x * y = k. منحنی متناظر، بیانگر ارزش تمام توکنها است و هر جفت ارز دارای منحنی مختص به خود خواهد بود که وضعیت فعلی نرخ تبادل توکنها را مشخص میکند.
اگر تقاضای بسیار زیادی برای توکن B وجود داشته باشد و موجودی آن به شدت کاهش یابد، قیمت این توکن به صورت تصاعدی افزایش خواهد یافت و در نتیجه، در سمت چپ منحنی به سمت بالا حرکت میکند. از طرف دیگر اگر عرضه توکن B بسیار زیاد و تقاضا برای آن نسبت به توکن A بسیار کم باشد، قیمت آن کاهش خواهد یافت و به سمت راست منحنی میرسد. به خاطر داشته باشید که این توازن عرضه و تقاضا نسبت به توکن A است، بنابراین جفت ارز توکن B با توکنهای دیگر، بیانگر نسبت قیمت و موجودی جداگانه خواهد بود.
با توجه به این سازوکار، یونیسواپ متکی به معاملات آربیتراژ است تا ارزش توکنها مطابق با روند کل بازار باشد. این پروتکلها همچنان به اکوسیستم معاملاتی خارجی نیاز دارند تا ارزش توکنها مورد بررسی قرار بگیرد. نرخ تبادل هر جفت ارز دائما بهروزرسانی میشود تا با قیمت کل بازار هماهنگ باشد. این موضوع، فرصت بسیار خوبی را برای معاملهکنندگان ایجاد میکند.
نرخ تبادل به صورت همزمان و با تغییر جفت ارزها در Uniswap.exchange اعمال میشود. کیت توسعه نرمافزاری جاوااسکریپت، API هایی را برای سایر برنامهها ایجاد میکند تا بتوانند رابط کاربری مخصوص خود برای دریافت جفت ارزها و نرخ تبادل آنها را ارائه دهند. نرخ تبادل برای اتر و سایر توکنهای ERC-20 اعمال میشود.
اکنون به انواع مختلف تبادلهایی میپردازیم که میتوان در نسخه ۲ یونیسواپ انجام داد. به دلیل آنکه دیگر از اتر به عنوان توکن واسطه استفاده نمیشود، گزینههای تبادل بسیار زیادی در دسترس است.
گزینههای تبادل در نسخه ۲ یونیسواپ
همانطور که اشاره شد، در نسخه اول یونیسواپ، از اتر در هر تبادل توکن استفاده میشد. در تبادل توکن A به توکن B، ابتدا توکن A باید به اتر تبدیل و سپس اتر به دست آمده باید به توکن B تبدیل میشد. این موضوع منجر به دو برابر شدن کارمزد تراکنش و کارمزد گس میشد.
یونیسواپ به نسخه اول، نمونه آزمایشی از ایده تبادل خودکار غیرمتمرکز گفته است. این موضوع احتمالا به دلیل آن است که توسعهدهندگان روشهای کارآمدتری برای انجام معاملات در نسخه ۲ به دست آوردهاند. حذف اتر به عنوان توکن واسطه یکی از بهبودهای انجامشده در نسخه ۲ یونیسواپ است.
حذف اتر به عنوان یک توکن چندمنظوره، تبادل مستقیم جفت ارزها را همانند شکل زیر امکانپذیر ساخته است:
این روش به نظر منطقی است و شاید نحوه عملکرد نسخه اول نیز باید اینگونه میبود. روشهای swapExactTokensForTokens و swapTokensForExactTokens در قرارداد روتر را میتوان برای انجام این تراکنشها فراخواند.
واژههای استفاده شده در اسامی این روشها بیانگر توکنی است که میخواهید معامله کنید. در یک معامله از دای (DAI) به اتر که به مقدار مخشصی اتر نیاز دارید، بهتر است از swapTokensForExactTokens استفاده کنید. از طرف دیگر، اگر میخواهید مقدار دقیق دای به اتر تبدیل کنید بهتر است از swapExactTokensForTokens استفاده کنید. این اصل در سراسر قراردادهای هوشمند نسخه ۲ یونیسواپ استفاده میشود.
علاوه بر تبادلهای مستقیم، کاربران همچنان این گزینه را در اختیار دارند تا دو توکن با حضور اتر به عنوان توکن واسطه را تبادل کنند. این موضوع هنگامی مفید واقع میشود که هیچ استخری برای توکنهای ورودی و خروجی وجود نداشته باشد، اما استخری بین اتر و آن دو توکن موردنظر وجود داشته باشد.
تبادل دای به LINK با واسطه اتر به شکل زیر است:
روشهای مشابه در سالیدیتی که این تراکنشها را امکانپذیر میسازند عبارتند از swapExactETHForTokens و swapETHForExactTokens, و swapTokensForExactETH و swapExactTokensForETH.
ابزار نهایی تبادل توکنها، ابزاری است که تبادل به چندین توکن ERC-20 یا “جفت ارزهای دلخواه از توکنهای ERC-20 را همانطور که در وایت پیپر بیان شده است و قبل از دستیابی به توکن خروجی موردنظر شما، هدایت کند. قاعدتا اتر نیز میتواند در جفت ارز دلخواه حضور داشته باشد.
تصویر زیر را در نظر بگیرید که توکن دای (DAI) از بین چندین توکن عبور میکند تا به توکن خروجی LINK برسد:
در صورتی که هیچ استخری بین توکنها وجود نداشته باشد، این روش مفید و کاربردی است و با حذف اتر به عنوان واسطه امکانپذیر شده است.
اگرچه این روش تبادل، امکانپذیر است اما هیچگونه روش قرارداد هوشمندی وجود ندارد تا چندین تبادل توکن را به صورت خودکار میسر سازد. در عوض، برنامههای فرانتاند (Front-end) باید این عملکرد را به صورت دستی کدنویسی کنند و چندین تراکنش را به یونیسواپ فراخوانی کنند.
این ویژگی احتمالا بسیار زیاد استفاده نخواهد شد زیرا کارمزد گس عبور از یک یا دو توکن واسطه، تبادلهای بیشتر را غیر مقرون بهصرفه میکند. به علاوه، ممکن است تبادل توکن ارزانتری در صرافیهای متمرکز در دسترس باشد. با تمام این تفاسیر، پس از عرضه ویژگیهای مقیاسپذیر اتریوم ۲.۰ و اجماع گواه اثبات سهام کارآمدتر در شبکه اصلی، این قابلیت به طور گستردهتری استفاده خواهد شد و تبادلهای چند تراکنشی به گزینه مناسبتری تبدیل میشود.
اوراکل قیمت
مکانیزم اوراکل قیمت یونیسواپ به توسعهدهندگان امکان میدهد تا میانگین قیمت توکن را بر اساس نوسان قیمت توکن موردنظر طی چند بلاک محاسبه کنند. این چند بلاک گویای دوره زمانی مشخصی است. این دوره زمانی میتواند یک ساعت گدشته، ۲۴ ساعت گذشته یا بیشتر باشد.
اگرچه یونیسواپ به ارائه قیمت توکنها میپردازد، اما هیچکدام از قیمتهای قدیمی را درون زنجیره ذخیره نمیکند. در عوض، گردآوری قیمتها طی یک دوره زمانی مشخص برای محاسبه میانگین قیمت به عهده توسعهدهندگان برنامههای غیرمتمرکز است.
به این قیمتها، “میانگین قیمت مبتنی بر زمان” یا TWAP میگویند.
ایده و هدف اصلی، محاسبه میانگین قیمت طی چندین بلاک با تقسیم قیمت مجموع (قیمت توکن در هر بلاک) بر دوره زمانی موردنظر است.
تصویر زیر، خلاصهای از این محاسبه را نشان میدهد:
میانگین قیمت مبتنی بر زمان یا همان TWAP مقداری معتبر است و بیانگر ارزش توکن در طول بازه زمانی موردنظر است. این رویکرد از موارد رایجی در معاملات ارزهای دیجیتال نظیر نوسانات یا سقوط سریع قیمت جلوگیری میکند. ارائه TWAP بیانگر ارزش دقیقتر توکن در مواقع بروز نوسان در بازار است.
توسعهدهندگان در صورت نیاز میتوانند از اوراکلهای قیمت استفاده کنند. این اوراکلها را میتوانند از طریق کیت توسعه نرمافزاری جاوااسکریپت یونیسواپ دریافت کنند. در ادامه به این موضوع بیشتر خواهیم پرداخت.
تبادل سریع
تبادلهای سریع، تراکنشهایی شامل فرایند چند مرحلهای قرض گرفتن توکنها از استخر توکن یونیسواپ، انجام اقداماتی بر روی توکنها و بازپرداخت توکنها است که تمام این مراحل طی یک تراکنش رخ میدهند. اگر هر کدام از این مراحل با مشکل مواجه شود، تمام اقدامات برگردانده شده و بیاثر خواهند شد و توکن موردنظر در استخر یونیسواپ باقی میماند.
تصویر زیر را در نظر بگیرید که طی آن، خریدار میتواند تراکنش تبادل سریع را اجرا کند در حالی که هیچ توکنی در اختیار ندارد، زیرا برگشت توکنها به استخر چه با شکست تراکنش و چه با بازپرداخت توسط خریدار، تضمین شده است.
یکی از کاربردهای مهم برای تبادل سریع، معاملات آربیتراژ است که طی آن، خریدار به کسب سود میپردازد و سپس مقدار توکنهای اولیه را به استخر یونیسواپ برمیگرداند.
کاربرد دیگر، استفاده از استخر یونیسواپ برای ایجاد Maker Vault است که طی آن، بدهی خود را پرداخت کرده و اتر (یا سایر توکنها) وثیقه گذاشته شده را از صندوق (vault) برداشت میکنید تا به استخر یونیسواپ برگردانید. این فرایند نسبت به استفاده از سرمایههای خود، کارمزد گس کمتری به همراه دارد.
تبادل سریع یک قابلیت نسبتا جدید یونیسواپ است، اما انتظار میرود که برنامههای غیرمتمرکز بیشتری در آینده نزدیک به استفاده از این ویژگی بپردازند.
در خصوص استفاده از رباتهای معاملاتی نیز میتوان از تبادل سریع بهره برد تا معاملات آربیتراژ به طور خودکار انجام شوند. این رباتها برای انجام معاملات به سرمایه نیاز ندارند و فقط کافی است فرصتهای آربیتراژ را شناسایی کنند و تراکنش تبادل سریع را انجام دهند.
نظارت و کارمزد ۰.۰۵ درصدی
نسخه ۲ یونیسواپ ، سیستم کارمزد جدیدی به اسم “کارمزد پروتکل” را به پروتکل یونیسواپ وارد میکند. هنگامی که این سیستم فعال باشد، ۰.۰۵ درصد ارزش تراکنش به آدرس متعلق به یونیسواپ ارسال میشود. این ۰.۰۵ درصد از کارمزد استاندارد ۰.۳ درصدی در صرافی کم میشود. بنابراین در صورت فعال شدن این هزینه، فقط ارائهدهندگان نقدینگی متضرر خواهند شد.
در حال حاضر، کارمزد پروتکل غیرفعال است و اعلان عمومی از جانب یونیسواپ مبنی بر فعال شدن آن در آینده نزدیک بیان نشده است.
به نظر میرسد این سیستم یک تصمیم بحثبرانگیز باشد، اما توسعهدهندگان یونیسواپ آن را یک ویژگی ضروری برای پشتیبانی از رشد و پایداری یونیسواپ در بلندمدت عنوان کردهاند. در صورتی که این ویژگی فعال شود، مکانیزم نظارتی ایجاد خواهد شد که طی آن، جامعه یونیسواپ باید در خصوص فعال کردن یا غیرفعال باقی ماندن این مکانیزم رایگیری کند.
اگرچه برای فعال شدن این ویژگی به اجماع جامعه نیاز است، اما فعال شدن آن به یونیسواپ یک منبع مالی عظیم و در نتیجه، برتری رقابتی ارائه خواهد داد.
از طرف دیگر، این کارمزد به تامین بودجه برای بهبود پروتکل و کل اکوسیستم و در پی آن، پذیرش گستردهتر کمک میکند و بنابراین، کارمزد تراکنشها به نفع ارائهدهندگان نقدینگی خواهد بود. این موضوع از نظر تئوری میتواند ضرر اولیه ناشی از پرداخت هزینه را جبران کند. این ایده در تصویر زیر نشان داده شده است:
تاکنون جزییاتی درباره مکانیزم نظارتی برای تصمیمگیری در خصوص فعال کردن یا نکردن کارمزد پروتکل منتشر نشده است، اما میتوان انتظار داشت این پروتکل نیز همانند پروتکل رایگیری و نظارتی میکر (Maker) از این ویژگی بهره خواهد برد.
برای مدیریت مکانیزم کارمزد پروتکل، قرارداد فکتوری یونیسواپ شامل روشهای feeTo و feeToSetter است تا آدرس کیف پول موردنظر را مشخص کند.
کیت توسعه نرمافزاری جاوااسکریپت
در این مقاله سعی کردیم تا بحث موردنظر بیش از حد فنی نشود، اما وجود کیت توسعه نرمافزاری جاوااسکریپت یونیسواپ قابل ذکر است. این کتابخانه متن باز، API های جاوااسکریپت را برای NodeJS، چارچوبهای جاوااسکریپت و تمام برنامههای مبتنی بر مرورگر فراهم میکند تا با یونیسواپ یکپارچه شوند.
این موضوع منجر به استفاده مستقیم از یونیسواپ در محصولات و خدمات شخص ثالث شده است.
کیف پول Agent Wallet، صرافی Switcheo و بازار Streamr Marketplace تنها سه مورد از چندین برنامهای هستند که از یونیسواپ به طور مستقیم در محصولات خود استفاده کردهاند.
کیت توسعه نرمافزاری جاوااسکریپت از API ها برای دریافت اطلاعات و آدرس جفت ارزها و همچنین شروع معاملات و دریافت پیشبینی قیمت پشتیبانی میکند. موارد گفته شده نیز از عملکرد اوراکل قیمت بهره میبرند.
به خاطر داشته باشید که معاملات نمیتوانند به طور خودکار اجرا شوند. در عوض، این API ها به آمادهسازی معامله خواهند پرداخت، میانگین قیمت بازار و حداقل مقدار توکن خروجی که میخواهید پرداخت کنید را مدنظر قرار خواهند داد.
پس از تنظیم معامله، کاربران باید تراکنش را با نرمافزار کیف پول خود نظیر متامسک شروع و امضا کنند.
نکتهای درباره فهرست توکنها
اگر این سوال برایتان پیش آمده است که نحوه تصمیمگیری درباره فهرست توکنهای Uniswap.exchange چگونه است باید بگوییم که این موضوع، یک فرایند دستی است و یونیسواپ تصمیم میگیرد که کدام توکن را به فهرست خود اضافه کند. اگرچه ممکن است استخری برای توکن ERC-20 خاصی وجود داشته باشد اما این موضوع لزوما بدان معنا نیست که توکن موردنظر در فهرست توکنهای یونیسواپ حضور داشته باشد.
اگر توکنی بخواهد به فهرست یونیسواپ افزوده شود، باید فرمی را در مخزن فهرست توکنهای پیشفرض در گیتهاب پر کند.
عملکردی در Uniswap.exchange وجود دارد که به شما امکان میدهد تا آدرس توکن ERC-20 را در قسمت جستجوی توکن وارد کنید. بدین ترتیب اگر توکن مورد نظر در فهرست وجود داشته باشد به فهرست شما نیز افزوده خواهد شد.
توسعهدهندگان نیز میتوانند با پیروی از یک ساختار ساده JSON، فهرست توکنهای خود را ایجاد کنند. اطلاعات بیشتر در خصوص این مورد در مخزن فهرست توکنهای یونیسواپ در گیتهاب موجود است.
کلام آخر
در این مقاله به بررسی جامع نسخه ۲ یونیسواپ و پیشرفتها و بهبودهای آن و نحوه عملکرد این بهبودها پرداختیم. تبادل توکن کارآمدتر، اوراکل قیمت مبتنی بر زمان و تبادل سریع از پیشرفتهای مهم نسخه ۲ یونیسواپ هستند. در کنار این ویژگیها، بهبودهای دیگری نظیر انتقال به قراردادهای هوشمند مبتنی بر سالیدیتی نیز وجود دارند که از آخرین آپکد (کدهای عملیاتی) برای انجام کارآمدتر معاملات بهره میبرند.
نسخه دوم یونیسواپ همچنان یک صرافی غیرمتمرکز و بدون نیاز به اعتماد و بر بستر بلاک چین اتریوم است که قابل دستکاری نیست، مگر آنکه حمله موفقیتآمیزی به پروتکل اتریوم انجام شود. هرچند، تاکنون شاهد این اتفاق نبودیم و با وجود تعداد ماینرها و تاییدکنندگان کنونی، بعید است که این مورد رخ دهد.
شبکه آزمایشی مدالا با ۲۰,۰۰۰ تاییدکننده عرضه شده است و انتظار میرود که این تعداد در عرضه شبکه اصلی نیز بسیار بیشتر شود.
از طرف دیگر، نسخه دوم یونیسواپ همچنان نقاط ضعف مختص به خود را دارد. در حال حاضر، افزایش کارمزد گس منجر به گران شدن تراکنشهای یونیسواپ میشود. دفتر سفارشات آنلاین در یونیسواپ وجود ندارد. این موضوع باعث میشود که معاملهکنندگان برای اجرای استراتژیهای معاملاتی خود همچنان به سمت صرافیهای متمرکز متمایل باشند. همانطور که اشاره شد، صرافیهای متمرکز هنوز در ایجاد توازن در نرخ تبادل یونیسواپ نقش بسزایی ایفا میکنند.
نسخه ۲ یونیسواپ یک اقدام مثبت است، اما اگر این صرافی غیرمتمرکز در صدد جایگزین شدن صرافیهای متمرکز است، هنوز چالشهای مهمی در پیش دارد. نظرات و احساسات در جامعه ارزهای دیجیتال و به ویژه در جامعه اتریوم به شدت مثبت است و میتوان انتظار داشت که عرصه دیفای از لحاظ قابلیتهای فنی و پذیرش، در کوتاه و میانمدت به روند خود ادامه خواهد داد.
منبع: