深度解析Binance DEX匹配引擎

分享
Copied to clipboard!
深度解析Binance DEX匹配引擎

Binance DEXBinance.com到底有何不同

 

內容:

  • Binance Chain/DEX的目標是什麼?
    • Binance Chain的主要特點
  • 如何在Binance DEX上匹配訂單?
    • 匹配引擎的主要規則
  • 匹配引擎示例
    • 場景1:無匹配
    • 場景2:以最大可交易量匹配
    • 場景3:具有最佳賣價的訂單將與具有最佳買價的訂單進行匹配
    • 場景4:大量收購
    • 場景5:大量賣出
    • 場景6:先到先得,優先匹配

 

Binance Chain/DEX的目標是什麼?

Binance Chain和DEX的目標是直接在區塊鏈上創建分佈式的交易市場。資產不會發送到由單個平台或個人實體控制的交易所或錢包中。相反,訂單和交易都是發生在區塊鏈上。沒有中間人費用,只需要支付網絡費用,用戶能夠擁有他們資產的完全控制權。

 

Binance Chain的主要特點

Binance Chain基於拜占庭容錯(BFT)共識機制。這意味著只要有2/3的網絡節點是真實的,區塊鍊網絡就是安全的。此外,只要在區塊中提交交易,它就會成為最終交易。區塊鍊網絡升級或分叉的方案也不會存在任何風險。

此外,Binance Chain的區塊確認時間約為1秒,使其具有較高的事務吞吐量。截止本文發稿前,Binance Chain也是最快的商業化區塊鏈部署方案之一。

Binance DEX將其訂單保留在區塊鍊網絡上,這意味著運行任何運行完整節點的用戶都有完整的交易副本。

以下是Binance DEX與binance.com不同的處理方式:

  • 訂單類型:Binance DEX僅接受限價訂單

  • 匹配邏輯:基於區塊鏈的屬性,區塊以離散的時間間隔產生,因此Binance DEX不像大多數集中式交易所那樣對交易訂單進行連續匹配。相反,訂單匹配是通過定期輪詢最新的區塊信息,以拍賣式的匹配方式完成。

  • 交易訂單直接獲取用戶所選擇錢包(例如Trust Wallet)上的餘額。 Binance DEX沒有您錢包的控制權。 Binance DEX支持硬件錢包和軟件錢包。您可以在此處查看支持的錢包列表。

 

如何在Binance DEX上匹配訂單?

如果您時間有限,可以跳過本節並轉到“匹配引擎示例”章節。

匹配引擎有兩種類型:

  • 連續 - 訂單進行立即匹配

  • 離散 - 訂單在一定的時間間隔內,使用拍賣規則進行匹配 

Binance DEX使用離散匹配引擎。在每個區塊中收集訂單信息,並且在該區塊確認結束時匹配最新區塊的所有未交易訂單。 

 

匹配引擎的主要原則:

  • 在每個區塊中嘗試匹配1次

  • 當最高賣價高於最低買價時,就會發生匹配

  • 每個區塊中僅選擇1種價格,將該價格確定為區塊中所有訂單的填充價格

  • 訂單匹配首先按價格優先順序排列,然後按時間(區塊高度)進行二次排序

每次的交易匹配嘗試是發生在區塊鏈記錄區塊(“已確認”)後。匹配過程遵循以下步驟:

  • 根據以下因素確定區塊的填充價格:

    • 最大可執行交易量

    • 最低收益

    • 市場壓力

    • 參考價格

  • 使用規則匹配訂單:

    • 具有最高賣價的訂單將與具有最低買價的訂單進行匹配;

    • 如果區塊填充價格中的所有賣價或買價無法完全匹配到相應的買價或賣價時,則選擇時間最早的區塊訂單進行填充

    • 如果區塊填充價格中的所有賣價或買價無法完全匹配到相應的買價或賣價時,並且該情況是發生在同一區塊中,則分配的執行將與其數量成比例(如果該數量具有部分批次,則為已滿)。如果不能實現平均分配,確定性算法將保證使用隨機順序ID進行公平選擇。

 

匹配引擎示例

如果您是“急切”的交易者,或者在波動性很大和流動性不足的市場進行交易,請特別注意3、4和5這三種場景。

 

景1:無匹配

在此示例中,買入價和賣出價沒有“交叉”(最高賣價低於最低買價)。嘗試訂單匹配時,不會生成任何訂單,如下圖所示。

在該區塊中,我們看到有如下掛單。

深度解析Binance DEX匹配引擎

深度解析Binance DEX匹配引擎

以單價為5購買10枚Testnet令牌的買單。深度解析Binance DEX匹配引擎

沒有訂單進行填充。訂單中現在有以下掛單:

深度解析Binance DEX匹配引擎

場景2:以最大可交易量匹配

在該示例的開始,我們看到有如下掛單。

深度解析Binance DEX匹配引擎

 

然後,您進行如下掛單:

  • 在價格到達12後,以該單價購買30枚Testnet令牌

  • 在價格到達10後,以該單價購買10枚Testnet令牌

  • 在價格到達9後,以該單價購買20枚Testnet令牌

  • 在價格到達8後,以該單價購買30枚Testnet令牌

 

深度解析Binance DEX匹配引擎

本輪的價格為6,達到最大匹配量。並且將以6的價格執行90筆交易。

訂單匹配後,您可以查看交易歷史記錄:

賣單:

深度解析Binance DEX匹配引擎

買單:

深度解析Binance DEX匹配引擎

場景3:具有最佳賣價的訂單將與具有最佳買價的訂單進行匹配

在該示例的開始,我們看到有如下掛單。

深度解析Binance DEX匹配引擎

深度解析Binance DEX匹配引擎

然後,您下達以下訂單:

  • 以單價10購買25代幣

深度解析Binance DEX匹配引擎

本輪的匹配價格為7,達到最大匹配量。並且所有交易都在價格為7處時執行。賣單被部分填補。由於具有最佳賣價的訂單將與具有最佳買價的訂單相匹配,因此將首先填補價格為6的賣單。之後價格為7的賣單將被填補。通過這種方式,價格為7的賣單被部分填補。

深度解析Binance DEX匹配引擎

深度解析Binance DEX匹配引擎

匹配結束後掛單:

深度解析Binance DEX匹配引擎

 

場景4:大量收購 

在該示例的開始,我們看到有如下掛單。

深度解析Binance DEX匹配引擎

如您所見,掛單中有很多價格的賣單。如果您大量進行購買:如25的價格購買150。將會發生以下情況:

深度解析Binance DEX匹配引擎

成交價格為10。並且所有賣單都會進行匹配。

深度解析Binance DEX匹配引擎

匹配後的訂單如下:

深度解析Binance DEX匹配引擎

分析:

該交易價格對買家來說是不具有優勢的。在該案例中,您總共支付了800。您可以通過設置不同的交易量獲得更公平的交易價格:如果您按照以下步驟,您將支付更少的費用:

  • 以價格為6的單價購買15枚代幣

  • 以價格為7的單價購買25枚代幣

  • 以價格為9的單價購買5枚代幣

  • 以價格為10的單價購買10枚代幣

如果您選擇以這種方式掛單,則成本為610,不用支付800。

 

場景5:大量賣出

在該示例的開始,我們看到有如下掛單。

深度解析Binance DEX匹配引擎

有以下訂單:

深度解析Binance DEX匹配引擎

您進行大量賣出操作:以單價為6出售80枚代幣。

深度解析Binance DEX匹配引擎

成交價格將以單價為6進行結算。

深度解析Binance DEX匹配引擎

450的成交價格並不理想。如果您按照以下步驟操作,賣出的成交價格將會更合適:

  • 以價格為5的單價賣出10枚代幣

  • 以價格為8的單價賣出40枚代幣

  • 以價格為7的單價賣出10枚代幣

  • 以價格為6的單價賣出20枚代幣

通過這種方式,實際賣出的成交價格為560。 

 

場景6:先到先得,優先匹配

在該示例的開始,我們看到有如下掛單。

深度解析Binance DEX匹配引擎

然後,匹配引擎會優先匹配如下掛單:

  • 以價格為6的單價賣出20枚代幣

  • 以價格為6的單價買入10枚代幣

深度解析Binance DEX匹配引擎

深度解析Binance DEX匹配引擎

由於掛單中已經存在有6個賣出的交易,所以這些交易會優先匹配。

買單完全被填充。

深度解析Binance DEX匹配引擎

掛單中以價格為6的單價賣出15枚代幣的訂單被完全填充。深度解析Binance DEX匹配引擎

數量為10的賣單僅有一半被填充。

深度解析Binance DEX匹配引擎

匹配後的訂單:

深度解析Binance DEX匹配引擎

Loading