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