یک برچسب از قبل با نام شعبه ارائه شده وجود دارد. بسیاری از دستورات Git هر دو نام برچسب و شاخه را می پذیرند، بنابراین ایجاد این شاخه ممکن است باعث رفتار غیرمنتظره شود. آیا مطمئن هستید که می خواهید این شعبه را ایجاد کنید؟
waves-documentation / en / blockchain / waves-protocol / uncentralized-cryptocurrency-exchange-dex. md
- به فایل T بروید
- به خط L بروید
- مسیر کپی
- پیوند ثابت را کپی کنید
این commit به هیچ شعبه ای در این مخزن تعلق ندارد و ممکن است به یک فورک خارج از مخزن تعلق داشته باشد.
- با دسکتاپ باز کنید
- مشاهده خام
- کپی مطالب خام کپی مطالب خام
مطالب خام را کپی کنید
مطالب خام را کپی کنید
صرافی غیرمتمرکز (DEX)
نیاز به تبدیل و مبادله بین توکن های رمزنگاری با بزرگ شدن تعداد ارزهای رمزنگاری شده در حال افزایش است. یکی از ویژگی های اصلی محیط بلاک چین، تمرکززدایی است، اما تا همین اواخر فقط صرافی های متمرکز وجود داشت، حتی برای ارزهای دیجیتال مانند بیت کوین یا اتریوم. بسیاری از صرافی ها از خرید و فروش ارزهای دیجیتال، ارزهای فیات و توکن های ارزهای دیجیتال پشتیبانی می کنند. نمونه هایی از چنین صرافی های متمرکز عبارتند از Coinbase، BTC-e، ShapeShift و Mt. Gox. تجربه تمرکز در این حوزه تاسف بار است، علت یک نقطه شکست - تبادل است. در این صورت، وجوه تمام کاربران باید در یک مکان برای مشارکت در تجارت نگهداری شود. وجوه کاربر مستقیماً در صرافی ذخیره میشود و نه تنها مسئول تطبیق سفارشها و نگهداری دفترچه سفارش فعلی در وضعیت صحیح است، بلکه مسئولیت وجوه سپردهگذاران را نیز بر عهده دارد. فروپاشی Mt. Gox روشنترین مثال برای این است که چرا قابل اعتماد نیست، ضرر حاصل پس از به خطر افتادن آن حدود 650000 BTC بود. کسی میتواند سیستم صرافی را هک کند و همه کاربران همه چیز را از دست بدهند، زیرا کلیدهای خصوصی آنها در کنار هم نگه داشته میشوند، مانند یکی از نسخههای سرقت صندوق BTC-e. و این تنها صرافی هایی نیستند که وجوه سپرده گذاران را به این شکل از دست داده اند. استفاده از یک رویکرد غیرمتمرکز در موجودیت یک صرافی به جلوگیری از دخالت بسیاری از دارایی های کاربران در مشکلات ناشی از خطر ورود متجاوزان به کار مبادله کمک می کند.
1. صرافی غیرمتمرکز
صرافی های غیرمتمرکز نیازی ندارند که کاربران به پول خود اعتماد کنند: کیف پول کاربر توسط یک نهاد واحد کنترل نمی شود. سفارشها بهعنوان یک فرآیند مجوز، مستقیماً توسط مالکان به صورت دیجیتالی امضا میشوند. کاربران وجوه خود را کنترل میکنند، اما معاملات زنجیرهای اثر جانبی این را دارد که در یک صرافی متمرکز، معاملات بلادرنگ انجام نمیشود.
صرافی های غیرمتمرکز دارای مزایایی نسبت به متمرکز هستند، اما دارای معایبی نیز هستند.
اگر تمام اجزای صرافی غیرمتمرکز باشند، تطبیق خودکار سفارشات خرید و فروش وجود ندارد، این عملیات نیز باید توسط کاربران انجام شود. به عنوان مثال برای یک سفارش خاص که اعتبارسنجی شده و در یک دفترچه سفارش قرار میگیرد، هر کاربر دیگری میتواند یک سفارش متقابل امضا شده دیجیتالی اضافه کند و تراکنش کامل را با یک جفت سفارش به زنجیره بلوکی ارسال کند. سپس دارایی ها بین خریدار و فروشنده منتقل می شود.
همچنین با چنین عدم تطبیق خودکار و لغو سریع، آسیب پذیری در مقابل ماینرهای پیشرو وجود دارد. ماینر بلوک بعدی همیشه این گزینه را خواهد داشت که دستورات لغو شده را با خود به عنوان طرف مقابل اجرا کند و به طور بالقوه از چنین سفارشی سود می برد.
چه می شود اگر ما همه مؤلفه های مبادله ، بلکه فقط قسمت مطابقت را بر عهده نداریم؟این طرح دو مورد از مشکلات شرح داده شده در بالا را از بین می برد: داوری با سفارشات از قبل لغو شده ، و معدنچیان جلو. بر خلاف مبادلات متمرکز ، راه حل غیرمتمرکز با Matcher متمرکز قدرت سرقت سپرده های کاربران را ندارد.
Waves یک مبادله غیر متمرکز (DEX) را فراهم می کند ، که به عنوان یک مبادله سنتی ، با داشتن ضمانت های امنیتی قوی تر ، به دلیل ماهیت غیر متمرکز خود ، دارایی های مختلفی را بین کاربران ، به عنوان یک مبادله سنتی ، با ضمانت های امنیتی قوی تر برای کاربران نهایی فراهم می کند. فرصتی برای ایجاد برخی از دارایی های جدید ، بر اساس امواج ، امکان تجارت زودهنگام یک سهام سرمایه گذاری را فراهم می کند ، که نقدینگی را برای نشانه ها فراهم می کند. برای این منظور ، نشانه ها باید در مکان های عمومی فروخته شوند ، جایی که خریداران و فروشندگان ممکن است سفارشات ارسال کنند.
تجارت در زمان واقعی به لطف تنها عنصر طراحی متمرکز DEX ما - The Order Book Matcher ، که با سفارشات ورودی مطابقت دارد و معاملات را با سرعت بالا ، به طور معمول در میلی ثانیه انجام می دهد ، حاصل می شود. دیگر نیازی به انتظار برای بلوک بعدی نیست تا بدانید که آیا تجارت با موفقیت انجام شده است ، این سرعت در سطح مبادله متمرکز و امنیت پروتکل غیرمتمرکز فراهم می کند.
سفارشات به صورت جفت توسط گره های جداگانه مرتبط می شوند که به عنوان تطبیق کار می کنند. قبل از ورود به Waves Blockchain ، معاملات مبادله همیشه توسط گره ها برای تطبیق قیمت ها در سفارشات بررسی می شود تا متناسب نتواند معاملات "اشتباه" را اجرا کند. سپس Matcher معامله تبادل را ایجاد می کند ، آن را با امضای خود امضا می کند و آن را در blockchain قرار می دهد تا تغییرات در مانده کاربران را برطرف کند. این مسابقه همچنین می تواند با سفارشات تا حدی مطابقت داشته باشد ، مانند مبادله ترتیب. پس از تأیید معامله ، علامت Matcher با استفاده از گره های معدن و معامله مبادله ای که در blockchain قرار دارد تأیید می شود ، مانده حساب کاربری دارایی ها با توجه به مبلغ و قیمت اجرای سفارش تغییر می یابد. نکته مهم این است که وجوه فقط پس از انتشار در blockchain منتقل می شوند. اگر مسابقه ناکام باشد ، مبادله صورت نمی گیرد ، اما وجوه از بین نمی رود ، علت مبادله دارایی مشتری ندارد.
یک کاربر با ایجاد ، امضای و ارسال درخواست سفارش محدود به گره Matcher ، تمایل خود را برای خرید یا فروش دارایی آغاز می کند. سفارش در اینجا همانند همه صرافی ها است: سفارش برای خرید (فروش) تعداد ثابت یک نشانه با قیمت برابر یا بهتر از مشخص شده. هنگامی که یک سفارش جدید به DEX ارسال می شود ، تمام زمینه های آن برای کفایت بررسی می شوند و امضا توسط کلید عمومی فرستنده تأیید می شود. سپس ، سفارش ، بر اساس وضعیت مفهومی داخلی تأیید می شود: سفارش با چنین شناسه نباید از قبل وجود داشته باشد و مبلغ کلیه مبلغ سفارش برای یک دارایی خاص باید کمتر یا برابر با مانده آن دارایی در حساب فرستنده باشد. طرح کار با DEX در شکل 1 نشان داده شده است:
شکل 1
کاربر می تواند زمان انقضا (حداکثر مهر زمانی) را برای سفارش تعیین کند و زمانی که سفارش منقضی شود به طور خودکار لغو می شود. یکی از قوانین DEX این است که تمام سفارشهای قدیمیتر از 30 روز بهطور پیشفرض لغو میشوند. زمان انقضای هر سفارش توسط کاربر در زمان امضای سفارش مشخص می شود. زمان انقضا یک مقدار صحیح طولانی است که نشان دهنده تعداد مطلق ثانیه ها از زمان یونیکس است. زمانی که سفارش تکمیل نشده باشد و زمان انقضای آن بیشتر از مهر زمانی UNIX باشد، کاربر می تواند آن را لغو کند. در این حالت، سفارش به عنوان سفارش لغو شده وارد بلاک چین می شود و از آن زمان هیچ کس نمی تواند آن را پر کند.
چرخه اجرای کامل برای یک سفارش به شرح زیر است:
- در صورتی که برای سفارش ارسالی هیچ گونه متقابلی با قیمت مطابقت نداشته باشد، آن سفارش در دفترچه سفارش مربوطه قرار می گیرد.
- اگر یک دستور متقابل وجود داشته باشد که با سفارش ارسالی مطابقت داشته باشد، اجرای دستور انجام می شود. این بدان معناست که سفارش متقابل از دفتر سفارش حذف می شود و تطبیق دهنده تراکنش مبادله ای را ایجاد می کند، آن را با کلید خصوصی تطبیق امضا می کند و برای درج در بلاک چین به شبکه Waves ارسال می شود.
- اگر مقداری از یک سفارش ارسال شده به اندازه کافی برای اجرای چند سفارش بزرگ باشد، Matcher چندین تراکنش ایجاد می کند. تراکنش های ایجاد شده دارای مقادیری برابر با مبالغ متقابل سفارش منطبق است. سفارشهای متقابل منطبق بر اساس زمان پذیرش انتخاب میشوند (اولین ورود، اولین خروج).
در هر زمان از زندگی نظم، بسته به اینکه اکنون در کدام مرحله از چرخه حیات خود قرار دارد، حالت خاصی دارد. وقتی سفارشی در دفترچه سفارش است، اما هنوز پر نشده است - حالت "پذیرفته شده" دارد، همچنین می تواند "پر شده"، "جزئی پر شده" یا "لغو" باشد. سفارشهایی که بهطور کامل تکمیل نشدهاند، قابل لغو هستند، پس از آن، سفارش از دفترچه سفارشات مطابقت حذف میشود.
3. محاسبه هزینه مطابقت
کارمزد کامل تراکنش ثابت اکنون معادل 0. 003 موج برای یک سفارش است، چه خرید و چه فروش، صرف نظر از مبلغ معامله آتی. معامله مبادله شامل دو فیلد مجزا برای کارمزد Matcher است که از سفارش خریدار و سفارش فروشنده می باشد. یک سفارش می تواند به طور کامل توسط برخی از تراکنش ها اجرا شود، در این صورت، تمام هزینه های تطبیق دهنده از آن در آن تراکنش لحاظ می شود.
اگر سفارش به طور جزئی توسط برخی از معاملات معاملاتی اجرا شود، matcherFee به نسبت مبلغ اجرا شده در آن تراکنش گنجانده می شود، یعنی.
executedAmount * orderMatcherFee / orderAmount.
کارمزد تطبیق باقی مانده برای این سفارش تا زمان اجرای کامل سفارش در سایر تراکنش ها لحاظ می شود.
3 سفارش مختلف وجود دارد (شکل 2): دو سفارش خرید و یک سفارش فروش. برای هر سفارش کامل، کاربر باید دقیقاً 0. 003 موج هزینه بپردازد و این هزینه با اجرای سفارش حذف می شود. در مثال ما:
- Order1 به طور کامل با 70% بخشی از Order3 توسط Transaction1 مطابقت دارد و کارمزد تطبیق دهنده برای این تراکنش برابر با 0. 003 + 0. 0021 - 0. 003 = 0. 0021 است، زیرا Matcher به ماینرها کارمزد تراکنش پرداخت می کند که همچنین برابر با 0. 003 Waves است.
- 50% از Order2 با 30% قسمت Order3 توسط Transaction2 مطابقت دارد و کارمزد تطبیق دهنده برای این تراکنش برابر با 0. 0009 + 0. 0015 - 0. 003 = -0. 0006 است.
بنابراین، کارمزدی که تطبیق دهنده از کاربران برای این تراکنش ها دریافت می کند 0. 0021 - 0. 0006 = 0. 0015 موج است. و هزینه ای که تطبیق دهنده به ماینرها می پردازد 0. 006 waves است.
شکل 2: نمونه کار حق الزحمه، TX1 - Transaction1، TX2 - Transaction2، Ord1 - Order1، Ord2 - Order2، Ord3 - Order3
دوره زمانی | حق الزحمه همسان | حق الزحمه معدنچی | برای مسابقه رفت |
---|---|---|---|
ماه گذشته | 681. 42336675 امواج | 569. 721 موج | 16. 39٪ |
همیشه | 3476. 01418346 امواج | 2824. 771 موج | 18. 74٪ |
به طور خلاصه، برای تمام مدت، تطبیق تنها 18. 74٪ از کارمزدها و هر چیز دیگری را که برای قرار دادن تراکنش ها در بلوک ها به ماینرها می پردازد نگه می دارد (داده های 8. 02. 2018).
4. موجودی قابل معامله
موجودی قابل معامله نشان می دهد که چقدر می توانید در سفارشات خرج کنید. با فرمول محاسبه می کند:
مانده جاری در دارایی:
هزینه های دارایی در معاملات در استخر utx
مجموع تمام هزینه های دارایی تراکنش های تایید نشده.
به عنوان مثال، اگر شما در حال انتقال WAVES و ارسال تراکنش دادهای هستید و این تراکنشها هنوز جعل نشدهاند، هزینههای_WAVES_in_transactions_in_utx_pool، مقدار_از_انتقال_امواج + هزینه_انتقال + هزینه_تراکنش_داده خواهد بود.
توجه: استخر UTX یک گره نمی تواند مانند گره دیگر باشد.
موجودی ذخیره شده برای دارایی
همچنین به عنوان حجم باز شناخته می شود. مجموع تمام هزینه های دارایی تمام سفارشات به صورت جفت با این دارایی.
به عنوان مثال، شما BTC را با بیت کوین کش (1) خریداری می کنید و بیت کوین کش را برای WCT (2) می فروشید، و این سفارشات هنوز فعال هستند و هنوز تکمیل نشده اند. سپس هزینههای_Bitcoin_Cash_in_active_orders مقدار_خرج_بیتکوین_نقد در (1) + مقدار_فروش_بیتکوین_نقد در (2) خواهد بود.
توجه داشته باشید، هزینه های سفارش WAVES در موجودی رزرو شده لحاظ می شود.
همانطور که می دانید، تمام سفارشات در DEX به عنوان کارمزد نیاز به WAVES دارند. به همین دلیل، یک استثنا برای قاعده ای که در بالا صحبت کردیم وجود دارد. اگر WAVES را توسط دارایی دیگر خریداری کنید، موجودی ذخیره شده در امواج به این ترتیب خواهد بود: حداکثر (هزینه - مقدار_امواج_دریافت شده_در_این_سفارش، 0) . بنابراین، حتی اگر WAVES ندارید، می توانید WAVES را برای BTC خریداری کنید.