بازارساز خودکار (Automated Market Maker یا AMM) قراردادی هوشمند است که به‌جای اینکه خریدار و فروشنده را به هم برساند، خودش طرف معامله شما می‌شود. این قرارداد موجودی دو توکن را در یک استخر نقدینگی نگه می‌دارد و قیمت را با یک فرمول از نسبت همین دو موجودی حساب می‌کند. هر کس یک توکن به استخر بدهد، از توکن دیگر برمی‌دارد و همین معامله قیمت نفر بعدی را عوض می‌کند.

معروف‌ترین فرمول AMM «حاصل‌ضرب ثابت» است: x·y=k. از همین فرمول ساده سه نتیجه درمی‌آید که هر کسی پیش از اولین سواپ در صرافی غیرمتمرکز باید بداند. استخر همیشه قیمت می‌دهد، ولی هر چه معامله بزرگ‌تر باشد قیمت بدتر می‌شود. استخر از قیمت بقیه بازار خبر ندارد و آربیتراژگرها آن را با بازار هم‌تراز نگه می‌دارند. تراکنش شما هم پیش از ثبت برای ربات‌ها قابل دیدن است. در مثال همین مطلب، کسی که با ۲۰ هزار تتر از یک استخر کوچک اتریوم می‌خرد، حدود ۴۵۰ تتر بیشتر از قیمت بازار می‌پردازد. پایین‌تر حساب می‌کنیم این ۴۵۰ تتر دقیقاً به جیب چه کسی می‌رود.

دفتر سفارش یا فرمول؟ دو راه برای ساختن بازار

در بیشتر بازارها، از بورس تا صرافی‌های معمولی رمزارز، معامله با دفتر سفارش (Order Book) انجام می‌شود. خریدارها می‌گویند با چه قیمتی می‌خرند، فروشنده‌ها می‌گویند با چه قیمتی می‌فروشند و صرافی هر جا این دو به هم رسیدند معامله را انجام می‌دهد. برای اینکه همیشه در دو طرف دفتر سفارشی باشد، معامله‌گرهای حرفه‌ای به اسم بازارساز (Market Maker) مدام سفارش خرید و فروش می‌گذارند، قیمتش را عوض می‌کنند و برش می‌دارند.

روی بلاک‌چین این کار گران است. هر سفارش، هر تغییر قیمت و هر لغو یک تراکنش جداست که کارمزد شبکه دارد و باید منتظر بلاک بعدی بماند. بازارسازی که روزی هزاران بار سفارشش را جابه‌جا می‌کند، روی شبکه‌ای مثل اتریوم دوام نمی‌آورد. AMM این گره را با کنار گذاشتن سفارش‌ها باز کرد. به‌جای بازارساز، تأمین‌کننده نقدینگی (Liquidity Provider) دو توکن را یک بار در استخر می‌گذارد و از آن به بعد فرمول قرارداد به‌جای او قیمت می‌دهد. طبق مستندات یونی‌سواپ، معامله‌گر در این مدل مستقیم با موجودی استخر معامله می‌کند، نه با سفارش آدم دیگری، و هر معامله نسبت دو توکن و در نتیجه قیمت را عوض می‌کند.


دفتر سفارش

بازارساز خودکار (AMM)

طرف معامله شما

سفارش یک معامله‌گر دیگر

قرارداد استخر

قیمت از کجا می‌آید

سفارش‌هایی که به هم رسیده‌اند

نسبت موجودی دو توکن در استخر

وقتی خریدار یا فروشنده‌ای نیست

سفارش منتظر می‌ماند

استخر همیشه قیمتی می‌دهد، حتی اگر قیمت بدی باشد

معامله بزرگ

چند پله از دفتر سفارش را می‌خورد

استخر را روی منحنی فرمول جلو می‌برد و قیمت را جابه‌جا می‌کند

همه صرافی‌های غیرمتمرکز AMM نیستند و بعضی دفتر سفارش را روی خود بلاک‌چین ساخته‌اند. فرق کلی صرافی متمرکز و غیرمتمرکز را در مقاله CEX و DEX توضیح داده‌ایم.

از یک ایده تا یونی‌سواپ

به روایت هیدن آدامز، اولین کسی که بازارساز x·y=k را برای اتریوم مطرح کرد آلن لو از تیم Gnosis بود و ویتالیک بوترین، هم‌بنیان‌گذار اتریوم، این ایده را در نوشته‌هایش معروف کرد. آدامز که تابستان ۱۳۹۶ از کار مهندسی مکانیکش در زیمنس بیکار شده بود، به پیشنهاد یکی از دوستانش همین ایده را پیاده کرد تا برنامه‌نویسی قرارداد هوشمند یاد بگیرد. نتیجه‌اش یونی‌سواپ بود که ۱۱ آبان ۱۳۹۷ روی شبکه اصلی اتریوم راه افتاد.

فرمول x·y=k به زبان ساده

فرض کنید در استخری x واحد از توکن اول و y واحد از توکن دوم هست. قرارداد فقط یک قانون دارد: حاصل‌ضرب این دو موجودی بعد از هیچ معامله‌ای نباید کمتر از قبل شود. اسم این حاصل‌ضرب k است و فرمول x·y=k از همین‌جا آمده است.

قیمت لحظه‌ای هم چیزی جز نسبت دو موجودی نیست. اگر در استخر ۴۰۰ اتریوم و یک میلیون تتر باشد، هر اتریوم ۲۵۰۰ تتر قیمت دارد. وقتی کسی اتریوم می‌خرد، تتر به استخر اضافه و اتریوم از آن کم می‌شود. اتریوم داخل استخر کمیاب‌تر می‌شود و قیمتش بالا می‌رود. فروش هم برعکس همین است.

دو نتیجه مهم از همین قانون درمی‌آید:

  • استخر هیچ‌وقت خالی نمی‌شود. هر واحدی که می‌خرید از واحد قبلی گران‌تر است و برداشتن آخرین واحدها هزینه‌ای بی‌پایان دارد. برای همین AMM همیشه قیمتی می‌دهد، حتی وقتی آن قیمت خیلی بد است.
  • اندازه معامله در برابر استخر مهم است، نه خود مبلغ. خرید هزار تتری از استخری که یک میلیون تتر دارد قیمت را تقریباً تکان نمی‌دهد، ولی همین خرید در استخری با ده هزار تتر قیمت را حسابی بالا می‌برد.

کارمزد هم در همین فرمول جا دارد. طبق مستندات یونی‌سواپ، در نسخه دوم این صرافی هر سواپ ۰٫۳ درصد کارمزد دارد و این کارمزد به موجودی استخر اضافه می‌شود. پس k بعد از هر معامله کمی بزرگ‌تر می‌شود و درآمد تأمین‌کنندگان نقدینگی از همین رشد درمی‌آید. با رأی دارندگان توکن UNI، حالا یک‌ششم این کارمزد در استخرهای نسخه دوم سهم خود پروتکل است. نسخه‌های بعدی کارمزدهای دیگری هم دارند که پایین‌تر به آن‌ها می‌رسیم.

مثال عددی: یک سواپ از اول تا آخر

عددهای این مثال فرضی و رُند هستند و کارمزد شبکه در آن حساب نشده است. استخری با ۴۰۰ اتریوم و یک میلیون تتر داریم؛ پس هر اتریوم ۲۵۰۰ تتر قیمت دارد و k برابر ۴۰۰ میلیون است. کارمزد سواپ را مثل نسخه دوم یونی‌سواپ ۰٫۳ درصد می‌گیریم و فرض می‌کنیم قیمت اتریوم در بقیه بازار هم ۲۵۰۰ تتر است. حالا شما با ۲۰ هزار تتر اتریوم می‌خرید:

  1. از ۲۰ هزار تتر، ۶۰ تتر کارمزد است و ۱۹٬۹۴۰ تتر وارد فرمول می‌شود.
  2. فرمول موجودی تتر را ۱٬۰۱۹٬۹۴۰ حساب می‌کند. برای اینکه حاصل‌ضرب همان ۴۰۰ میلیون بماند، موجودی اتریوم باید به حدود ۳۹۲٫۱۸ برسد.
  3. اختلاف این دو، یعنی حدود ۷٫۸۲ اتریوم، به کیف پول شما می‌رسد. با قیمت ۲۵۰۰ باید ۸ اتریوم می‌گرفتید. پس هر اتریوم را به‌طور میانگین حدود ۲۵۵۷ تتر خریده‌اید که ۲٫۳ درصد گران‌تر است: ۰٫۳ درصدش کارمزد است و ۲ درصدش اثر قیمت (Price Impact).
  4. حالا در استخر حدود ۳۹۲٫۱۸ اتریوم و یک میلیون و ۲۰ هزار تتر هست، چون کارمزد هم داخل استخر مانده است. قیمت لحظه‌ای استخر به حدود ۲۶۰۱ تتر رسیده، یعنی ۴ درصد بالاتر از بقیه بازار.

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

اثر قیمت و حد لغزش؛ دو عدد پیش از تأیید سواپ

در صفحه سواپ صرافی‌های غیرمتمرکز، پیش از تأیید دو عدد می‌بینید که شبیه هم‌اند ولی دو چیز متفاوت را نشان می‌دهند.

اثر قیمت را خود معامله شما می‌سازد. همان ۲ درصد مثال بالاست و از اندازه معامله در برابر عمق استخر درمی‌آید. پیش از امضای تراکنش معلوم است و اگر بالا باشد، یعنی مبلغ برای این استخر زیاد است.

لغزش (Slippage) اختلاف عددی است که دیده‌اید با عددی که واقعاً می‌گیرید. بین امضای تراکنش و ثبتش در بلاک، ممکن است معامله‌های دیگری زودتر از شما در همان استخر انجام شوند و قیمت را جابه‌جا کنند. حد لغزش (Slippage Tolerance) سقفی است که خودتان برای این اختلاف می‌گذارید. سایت با آن «حداقل مقدار دریافتی» را حساب می‌کند و در تراکنش می‌گذارد. اگر هنگام اجرا کمتر از این مقدار به شما برسد، قرارداد کل معامله را برمی‌گرداند. مستندات نسخه دوم یونی‌سواپ همین سازوکار را توضیح داده و نوشته است که حد لغزش پیش‌فرض سایت خودش ۰٫۵ درصد است.

در مثال بالا، حداقل دریافتی شما با حد لغزش ۰٫۵ درصد حدود ۷٫۷۸ اتریوم است، با ۱ درصد حدود ۷٫۷۴ و با ۳ درصد حدود ۷٫۵۹ اتریوم.

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

حمله ساندویچی: چرا حد لغزش بالا گران تمام می‌شود

تراکنش شما پیش از ثبت در بلاک، در صف تراکنش‌های منتظر (mempool) برای همه قابل دیدن است. ethereum.org توضیح می‌دهد که بعضی ربات‌ها این صف را دنبال سواپ‌های بزرگ می‌گردند، درست پیش از شما همان توکن را می‌خرند تا قیمت بالا برود و درست بعد از شما گران‌تر می‌فروشند. به این کار حمله ساندویچی (Sandwich Attack) می‌گویند. این حمله یکی از شکل‌های رایج MEV است، یعنی سودی که از چیدن ترتیب تراکنش‌ها در بلاک به دست می‌آید.

ربات نمی‌تواند قیمت را هر قدر بخواهد بالا ببرد. اگر سهم شما از حداقل دریافتی کمتر شود، معامله‌تان برمی‌گردد و نقشه ربات خراب می‌شود. پس حد لغزش شما در عمل سقف ضرری است که ربات می‌تواند به شما بزند. برای همان خرید ۲۰ هزار تتری حساب کرده‌ایم که اگر ربات سفارشش را دقیق اندازه بگیرد، با هر حد لغزش چقدر می‌برد:

حد لغزش شما

اتریومی که کمتر می‌گیرید

سود ربات پیش از کارمزد شبکه

۰٫۵ درصد

۰٫۰۴ اتریوم (حدود ۹۸ تتر)

حدود ۸۶ تتر

۱ درصد

۰٫۰۸ اتریوم (حدود ۱۹۶ تتر)

حدود ۱۷۲ تتر

۳ درصد

۰٫۲۳ اتریوم (حدود ۵۸۷ تتر)

حدود ۵۱۶ تتر

۵ درصد

۰٫۳۹ اتریوم (حدود ۹۷۸ تتر)

حدود ۸۶۰ تتر

ضرر شما تقریباً هم‌پای حد لغزش بالا می‌رود. با حد ۵ درصد، کافی است ربات پیش از شما حدود ۲۶ هزار تتر اتریوم بخرد. فاصله ستون دوم و سوم هم کارمزدی است که ربات در دو معامله‌اش به استخر می‌دهد. مستندات یونی‌سواپ هم به همین دلیل می‌گوید حداقل دریافتی، ضرری را که ربات‌ها با جلو زدن از شما می‌زنند محدود نگه می‌دارد.

چند کار ساده این خطر را کم می‌کند:

  • حد لغزش را تا جایی که معامله انجام شود پایین نگه دارید و بی‌دلیل بالایش نبرید.
  • مبلغ بزرگ را در استخر کم‌عمق معامله نکنید. اثر قیمت بالا هم ضرر مستقیم شماست و هم جای بیشتری برای ربات باز می‌کند.
  • راه دیگر این است که تراکنش از یک کانال خصوصی مستقیم به سازنده بلاک برسد و در صف عمومی دیده نشود. ethereum.org این روش را یکی از راه‌های در امان ماندن از حمله ساندویچی معرفی کرده است. پیش از استفاده ببینید کیف پولتان چنین گزینه‌ای دارد یا نه.

آربیتراژ؛ چرا قیمت استخر از بازار جدا نمی‌ماند

AMM از قیمت بقیه بازار خبر ندارد و فقط موجودی خودش را می‌بیند. در مثال ما، بعد از خرید شما استخر هر اتریوم را ۲۶۰۱ تتر قیمت می‌دهد، در حالی که بقیه بازار هنوز ۲۵۰۰ است. این اختلاف برای آربیتراژگرها فرصت است. آن‌ها اتریوم را جای ارزان‌تر می‌خرند و به همین استخر می‌فروشند.

با همان عددها، پرسودترین کار برای آربیتراژگر این است که حدود ۷٫۲۵ اتریوم به استخر بفروشد. او حدود ۱۸٬۴۶۷ تتر می‌گیرد، در حالی که همین مقدار اتریوم در بازار حدود ۱۸٬۱۳۳ تتر می‌ارزد. یعنی پیش از کارمزد شبکه حدود ۳۳۴ تتر سود می‌کند. بعد از فروش او قیمت استخر به حدود ۲۵۰۷ برمی‌گردد. دقیقاً به ۲۵۰۰ نمی‌رسد، چون از آنجا به بعد کارمزد ۰٫۳ درصدی استخر سود آربیتراژ را می‌خورد.

حالا جواب سؤال اول مطلب معلوم است. شما ۲۰ هزار تتر دادید و اتریومی گرفتید که در بازار حدود ۱۹٬۵۵۰ تتر می‌ارزد؛ یعنی حدود ۴۵۰ تتر بیشتر پرداختید. حدود ۱۱۵ تتر از این مبلغ کارمزدی است که شما و آربیتراژگر به استخر دادید و به تأمین‌کنندگان نقدینگی رسید. حدود ۳۳۴ تترش هم سود آربیتراژگر شد. پس اثر قیمتی که می‌پردازید دود نمی‌شود؛ بیشترش به کسی می‌رسد که قیمت استخر را به بازار برمی‌گرداند.

مستندات یونی‌سواپ هم روی همین حساب می‌کند و می‌گوید به لطف آربیتراژ، نسبت موجودی یک استخر معمولاً به قیمت واقعی بازار نزدیک است. ethereum.org آربیتراژ بین صرافی‌های غیرمتمرکز را ساده‌ترین و پررقابت‌ترین فرصت MEV می‌داند؛ آن‌قدر پررقابت که ربات‌ها گاهی ۹۰ درصد یا بیشتر از سودشان را کارمزد می‌دهند تا تراکنششان زودتر ثبت شود. پس این بازی مال ربات‌هاست، نه کاربر عادی. استخری که کسی در آن آربیتراژ نمی‌کند، مثل استخر کوچک یک توکن تازه، ممکن است قیمتش مدت‌ها با جاهای دیگر فرق داشته باشد. انواع دیگر آربیتراژ و حساب واقعی سودشان را در مقاله آربیتراژ ارز دیجیتال آورده‌ایم.

وقتی x·y=k جواب نمی‌دهد: منحنی‌های دیگر

x·y=k برای دو دارایی ساخته شده که قیمتشان نسبت به هم آزادانه بالا و پایین می‌رود. برای دو استیبل‌کوین که هر دو باید حدود یک دلار بمانند، یا برای تأمین‌کننده‌ای که حدس می‌زند قیمت در چه محدوده‌ای می‌چرخد، طرح‌های دیگری ساخته شده است.

StableSwap؛ منحنی Curve برای استیبل‌کوین‌ها

استیبل‌کوین‌های دلاری قرار است همیشه هم‌ارزش بمانند. اگر استخر USDC و USDT با x·y=k کار کند، معامله بزرگ بی‌دلیل گران تمام می‌شود. در استخری با یک میلیون از هر کدام، کسی که ۱۰۰ هزار USDC بدهد فقط حدود ۹۰٬۹۰۹ USDT می‌گیرد؛ یعنی ۹ درصد ضرر برای تبدیل یک دلار دیجیتال به دلار دیجیتال دیگر.

میخائیل یگوروف در مقاله StableSwap، که ۱۹ آبان ۱۳۹۸ روی سایت Curve منتشر شد، راه میانه‌ای پیشنهاد داد. دو فرمول ساده‌تر را در نظر بگیرید. «جمع ثابت» (x+y=k) قیمت را همیشه دقیقاً یک نگه می‌دارد و هیچ لغزشی ندارد، ولی اگر یکی از دو کوین بیرون از استخر ارزان شود، همه آن را به قیمت یک به استخر می‌فروشند تا کوین دیگر در استخر تمام شود. «حاصل‌ضرب ثابت» هیچ‌وقت خالی نمی‌شود، ولی برای استیبل‌کوین لغزش زیادی دارد. منحنی StableSwap وقتی موجودی دو طرف نزدیک هم است، تقریباً مثل جمع ثابت صاف است و هر چه استخر نامتعادل‌تر شود، به حاصل‌ضرب ثابت نزدیک‌تر می‌شود. پارامتری به اسم ضریب تقویت (A) پهنای این بخش صاف را تعیین می‌کند. هر چه A کمتر باشد، منحنی به x·y=k شبیه‌تر است.

با همان استخر یک میلیونی و ضریب A برابر ۱۰۰، که مقاله آن را مقدار عملی معرفی کرده، دو منحنی را با هم مقایسه کرده‌ایم. کارمزد در این حساب نیامده است:

USDC که می‌دهید

دریافتی با x·y=k

دریافتی با StableSwap

۱۰ هزار

حدود ۹٬۹۰۱ USDT (۱ درصد کمتر)

حدود ۹٬۹۹۹٫۵ USDT (حدود ۰٫۰۰۵ درصد کمتر)

۱۰۰ هزار

حدود ۹۰٬۹۰۹ USDT (۹٫۱ درصد کمتر)

حدود ۹۹٬۹۵۰ USDT (۰٫۰۵ درصد کمتر)

۵۰۰ هزار

حدود ۳۳۳٬۳۳۳ USDT (۳۳ درصد کمتر)

حدود ۴۹۸٬۳۵۵ USDT (۰٫۳ درصد کمتر)

۹۰۰ هزار

حدود ۴۷۳٬۶۸۴ USDT (۴۷ درصد کمتر)

حدود ۸۸۲٬۵۸۷ USDT (۱٫۹ درصد کمتر)

نمودار سه منحنی بازارساز خودکار برای استخر دو استیبل‌کوینی: با ورود ۵۰۰ هزار USDC، منحنی x·y=k حدود ۳۳۳ هزار و منحنی StableSwap حدود ۴۹۸ هزار تتر می‌دهد

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

نقدینگی متمرکز؛ یونی‌سواپ نسخه سوم و چهارم

در x·y=k معمولی، پول تأمین‌کننده روی کل منحنی پخش می‌شود، از قیمت صفر تا بی‌نهایت، و بیشترش هیچ‌وقت به کار نمی‌آید. مستندات یونی‌سواپ مثال می‌زند که در استخر DAI و USDC نسخه دوم، فقط حدود ۰٫۵ درصد سرمایه برای معامله‌های بین قیمت ۰٫۹۹ تا ۱٫۰۱ دلار به کار می‌رفت؛ همان محدوده‌ای که بیشتر حجم معامله در آن است.

از نسخه سوم، هر تأمین‌کننده بازه قیمت خودش را انتخاب می‌کند و پولش فقط در همان بازه کار می‌کند. حساب ما با فرمول‌های همین نسخه هم نشان می‌دهد که برای ساختن همان عمق در بازه ۰٫۹۹ تا ۱٫۰۱، حدود یک‌دویستم سرمایه کافی است.

نتیجه‌اش برای شما که معامله می‌کنید، عمق بیشتر نزدیک قیمت فعلی و اثر قیمت کمتر است. ولی این عمق ثابت نیست. وقتی قیمت از بازه یک تأمین‌کننده بیرون برود، پول او دیگر در معامله‌ها شرکت نمی‌کند، کارمزدی هم نمی‌گیرد و کل سهمش به یکی از دو توکن تبدیل می‌شود. اگر قیمت تند حرکت کند و بیشتر تأمین‌کننده‌ها بازه‌های باریک گذاشته باشند، استخر ناگهان کم‌عمق می‌شود.

کارمزد هم در این نسخه‌ها یکسان نیست. طبق صفحه کارمزدهای یونی‌سواپ، نسخه سوم سه سطح اصلی ۰٫۰۵، ۰٫۳ و ۱ درصد دارد. در نسخه چهارم، سازنده استخر می‌تواند هر کارمزدی از صفر تا ۱۰۰ درصد تعیین کند و حتی با افزونه‌هایی به اسم «هوک» آن را لحظه‌به‌لحظه تغییر دهد. پس فرض نکنید کارمزد هر استخری ۰٫۳ درصد است.

طرح دیگری که مقاله StableSwap هم از آن اسم می‌برد، فرمول Balancer است. این فرمول x·y=k را به استخرهایی با بیش از دو توکن و سهم‌های نابرابر گسترش می‌دهد؛ مثلاً استخری که سه توکن دارد یا ارزش یک طرفش بیشتر از طرف دیگر است.

اگر به‌جای معامله، نقدینگی بگذارید

طرف دیگر هر AMM تأمین‌کننده نقدینگی است. او از هر سواپ کارمزد می‌گیرد، ولی وقتی قیمت بازار واقعاً عوض شود، آربیتراژگرها استخر را با قیمت جدید هم‌تراز می‌کنند و ترکیب سهم او عوض می‌شود. نتیجه این است که ارزش سهمش کمتر از حالتی می‌شود که همان دو توکن را دست‌نخورده در کیف پولش نگه می‌داشت. به این اختلاف ضرر ناپایدار (Impermanent Loss) می‌گویند و تأمین نقدینگی فقط وقتی سود دارد که کارمزدها از آن بیشتر شوند. حساب درآمد و ضرر تأمین‌کننده را با مثال عددی در مقاله استخر نقدینگی آورده‌ایم.

پیش از اولین سواپ در یک AMM

  1. اثر قیمت را ببینید. اگر عددش بالاست، یعنی مبلغ برای این استخر زیاد است. مبلغ را کم کنید یا استخر عمیق‌تری پیدا کنید.
  2. حد لغزش را پایین نگه دارید. معمولاً همان مقدار پیش‌فرض کافی است. بالا بردنش را فقط وقتی امتحان کنید که می‌دانید چرا معامله برمی‌گردد.
  3. آدرس قرارداد توکن را چک کنید. در AMM هر کسی می‌تواند برای هر توکنی بازار بسازد و مستندات یونی‌سواپ هم این را صریح گفته است. پس توکن جعلی با همان اسم و نماد هم ممکن است استخر داشته باشد. نمونه‌های رایجش را در مقاله کلاهبرداری‌های رایج ببینید.
  4. کارمزد شبکه را هم حساب کنید. در سواپ‌های کوچک روی شبکه‌های گران، کارمزد شبکه ممکن است از کارمزد خود سواپ بیشتر شود.
  5. قیمت را با بازار مقایسه کنید. اگر قیمت استخر با صرافی‌های بزرگ فاصله زیادی دارد، یا استخر کم‌عمق است یا توکنی که انتخاب کرده‌اید همانی نیست که فکر می‌کنید.

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

پرسش‌های رایج

بازارساز خودکار با استخر نقدینگی چه فرقی دارد؟

استخر نقدینگی خود موجودی توکن‌هاست که تأمین‌کننده‌ها گذاشته‌اند. بازارساز خودکار قاعده و قراردادی است که با این موجودی قیمت می‌دهد و معامله را انجام می‌دهد. هر AMM استخر دارد، ولی هر استخری در دیفای مال AMM نیست؛ پلتفرم‌های وام هم استخر دارند.

چرا مقداری که گرفتم با عددی که سایت نشان داد فرق داشت؟

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

اگر حد لغزش را خیلی پایین بگذارم چه می‌شود؟

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

قیمت در AMM از کجا می‌آید؟ به قیمت صرافی‌ها وصل است؟

نه. قیمت فقط از نسبت موجودی دو توکن در استخر درمی‌آید. آربیتراژگرها با بستن هر اختلافی به سود خودشان، آن را نزدیک قیمت صرافی‌ها نگه می‌دارند. در استخرهای کوچکی که کسی در آن‌ها آربیتراژ نمی‌کند، قیمت ممکن است با بقیه بازار فرق زیادی داشته باشد.

چرا در استخر استیبل‌کوین‌ها اثر قیمت این‌قدر کم است؟

چون استخر مخصوص استیبل‌کوین را می‌شود با منحنی‌هایی مثل StableSwap ساخت که نزدیک نقطه تعادل تقریباً صاف‌اند، یا نقدینگی‌اش را در بازه باریکی دور یک دلار متمرکز کرد. در مثال این مطلب، بدون حساب کارمزد، تبدیل ۱۰۰ هزار USDC در استخر StableSwap حدود ۰٫۰۵ درصد و در استخر x·y=k حدود ۹ درصد کمتر USDT می‌داد.

سواپ‌ولت هم بازارساز خودکار است؟

نه. سواپ‌ولت صرافی متمرکز و کیف پول امانی است؛ یعنی کلید دارایی‌ها دست سواپ‌ولت است، نه شما. تبدیل رمزارز به رمزارز در سواپ‌ولت داخل حسابتان انجام می‌شود و کارمزدهایش در صفحه کارمزدها آمده است. اگر بخواهید از یک AMM استفاده کنید، می‌توانید رمزارز را در سواپ‌ولت بخرید و به کیف پول شخصی‌تان برداشت کنید.