分散交易所DEX集中交換的結(jié)構(gòu)和特征
首先從基本開始講述,例如 DEX(分散交易所),首先稱為資產(chǎn)交換協(xié)議,與集中交易所相比的優(yōu)勢。
管理資產(chǎn)
許多人認為他們自己的加密貨幣錢包僅僅是用于存儲資金的真實錢包的數(shù)字版本。
然而,實際上,加密貨幣不存儲在錢包中。 相反,錢包有一對公鑰和私鑰,可以訪問他的 數(shù)字庫存。 簡而言之,公鑰是一個字母數(shù)字字符串,用作其他用戶可用于發(fā)送加密貨幣的 地址。 此外,對于比特幣和以太幣等加密貨幣,只有知道與該地址相關(guān)聯(lián)的密鑰的人才有 權(quán)自由地將該地址的余額發(fā)送到另一個地址。 因此,由于組成“知道秘密密鑰的人=地址的 管理者”,所以地址持有者需要密切關(guān)注秘密密鑰的管理。 匯款以及發(fā)件人和收件人錢包 之間的差異僅記錄在區(qū)塊鏈的分類帳中。 當(dāng)然,使用單詞 wallet,好像加密貨幣本身就包 含在內(nèi),它使用戶更容易直觀地理解,它也改善了用戶體驗,因此它本身沒有任何問題, 但基本上需要知道它管理一對私鑰和公鑰。
集中交換的結(jié)構(gòu)
集中交換是允許交易者使用合法貨幣或其他加密貨幣交易加密貨幣的平臺或應(yīng)用程序。 在 這樣的普通交易所,我們像以前一樣為每個用戶分配地址并管理資產(chǎn)。 希望交易的用戶將 首先將加密貨幣轉(zhuǎn)移到該地址(如果以合法貨幣購買,則省略)。 因此,交換機管理加密 貨幣及其發(fā)送到交易所的密鑰。 此外,用戶發(fā)布的交易訂單在交易所內(nèi)的唯一數(shù)據(jù)庫中匹 配。 當(dāng)然,它們不會記錄在區(qū)塊鏈中。 下訂單時,交易所的結(jié)構(gòu)可以實時檢查買單和賣單。 這里重要的是用戶在進行這種令牌交換時沒有加密貨幣的密鑰。 換句話說,就像銀行一樣, 用戶必須信任交易所來存儲和管理自己的余額。
當(dāng)然,有一些保證以集中方式存儲用戶的加密資產(chǎn),但存在與此相關(guān)的基本風(fēng)險。 此外, 雖然集中交易對用戶資金負有法律責(zé)任,但它往往容易受到黑客攻擊。
作為公共區(qū)塊鏈的概念之一有一個叫做 無信任 的詞,但在集中交換和用戶之間,不可能 實現(xiàn)基本的無信任狀態(tài)。
DEX 為何物
另一方面,在DEX中,用戶自己管理秘密密鑰。 雖然這種機制乍一看似乎很普遍,但如上 所述,它與集中交換的情況大不相同。 此外,由于它在交換資產(chǎn)時在智能合約上執(zhí)行,可 以說它是一種無信任的機制(但是,考慮到 UX,有必要在離線鏈上執(zhí)行訂單匹配等,所以 在某種程度上 DEX 服務(wù)端我必須相信)。
此外,如 0x 協(xié)議所示,任何人都可以通過使用相同的協(xié)議構(gòu)建 DEX 網(wǎng)絡(luò)。 實際上,使用 0x 協(xié)議的 DEX 包括 Paradex, Radar Relay等。
總之,事實證明有以下特征。
用戶自己管理私鑰。
管理智能合約的集中管理
任何人都可以建立網(wǎng)絡(luò)
DEX 的必要性
讓我們考慮一下為什么需要 DEX 而不是從多個角度進行集中交流。
隱私
分布式交換的主要好處之一是強調(diào)隱私和匿名性。 分布式交換不需要除用戶名, 密碼和加密錢包之外的任何內(nèi)容來開始交易。
能夠在不經(jīng)過 KYC 的情況下注冊和開始交易對于那些想要匿名的人以及能夠快速存款,交 易和提取資金的人來說很有吸引力。
然而,在 2018 年 11 月, EtherDelta 被美國證券交易委員會罰款,并且還有一些地方 在 DEX 之間采取了 KYC。
安全
根據(jù)分散交換的類型,安全性往往比集中交換更加強大,因為黑客沒有集中的熱錢 來瞄準和竊取所有用戶的資金。
由于 DEX 為每個訂單執(zhí)行分布式結(jié)算,這可以最大限度地減少黑客可以利用的潛在攻擊路 徑,在某些情況下,可以說攻擊成功的可能性是非常的小。
當(dāng)自己交易時,你可以保持對自己資金(由合同持有)的完全保管,這些資金位于托管中, 而 DEX 可以為用戶提供對于資金的安全感。
即使 DEX 停止運行,用戶也可以在托管交易 到期后收回自己的資金。
操作的可能性很低
它審查了對集中實體或政府當(dāng)局的容忍度。 這最小化了第三方操作的可能性,而 訂單本身不維護和執(zhí)行交易。
在過去,一些交易所已經(jīng)產(chǎn)生了廢物交易量,減少了重要交易中的廢物存款和取款,或者 有些集中式交易所被職責(zé)進行了清洗交易以操縱交易訂單和代幣價格。
由于沒有用于分布式交換的托管訂單,這意味著這種操作行為發(fā)生的可能性較小。
DEX 的問題
另一方面,作為 DEX 的問題,可以提到以下幾點。
速度
分布式交易所使用智能合約在鏈上運營,因此與集中式脫鏈交易平臺相比,實施協(xié) 議和執(zhí)行交易訂單可能需要更長時間。 存款和取款確認也是如此。 當(dāng)流量很大時, 當(dāng)區(qū)塊鏈網(wǎng)絡(luò)發(fā)生擁塞時,托管,兌現(xiàn)或交易執(zhí)行變得不可能及時,因此 DEX 無 法有效使用。
UX
在諸如存款和取款定時之類的鏈上支持的情況下,必須等到交易節(jié)點存儲在區(qū)塊中 并且網(wǎng)絡(luò)節(jié)點確認它。 因此,與集中式交換相比,它通常是耗時的。 此外,盡管 Web 上的大多數(shù)在線服務(wù)都有客戶服務(wù),但在 DEX 的情況下,當(dāng)出現(xiàn)問題時,很 難對每個用戶做出適當(dāng)?shù)捻憫?yīng)。(用戶的信息保存在 DEX 端)因為它不是)。 因 此,可以說從可用性的觀點來看存在的問題是,如果不是熟悉加密貨幣或區(qū)塊鏈的 人,則難以在某種程度上掌握它。
只能交換加密貨幣
雖然由于 DEX 的性質(zhì)而無法提供幫助,但是不可能交換不是由具有智能合約的區(qū) 塊鏈管理的法定貨幣和加密貨幣。
DEX 的類型
即使你用 DEX 一句話說,那里有各種各樣的機制。 首先,讓我們看一下符合 ERC 20 令牌 規(guī)范的令牌交換協(xié)議。 Etherscan 的數(shù)據(jù)如下(2019/1/31)。
其中,以下列為相對著名的 DEX。
執(zhí)行匹配板之間的交換
管理訂單鏈
· Etherdelta
管理離線訂單
· 0x
· idex
交換由水庫和訂購方執(zhí)行
交換比率由公式定義
· bancor
匯率由實際匯率確定
· kyberNetwork
同時, 還有 一些 DEX 允許交易 ERC 721 令牌,如 CryptoKitties, OpenSea等等。
DEX 的機制
由于很難看到前面提到的所有DEX合約,我們 將基于 相對簡單的 EtherDelta 合約來解 釋 DEX 的機制。
合同繼承關(guān)系如圖所示。
分布式交換機 DEX 的特征如下。
ETH,ERC 20 令牌可以交換
在合同上執(zhí)行交易、訂單、存款等
AccountLevels 合同
用于對 DEX 用戶進行排名的功能。
它分為regular user, silver user, gold user,regular user按照訂單或制造商的訂單收費。 在silver user的情況下,雖然收取費用,但在限價的情況下,不收取費用,并且支付部分費用作為 回扣(回扣費用的設(shè)定由管理員完成)。 在gold user的情況下,雖然收取費用,但在限價 的情況下,沒有費用,并且可以獲得發(fā)出訂單的合作伙伴的所有費用被退款。
在 AccountLevel 確定回扣費用由 EtherDelta 合約的交易價格 功能執(zhí)行。
EtherDelta 合同
作為Constructor,在部署期間,admin, feeAccount, accountLevelsAddr, feeMake, feeTake, feeRebate 六個將作為 EtherDelta 的函數(shù)。
只有擁有管理員帳戶的人才能更改以上六項。
存取款事件
在令牌[]數(shù)組中,存儲每個 ERC 20 令牌的合同地址。 順便說一句,ETH 對應(yīng)于令牌[0]。
訂購和取消活動
訂購活動并不是特別困難。 在匹配條件的交易對手以指定的塊高度出現(xiàn)之前,它是有效的。
取消活動
在取消事件中, ecrecover (hash,v,r,s)從簽名和原始哈希數(shù)據(jù)中查找公鑰,并輸 入是否與地址匹配的驗證。
交易流程
讓我們看一下從訂單實際進入到交易完成的流程。
讓我們考慮交換令牌a和令牌B的情況(用戶令牌a被設(shè)置為 Get 并且令牌B被計量)。
由于財富總量不會改變, 你可以看到價值如何在三個user/msg.sender/dex之間轉(zhuǎn)移。
①首先,user確定要交換令牌α和令牌β(用戶是制造商)的數(shù)量。
②接下來, msg.sender通過同意user決定的條件 在 用戶和msg.sender 之間 進行 交易。
③最后,DEX 方面的預(yù)定賬戶將發(fā)送接受者和制造商的費用減去返款的總額。
正如你所看到的,使用 EtherDelta 合約基本上你知道你從訂單到交換合同,但與其他 DEX,你可以關(guān)閉訂單匹配,設(shè)置 reserver 等。
DEX 的未來
目前有各種各樣的 Dapps,但重要的是你可以在彼此的 Dapps 內(nèi)自由交換資產(chǎn) 。 當(dāng)然, 所有當(dāng)前的應(yīng)用程序在用戶體驗方面并不優(yōu)越,因此與現(xiàn)有應(yīng)用程序相比仍然存在許多問 題,但隨著我們未來改進可伸縮性問題 ,用戶體驗改進,用戶數(shù)量增加預(yù)計。 當(dāng)時,如 果 Dapps 之間的令牌交換以及 Dapps 之間的資產(chǎn)交換能過順利的進行它將成為以全新的 公認區(qū)塊鏈的使用案例。