
TL ؛ DR: ما یک پروتکل نظری Ethereum Clob DEX را کشف می کنیم که از فلاشدها استفاده می کند تا معامله گران بتوانند سفارشاتی را که در خارج از زنجیره زندگی می کنند ، قرار دهند و هیچ هزینه گاز را پرداخت نمی کنند مگر اینکه سفارش تجارت کند و به صورت زنجیره ای تسویه شود.
مسئله blockchains و clob با گازهای زیاد
امروزه ، بیشتر پروتکل های DEX با تأمین نقدینگی منفعل و منحنی های قیمت گذاری AMM صریح (XYK ، StableSwap) عمل می کنند. این طرح به سازندگان بازار این امکان را می دهد تا ضمن تأمین نقدینگی و تسهیل کشف قیمت ، کاملاً دست به کار شوند. با این حال ، از اشکالاتی از جمله ضرر ناپایدار ، بهره وری ضعیف سرمایه و لغزش زیاد رنج می برد.
از طرف دیگر ، بازارهای Tradfi عمدتاً از طراحی کتاب سفارش محدود (CLOB) استفاده می کنند. در یک CLOB ، سازندگان بازار پیشنهادات و پیشنهاداتی را برای ارائه نقدینگی بسیار هدفمند در نقاط قیمت انتخابی ارائه می دهند. بر خلاف واریز نشانه ها به یک سازنده خودکار بازار (AMM) ، قرار دادن یک پیشنهاد یا پیشنهاد ، این دیدگاه را بیان می کند که قیمت ذاتی دارایی بالاتر از پیشنهاد یا زیر پیشنهاد است. بنابراین ، یک سازنده بازار باید به سرعت به حرکات بازار پاسخ دهد و سفارشات خود را در زمان واقعی تغییر دهد. سازندگان بازار الکترونیکی حرفه ای می توانند به راحتی میلیون ها افزودنی/لغو در روز را در تلاش خود برای محکم کردن گسترش و کارآمد نگه داشتن بازارها ارائه دهند.
میزان کاملی از معاملات زنجیره ای و محاسبات مورد نیاز برای یک CLOB باعث می شود که اجرای یک زنجیره گران قیمت گاز مانند Ethereum بسیار گران باشد. تکرار یک کلوب بر روی یک blockchain امکان پذیر است ، اما در حال حاضر فقط در زنجیرهای ارزان قیمت (به عنوان مثال ، سرم ساخته شده بر روی سولانا) یا لایه 2 (به عنوان مثال ، dydx).
راه حل های موجود
- UNISWAP V3 و پروتکل های مشابه تا حدی با اجازه دادن به LPS برای تأمین نقدینگی متمرکز در محدوده قیمت تعریف شده توسط کاربر ، شکاف بین AMMS و CLOBS را ایجاد می کنند.
0x: کتاب سفارش غیر متمرکز
- 0x نقدینگی غیرمتمرکز را از طریق کتاب سفارش یا ارائه RFQ فراهم می کند ، که در آن سازندگان بازار حرفه ای قیمت های رقابتی را از طریق API (متمرکز) 0X ارائه می دهند ، که می تواند در زنجیره ای حل شود. سفارشات فقط با تعیین صریح کمک هزینه نشانه ها با پروکسی مبادله 0x قابل اجرا هستند.
- DYDX یک کتاب سفارش و موتور مطابق با زنجیره ای را با تسویه حساب در زنجیره ای نگه می دارد. معاملات مشتقات با استفاده از یک ادغام Starkware سفارشی در یک پروتکل Layer 2 انجام می شود و امکان تسویه حساب از طریق مجموعه ای از اثبات واضح را فراهم می کند. مشابه 0x ، وضعیت کتاب سفارش فقط از طریق API DYD قابل مشاهده است.
گاو گاو: جمع کننده متا Dex
- CowSwap یک پروتکل تجمیع DEX است که به دنبال بهینه سازی اجرای تجارت با دسته بندی سفارش ها و اجرای حراج های رقابتی برای تسویه آنها است. معامله گران سفارشات (پیام های امضا شده قصد تجارت) را به سرویس خارج از زنجیره CowSwap ارسال می کنند. سفارشات جمع آوری می شوند تا به صورت دسته ای تسویه شوند. برای هر دسته، مجموعه محدودی از جستجوگران برای یافتن بهترین اجرا از طریق تطبیق سفارشات با یکدیگر یا در برابر نقدینگی خارجی با یکدیگر رقابت می کنند.
ما یک موتور تطبیق غیرمتمرکز جایگزین پیشنهاد می کنیم که می تواند سفارشات را بدون تکیه بر نقدینگی خارجی پر کند.
کتاب سفارش محدودیت حفظ شده توسط جستجوگر
پروتکل های وام دهی مانند Aave از مفهوم انحلال های نگهداری شده توسط کاربر استفاده می کنند. در صورت نکول، هر کسی می تواند با استناد به قرارداد هوشمند، وام زیر آب را نقد کند و جایزه دریافت کند. بنابراین، مدیریت ریسک پروتکل به یک جامعه جست وجو واگذار می شود که وام های بد را نظارت کرده و آن ها را نقد می کند. ما سیستم مشابهی را پیشنهاد می کنیم که در آن هر کسی می تواند سفارشات سازگار را مطابقت دهد و "پاداش همسان" دریافت کند.
در پروتکل پیشنهادی ما، دو نوع تراکنش وجود دارد: تراکنش های سفارشی و تراکنش های مطابقت. معاملات سفارش توسط معامله گران ارسال می شود و نشان دهنده سفارشات محدود امضا شده است. آنها قصد معامله در یک طرف (پیشنهاد یا درخواست)، قیمت، اندازه، کارمزد تطبیق و مهلت را مشخص می کنند. تراکنش های منطبق می توانند توسط هر کسی ارسال شوند و تلاش هایی برای مطابقت با سفارش های معوق به امید ادعای جوایز منطبق (هزینه های مشخص شده توسط سفارش های منطبق) هستند. آنها مجموعه ای از سفارشات و قیمت تسویه حساب را دریافت می کنند. سپس تأیید می کنند که مطابقت پیشنهادی معتبر است (price_bid ≥ price ≥ price_ask)، اینکه اندازه ها مطابقت دارند (bid_size = ask_size)، و اینکه همه سفارش ها هنوز فعال هستند (time_now
در اینجا یک مثال ملموس با استفاده از BTC-DAI آورده شده است:
- معامله گر 1 یک پیشنهاد زنجیره ای ارسال می کند قیمت - 45000 DAI اندازه - 1 کارمزد BTC - 0. 001 WETH مهلت - اکنون + 24 ساعت
- مدت کوتاهی پس از آن، معامله گر 2 یک پیشنهاد زنجیره ای ارائه می کند. قیمت - 44500 DAI Size - 1 BTC Fee - 0. 002 WETH آخرین مهلت - اکنون +6 ساعت
- این دو سفارش با هم سازگار هستند زیرا یک قیمت مطابق معتبر وجود دارد که تطبیق دهنده می تواند انتخاب کند (price_bid ≥ price ≥ price_ask)، هر دو سفارش هنوز زنده هستند (time_now
تطبیق کاملاً بدون اجازه است و توسط منافع شخصی Matchers هدایت می شود. در صورت غلبه بر هزینه های گاز در انجام عملیات مسابقه ، تطبیق سودآور است. هزینه های WETH برای راحتی برای ماتری که هزینه معاملات معاملات را در برابر هزینه گاز بومی تعادل می دهند ، پرداخت می شود. برای ادعای این نعمت های هزینه ، کبرگ ها باید سفارشات ورودی (چه در زنجیره یا در Mempool) نظارت کنند ، نمای داخلی از "کتاب سفارش" را حفظ کنند و مسابقات سودآور را در زنجیره تسویه کنند. پروتکل از طریق این رقابت آزاد برای تطبیق نعمت ها ، محاسباتی را که معمولاً توسط یک موتور تطبیق به جامعه ای از جستجوگرها انجام می شود ، ارائه می دهد که می توانند آن را کاملاً خارج از زنجیره اجرا کنند.
- معامله گران باید از قبل کمک هزینه ای را برای قرارداد SMART DEX برای نشانه هایی که قصد تجارت دارند ، ارائه دهند. وجوه فقط در صورت مسابقه موفق منتقل می شود. تا آن زمان ، وجوه قفل نشده و معامله گران هنوز هم می توانند به هر روشی که می خواهند از آنها استفاده کنند. آنها همچنین باید کمک هزینه WETH (برای هزینه ها) را تأمین کنند.
- همانطور که در حال حاضر ارائه شده است ، این طرح برای مقادیر مختلف دارایی معامله شده دارای کتاب های جداگانه ای خواهد بود. درعوض ، ما به کاربران این امکان را می دهیم که مقدار هر قدرت دو را مشخص کنند. ما سپس قابلیت های چند مسابقه ای را ارائه می دهیم ، جایی که تطابق می تواند با چندین درخواست/پیشنهاد مطابقت داشته باشد تا زمانی که می توان از یک قیمت واحد برای برآورده کردن همه آنها استفاده کرد و اندازه کل سؤال ها برابر با اندازه کل پیشنهادات است.
این پروتکل کار می کند ، اما با هزینه زیادی زیرا هر ارسال سفارش یک معامله زنجیره ای است. حتی اگر سفارش آنها هرگز پر نشود ، معامله گران باید هزینه گاز لازم را بپردازند.
فلاستیک ها را وارد کنید
ما می توانیم این طرح را با یک ترفند بحرانی بهبود بخشیم: اعمال فلاکت های اعمال شده برای اجرای بسته بندی شده. Flashbots به کاربران امکان می دهد بسته های اتمی معاملات را مستقیماً به معدنچیان ارسال کنند ، جایی که تمام یا هیچ یک از معاملات انجام نمی شود. از نظر مهم ، این امکان را می دهد تا گاز بسته نرم افزاری به طور کلی پرداخت شود. بنابراین پیشنهادات/درخواست ها نیازی به فرود در هنگام قرار دادن آنها ندارند. درعوض ، آنها می توانند حداقل قیمت گاز را تعیین کرده و تا زمانی که یک مسابقه پیدا شود ، زنجیره ای (در Mempool) نگه داشته شوند. آنها سپس در کنار معامله مسابقه با هم جمع می شوند و به طور همزمان توسط Matcher ارسال می شوند (و هزینه آن را پرداخت می کنند).
در این مثال ، چهار معامله گر سفارشات را به مسابقه ارسال می کنند ، و Matcher برای اجرای بسته بندی شده ، فلاش های فلش را اعمال می کند.

- معامله گران سفارشات خود را به Mempool Trader 1 ارسال می کنند - پیشنهاد برای 2 BTC برای 84, 000 DAI، با 0. 001 کارمزد WETH معامله گر 2 - پیشنهاد برای 2 BTC برای 84, 030 DAI با 0. 001 کارمزد WETH معامله گر 3 - پیشنهاد برای 4 BTC برای 70، 100 DAI. WETH Fee Trader 4 - درخواست 8 BTC برای 330, 000 DAI با کارمزد WETH 0. 002
- Matcher ممپول را برای یک مسابقه معتبر اسکن می کند - احتمالاً شامل چندین سفارش در هر طرف است.
- Matcher یک بسته نرم افزاری [addBuy0, addBuy1, addBuy2, addSell0, multiMatch(ids, price)] را از طریق Flashbots به همراه هزینه گاز/نکته مورد نیاز ارسال می کند. توجه داشته باشید که معامله گرانی که سفارشات اولیه را ارسال کرده اند، چیزی فراتر از حداقل هزینه گاز پرداخت نمی کنند.
- Flashbots بسته نرم افزاری را بر اساس جریان کاری Flashbots معمولی به MEV-geth ارسال می کند. اگر برای ماینرها سودآور باشد، بسته نرم افزاری (و منطبق با سفارش) به ترتیب تعیین شده به صورت زنجیره ای آورده می شود. معامله گران پر می شوند و تطبیق کننده کارمزد WETH را دریافت می کند (در این مورد 0. 001 + 0. 001 + 0. 001 + 0. 002 = 0. 005 WETH).
توجه داشته باشید که در مثال ساده بالا، هر قیمت معامله بین 41250 (قیمت محدود فروش موثر) و 42000 (قیمت حد مجاز پیشنهادی موثر) الزامات مطابقت را برآورده می کند. تطبیق دهنده همچنین می تواند طرف مقابل را بگیرد و با ارسال معاملات منطبق خود، هرگونه مازاد عبوری را استخراج کند. در مثال بالا، تطبیق دهنده می تواند سفارش های مخالف را برای سفارش های قابل تطبیق با قیمت رزرو معامله گر ارسال کند، یعنی.
- یک پیشنهاد 2 بیت کوین برای 84000 DAI ارسال کنید
- یک پیشنهاد 2 بیت کوین برای 84030 DAI ارسال کنید
- یک پیشنهاد 4 بیت کوین برای 170000 DAI ارسال کنید
- پیشنهادی برای 8 BTC برای 330000 DAI ارسال کنید
به این ترتیب، تطبیق کننده کارمزد WETH 0. 005 و مازاد 8030 DAI را از سفارش های متقاطع دریافت می کند. همانطور که تطبیق رقابتی تر می شود، نسبت فزاینده ای از سود تطبیق به ماینرها تقسیم می شود.
قیمت گذاری کارمزد
هر زمان که مجموع پاداش تطبیق دهنده به اضافه مازاد آربیتراژ بالقوه از هزینه / انعام لازم برای پذیرش توسط Flashbots بیشتر شود، تطبیق سودآور است. در ساده ترین حالت عدم وجود مازاد آربیتراژ و تطبیق یک پیشنهاد و درخواست، هر سفارش تقریباً مسئول پرداخت نیمی از کارمزد پایه عملیات مسابقه، به علاوه هر هزینه اولویت اضافی/نکته مورد نیاز برای رقابت در حراج Flashbots خواهد بود. توجه داشته باشید که تطبیق به تعداد ثابتی دستورالعمل برای هر سفارش پر شده نیاز دارد، بنابراین گاز مصرفی به اندازه سفارش ها بستگی ندارد. البته کارمزدهای بالاتر به معنای اولویت بیشتر است و بالعکس.
محدودیت ها
nonces تراکنش EVM چالش های UX ایجاد می کند
برای جلوگیری از هزینه های مضاعف ، دستگاه مجازی Ethereum (EVM) برای هر آدرس (امضا کننده معامله) افراد غیرقانونی را پیگیری می کند. Nonce به عنوان پیشخوان معامله عمل می کند. معامله ای از یک فرستنده داده شده در صورت افزایش غیرقانونی معامله توسط یکی از عدم انجام معاملات قبلی فرستنده ، قابل استفاده است.
این مدیریت سفارش را برای معامله گران که سعی در حفظ چندین سفارش برجسته دارند ، پیچیده می کند. اگر سفارشات با یکسان ، n مشخص شوند ، هرگونه پر کردن تمام سفارشات باقیمانده را باطل می کند زیرا آنها از یک غیر معتبر در حال حاضر استفاده می کنند. برای تازه کردن - وثیقه سفارشات ، معامله گر باید تمام سفارشات را با N Nonce N+1 ارسال کند. اگر سفارشات با افراد مختلف مشخص شود ، به عنوان مثالn ، n+1 ، n+2 ،.، سپس سفارشات باید در دنباله افراد پر شود. هر دو مورد برای معامله گران عادت به استقلال مسیر برای سفارشات محدود غیرقانونی است.
چند رفع ناقص:
- همه سفارشات را با همان غیرقانونی ارسال کنید. هنگامی که یکی از سفارشات به زنجیره ای تحت فشار قرار گرفت و غیرقانونی باطل شد ، تمام سفارشات باز را با غیرقانونی افزایش یافته ارسال کنید.
- کیف پول ساختگی برای توزیع معاملات در چندین کیف پول.
- برای سفارشات من ، تمام ترکیبات I^2 از سفارشات معتبر را ارسال کنید. به عنوان مثال ، اگر Nonce معتبر بعدی N است ، هر سفارش را با شماره بعدی ممکن ارسال کنید (n ، n + 1 ،. n + i - 1).
بدون لغو بدون گاز
پس از امضا و پخش معامله سفارش ، هیچ راهی برای یادآوری آن وجود ندارد. تنها راه "لغو" سفارش ، انجام معامله ای است که عدم عدم پذیرش معامله سفارش را باطل می کند ، اما این امر مستلزم پرداخت گاز است و تضمین نمی شود که قبل از ارسال یک مسابقه ، تجارت را ارسال کنید. در صورت عدم وجود چنین فسخ ، پارامتر مهلت را می توان در انقضاء مورد نظر سفارش تنظیم کرد. این مکانیسم شبیه به چگونگی "زمان لازم" در بیشتر مبادلات TradFI است که مدت زمان سفارشات را تعریف می کند.
بدون اولویت سفارش مشخص
کلوب ها به طور معمول با اولویت قیمت کار می کنند. سفارشات با قیمت های بهتر قبل از سفارشات با قیمت های بدتر اجرا می شوند و سفارشات قرار داده شده در اول (با همان قیمت) قبل از سفارشات بعدی اجرا می شوند. با این حال ، از آنجا که سفارشات توسط جستجوگران بر خلاف یک موتور تطبیق قطعی مطابقت دارند ، هیچ ضمانت اولویت ای وجود ندارد. در نتیجه ، می توان از پیشنهادات استفاده کرد و درخواست می شود.
نتیجه
طرح نظری پیشنهادی معامله گران را قادر می سازد تا از فلاشدها و شبکه جستجوگر موجود استفاده کنند تا از یک موتور تطبیق کتاب سفارش تقلید کنند. با توجه به محدودیت های بیشماری که در بالا توضیح داده شد ، مبادلات قابل توجهی نسبت به راه حل های جایگزین شامل سرورهای متمرکز یا شبکه های تخصصی وجود دارد. با این وجود ، ما معتقدیم SLOB نشان دهنده یک آزمایش فکر جالب در مورد چگونگی تحریک زیرساخت های موجود برای ارائه عملکردهای اضافی است.
تصدیق
با تشکر از کوین لیو (_kevinliu) ، مایک سترین (msetrin_) ، بن هوآن (bhuan_) و اسپنس پیتز ، والنتین فون آلبرخت (valentalb) بخاطر بازخورد و بحث و گفتگو!
پلتفرم معاملاتی فارکس...
ما را در سایت پلتفرم معاملاتی فارکس دنبال می کنید
برچسب :
نویسنده : مرجان محتشم
بازدید : <-PostHit->
تاريخ : چهارشنبه
15 شهريور
1402 ساعت: 4:15