Uniswap یک پروتکل مبتنی بر اتریوم است که با استفاده از آن میتوان به مبادله خودکار بین اتریوم و توکنهای ERC20 پرداخت. برای این کار لازم است که MetaMask را نصب کنید. Uniswap را میتوان به عنوان یکی از پروژههای دیفای (DeFi) در نظر گرفت زیرا هدف آن از میان برداشتن واسطهها در مبادله بین اتریوم و توکنهای ERC20 است. این پروتکل متشکل از دو نوع قرارداد هوشمند است که این دو نوع قرارداد مبادله و قرارداد کارخانه نام دارند.
این قراردادها به زبان برنامهنویسی Vyper نوشته میشوند. هر قرارداد مبادله دقیقا از یکی از توکنهای ERC20 پشتیبانی میکند و هر قرارداد دارای ذخیرهای از اتریوم و توکن ERC20 پشتیبانی شده است. تریدهایی که بر روی یک قرارداد مبادله ایجاد میشوند، اجازه ترید مستقیم یک توکن ERC20 به یک توکن دیگر ERC20 را با واسطه اتریوم میدهند.
با استفاده از قرارداد کارخانه میتوان به نصب یک قرارداد مبادله جدید پرداخت. بنابراین هر توکن ERC20 که هنوز دارای قرارداد مبادله نیست، میتواند با استفاده از قرارداد کارخانه اقدام به ایجاد آن نماید. از قرارداد کارخانه میتوان برای جستجوی همه توکن و آدرسهای مبادلهای که به سیستم اضافه شدهاند، استفاده کرد.
نقدینگی Uniswap
معماری Uniswap با صرافیهای سنتی تفاوت دارد. اکثر صرافیهای سنتی با استفاده از یک دفتر سفارش به تطابق خریداران و فروشندگان میپردازند. این در حالی است که این پروتکل از ذخایر نقدینگی در تسهیل مبادله داراییهای دیجیتال استفاده میکند.
ذخایر موجود در قراردادهای مبادله توسط شبکهای از فراهمکنندگان نقدینگی تامین میشود. این فراهمکنندگان نقدینگی مقدار معادلی اتریوم و یا توکن ERC20 را به قرارداد مبادله مربوطه واریز میکنند. اولین فراهمکننده خودش نرخ مبادله را تعیین میکند و اگر این نرخ مناسب نباشد، تریدرهای دیگر رفته رفته آن را اصلاح میکنند. همه فراهمکنندگان نقدینگی بعدی با استفاده از نرخ مبادله ایجاد شده اقدام به واریز و انجام معامله میکنند.
Uniswap از توکنهای نقدینگی هم استفاده میکند که این توکنها در مطابقت با توکنهای ERC20 هستند. توکنهای نقدینگی نشاندهنده مشارکت یک فراهمکننده نقدینگی در یک قرارداد مبادله هستند. هدف از این کار، تشویق فراهمکنندگان نقدینگی برای ادغام ذخایر خود است تا همه ذخایر به یک ذخیره واحد تبدیل شوند.
فراهمکنندگان نقدینگی میتوانند به فروش و یا ارسال توکنهای نقدینگی بین اکانتها بپردازند و برای این کار لازم نیست که نقدینگی را از قرارداد مبادله بردارند. البته این توکنهای نقدینگی شدیدا مختص به یک قرارداد مبادله هستند. هیچ دارایی زیربنایی بومی واحدی وجود ندارد که همراه با پروتکل Uniswap باشد. فراهمکنندگان نقدینگی در عوض کاری که انجام میدهند، سهمی از کارمزد تراکنش را بعد از اجرای ترید دریافت میکنند.
ترید بر روی Uniswap
یک نوع ترید که بر روی این پروتکل انجام میشود، مبادله اتریوم با هر یک از توکنهای ERC20 است. در اینجا نرخ مبادله بر اساس اندازه استخر نقدینگی آن دارایی خاص در داخل قرارداد مبادله است. این نرخ مبادله بر اساس یک فرمول ثابت Uniswap است و آن به صورت استخر اتریوم ضربدر استخر توکن مورد نظر است.
مثلا فرض کنید باب میخواهد مقداری اتریوم را به توکن بت (BAT) تبدیل کند. باب به اجرای این ترید با استفاده از پروتکل Uniswap میپردازد. فراهمکنندگان نقدینگی مقداری اتریوم و بت را به این قرارداد مبادله واریز کردهاند که در این مثال، این مقدار برابر ۱۰ اتریوم و ۵۰۰ بت است. در اینجا این فرمول ثابت به این صورت محاسبه میشود که ۱۰ را ضربدر ۵۰۰ میکنیم و مقدار ۵۰۰۰ بدست میآید.
باب این ترید را با ارسال یک اتریوم به استخر اتریوم در قرارداد مبادله شروع میکند. کارمزد فراهمکننده نقدینگی برای این استخر ۰.۳ درصد است. ۰.۹۹۷ اتریوم باقیمانده به استخر اضافه میشود. سپس مقدار ثابت بر مقدار جدید اتریوم در استخر نقدینگی تقسیم میشود تا اندازه جدید استخر بت تعیین شود. سپس توکنهای بت باقیمانده به خریدار یعنی باب ارسال میشوند.
ترید ERC20 به ERC20 بر روی Uniswap
نوع دیگری از ترید که میتوان بر روی پروتکل مورد بحث انجام داد، ترید یک توکن ERC20 به یک توکن دیگر ERC20 است که با وساطت اتریوم انجام میگیرد. این پروتکل باعث میشود که مثلا بت در یک قرارداد مبادله به اتریوم تبدیل شود و سپس در قرارداد مبادله دیگری از اتریوم به توکن OMG تبدیل شود که همه اینها در داخل یک تراکنش واحد انجام میشود.
این فرمول دقیقا مانند بازار عادی عمل میکند و هرچه توکنهای بیشتری خریداری نمایید، نرخ مبادله بیشتری نیز باید پرداخت نمایید.
ساختار کارمزد
ساختار کارمزد Uniswap برای تریدهای انجام شده بر روی پروتکل به شرح زیر است:
- ترید اتریوم به ERC20: مقدار ۰.۳ درصد کارمزد به صورت اتریوم پرداخته میشود.
- ترید ERC20 به اتریوم: ۰.۳ درصد کارمزد به صورت توکن مورد نظر پرداخت میشود.
- ترید ERC20 به ERC20: مقدار ۰.۳ درصد کارمزد برای تبدیل توکن اول به اتریوم پرداخت میشود و ۰.۳ درصد دیگر نیز از تبدیل اتریوم به توکن دوم پرداخت میشود.
نرخهای مبادله توکن
فرمول ثابتی که توسط Uniswap برای تعیین نرخ مبادله بین توکنها به کار میرود، از پستی گرفته شده است که در مارس ۲۰۱۸ توسط ویتالیک بوترین انتشار داده شد. نرخ مبادله برای یک توکن ERC20 بر طبق این فرمول به شرح زیر محاسبه میشود:
X*y=k
K در این فرمول مقدار ثابتی است که تغییر نمیکند و x و y مقدار اتریوم و توکن موجود در یک قرارداد خاص هستند. این فرمول بخش اصلی پروتکل مورد بحث است. در این قرارداد مقدار x از توکن A و مقدار y از توکن B نگهداری میشود و این قرارداد همواره مقدار ثابت را با استفاده از فرمول مذکور حفظ میکند. عرضه نسبی اتریوم و یک توکن ERC20 را در یک قرارداد مبادله میتوان به عنوان انعکاسی از عرضه و تقاضای توکن مورد نظر تلقی کرد و این تقاضا است که قیمت مبادله را در نهایت تعیین میکند.
Uniswap و ترید آربیتراژ
شایان ذکر است که اگرچه Uniswap نوعی مبادله دارایی دیجیتال روی زنجیره و غیرمتمرکز است، اما جایگزین صرافیهای متمرکز نمیشود. زمانی که مکانیسم مبادله بر روی این پروتکل تغییر مسیر دهد، یک مکانیسم اصلاحی باید برای آن موجود باشد. این مکانیسم اصلاحی به شکل ترید آربیتراژ است.
این استراتژی به این صورت است که تریدر از اختلاف بین دو بازار استفاده میکند. در مورد ارز دیجیتال، آربیتراژ زمانی انجام میشود که قیمت یک دارایی دیجیتال در دو صرافی با هم فرق کند که در این حالت، تریدر میتواند اقدام به خرید در صرافی ارزانتر و فروش در صرافی گرانتر نماید و سود کند. این مکانیسم برای ساز و کار Uniswap حیاتی است زیرا همان طور که قبلا گفته شد، اولین فراهمکننده نقدینگی با توجه به نظر خود اقدام به تعیین نرخ مبادله میکند که این گاهی کمتر و یا بیشتر از نرخ بازار است.
Uniswap و گس
یک مزیت استفاده از پروتکل Uniswap این است که از لحاظ گس (gas) خیلی بهصرفه است. اگر گس هزینه شده برای ترید با استفاده از این پروتکل را با گس هزینه شده در صرافیهای غیرمتمرکز دیگر مقایسه کنید، میبینید که پروتکل مورد بحث ما بسیار ارزانتر است. البته این تنها یکی از مزیتهای این پروتکل است و پروتکل مذکور مزیتهای دیگری هم دارد:
- Uniswap غیرمتمرکز است و وابسته به افراد ثالث نیست. همگان میتوانند به این پروتکل دسترسی داشته باشند و به آن متصل شوند.
- هزینه انجام ترید بر روی این پروتکل در مقایسه با صرافیهای دیگر کمتر است.
- این پروتکل به هر کاربری اجازه میدهد که یک قرارداد مبادله برای هر توکن ERC20 ایجاد کند.
اما Uniswap دارای محدودیتهایی نیز است:
- این پروتکل برای در کنترل نگه داشتن قیمت توکن مورد نظر به ترید آربیتراژ متکی است و این یعنی وابستگی به صرافیهای دیگر برای متوازن نگه داشتن نرخ مبادله.
- این پروتکل هنوز در مرحله آزمایش است و توسعه و کار بسیار بیشتری نیاز دارد.
نتیجهگیری
Uniswap اقدامی برجسته برای ایجاد کارایی بیشتر در ترید داراییهای دیجیتال است. این پروتکل هنوز در ابتدای کار است اما جالب است ببینیم که این پروتکل جدید چگونه در آینده تکامل پیدا میکند. نظر شما چیست؟ آیا این پروتکل برای شما جذاب است؟ نظرات خود را با ما در میان بگذارید.
منبع: