分散交易所DEX集中交换的结构和特征
扫描二维码
随时随地手机看文章
首先从基本开始讲述,例如 DEX(分散交易所),首先称为资产交换协议,与集中交易所相比的优势。
管理资产
许多人认为他们自己的加密货币钱包仅仅是用于存储资金的真实钱包的数字版本。
然而,实际上,加密货币不存储在钱包中。 相反,钱包有一对公钥和私钥,可以访问他的 数字库存。 简而言之,公钥是一个字母数字字符串,用作其他用户可用于发送加密货币的 地址。 此外,对于比特币和以太币等加密货币,只有知道与该地址相关联的密钥的人才有 权自由地将该地址的余额发送到另一个地址。 因此,由于组成“知道秘密密钥的人=地址的 管理者”,所以地址持有者需要密切关注秘密密钥的管理。 汇款以及发件人和收件人钱包 之间的差异仅记录在区块链的分类帐中。 当然,使用单词 wallet,好像加密货币本身就包 含在内,它使用户更容易直观地理解,它也改善了用户体验,因此它本身没有任何问题, 但基本上需要知道它管理一对私钥和公钥。
集中交换的结构
集中交换是允许交易者使用合法货币或其他加密货币交易加密货币的平台或应用程序。 在 这样的普通交易所,我们像以前一样为每个用户分配地址并管理资产。 希望交易的用户将 首先将加密货币转移到该地址(如果以合法货币购买,则省略)。 因此,交换机管理加密 货币及其发送到交易所的密钥。 此外,用户发布的交易订单在交易所内的唯一数据库中匹 配。 当然,它们不会记录在区块链中。 下订单时,交易所的结构可以实时检查买单和卖单。 这里重要的是用户在进行这种令牌交换时没有加密货币的密钥。 换句话说,就像银行一样, 用户必须信任交易所来存储和管理自己的余额。
当然,有一些保证以集中方式存储用户的加密资产,但存在与此相关的基本风险。 此外, 虽然集中交易对用户资金负有法律责任,但它往往容易受到黑客攻击。
作为公共区块链的概念之一有一个叫做 无信任 的词,但在集中交换和用户之间,不可能 实现基本的无信任状态。
DEX 为何物
另一方面,在DEX中,用户自己管理秘密密钥。 虽然这种机制乍一看似乎很普遍,但如上 所述,它与集中交换的情况大不相同。 此外,由于它在交换资产时在智能合约上执行,可 以说它是一种无信任的机制(但是,考虑到 UX,有必要在离线链上执行订单匹配等,所以 在某种程度上 DEX 服务端我必须相信)。
此外,如 0x 协议所示,任何人都可以通过使用相同的协议构建 DEX 网络。 实际上,使用 0x 协议的 DEX 包括 Paradex, Radar Relay等。
总之,事实证明有以下特征。
用户自己管理私钥。
管理智能合约的集中管理
任何人都可以建立网络
DEX 的必要性
让我们考虑一下为什么需要 DEX 而不是从多个角度进行集中交流。
隐私
分布式交换的主要好处之一是强调隐私和匿名性。 分布式交换不需要除用户名, 密码和加密钱包之外的任何内容来开始交易。
能够在不经过 KYC 的情况下注册和开始交易对于那些想要匿名的人以及能够快速存款,交 易和提取资金的人来说很有吸引力。
然而,在 2018 年 11 月, EtherDelta 被美国证券交易委员会罚款,并且还有一些地方 在 DEX 之间采取了 KYC。
安全
根据分散交换的类型,安全性往往比集中交换更加强大,因为黑客没有集中的热钱 来瞄准和窃取所有用户的资金。
由于 DEX 为每个订单执行分布式结算,这可以最大限度地减少黑客可以利用的潜在攻击路 径,在某些情况下,可以说攻击成功的可能性是非常的小。
当自己交易时,你可以保持对自己资金(由合同持有)的完全保管,这些资金位于托管中, 而 DEX 可以为用户提供对于资金的安全感。
即使 DEX 停止运行,用户也可以在托管交易 到期后收回自己的资金。
操作的可能性很低
它审查了对集中实体或政府当局的容忍度。 这最小化了第三方操作的可能性,而 订单本身不维护和执行交易。
在过去,一些交易所已经产生了废物交易量,减少了重要交易中的废物存款和取款,或者 有些集中式交易所被职责进行了清洗交易以操纵交易订单和代币价格。
由于没有用于分布式交换的托管订单,这意味着这种操作行为发生的可能性较小。
DEX 的问题
另一方面,作为 DEX 的问题,可以提到以下几点。
速度
分布式交易所使用智能合约在链上运营,因此与集中式脱链交易平台相比,实施协 议和执行交易订单可能需要更长时间。 存款和取款确认也是如此。 当流量很大时, 当区块链网络发生拥塞时,托管,兑现或交易执行变得不可能及时,因此 DEX 无 法有效使用。
UX
在诸如存款和取款定时之类的链上支持的情况下,必须等到交易节点存储在区块中 并且网络节点确认它。 因此,与集中式交换相比,它通常是耗时的。 此外,尽管 Web 上的大多数在线服务都有客户服务,但在 DEX 的情况下,当出现问题时,很 难对每个用户做出适当的响应。(用户的信息保存在 DEX 端)因为它不是)。 因 此,可以说从可用性的观点来看存在的问题是,如果不是熟悉加密货币或区块链的 人,则难以在某种程度上掌握它。
只能交换加密货币
虽然由于 DEX 的性质而无法提供帮助,但是不可能交换不是由具有智能合约的区 块链管理的法定货币和加密货币。
DEX 的类型
即使你用 DEX 一句话说,那里有各种各样的机制。 首先,让我们看一下符合 ERC 20 令牌 规范的令牌交换协议。 Etherscan 的数据如下(2019/1/31)。
其中,以下列为相对着名的 DEX。
执行匹配板之间的交换
管理订单链
· Etherdelta
管理离线订单
· 0x
· idex
交换由水库和订购方执行
交换比率由公式定义
· bancor
汇率由实际汇率确定
· kyberNetwork
同时, 还有 一些 DEX 允许交易 ERC 721 令牌,如 CryptoKitties, OpenSea等等。
DEX 的机制
由于很难看到前面提到的所有DEX合约,我们 将基于 相对简单的 EtherDelta 合约来解 释 DEX 的机制。
合同继承关系如图所示。
分布式交换机 DEX 的特征如下。
ETH,ERC 20 令牌可以交换
在合同上执行交易、订单、存款等
AccountLevels 合同
用于对 DEX 用户进行排名的功能。
它分为regular user, silver user, gold user,regular user按照订单或制造商的订单收费。 在silver user的情况下,虽然收取费用,但在限价的情况下,不收取费用,并且支付部分费用作为 回扣(回扣费用的设定由管理员完成)。 在gold user的情况下,虽然收取费用,但在限价 的情况下,没有费用,并且可以获得发出订单的合作伙伴的所有费用被退款。
在 AccountLevel 确定回扣费用由 EtherDelta 合约的交易价格 功能执行。
EtherDelta 合同
作为Constructor,在部署期间,admin, feeAccount, accountLevelsAddr, feeMake, feeTake, feeRebate 六个将作为 EtherDelta 的函数。
只有拥有管理员帐户的人才能更改以上六项。
存取款事件
在令牌[]数组中,存储每个 ERC 20 令牌的合同地址。 顺便说一句,ETH 对应于令牌[0]。
订购和取消活动
订购活动并不是特别困难。 在匹配条件的交易对手以指定的块高度出现之前,它是有效的。
取消活动
在取消事件中, ecrecover (hash,v,r,s)从签名和原始哈希数据中查找公钥,并输 入是否与地址匹配的验证。
交易流程
让我们看一下从订单实际进入到交易完成的流程。
让我们考虑交换令牌a和令牌B的情况(用户令牌a被设置为 Get 并且令牌B被计量)。
由于财富总量不会改变, 你可以看到价值如何在三个user/msg.sender/dex之间转移。
①首先,user确定要交换令牌α和令牌β(用户是制造商)的数量。
②接下来, msg.sender通过同意user决定的条件 在 用户和msg.sender 之间 进行 交易。
③最后,DEX 方面的预定账户将发送接受者和制造商的费用减去返款的总额。
正如你所看到的,使用 EtherDelta 合约基本上你知道你从订单到交换合同,但与其他 DEX,你可以关闭订单匹配,设置 reserver 等。
DEX 的未来
目前有各种各样的 Dapps,但重要的是你可以在彼此的 Dapps 内自由交换资产 。 当然, 所有当前的应用程序在用户体验方面并不优越,因此与现有应用程序相比仍然存在许多问 题,但随着我们未来改进可伸缩性问题 ,用户体验改进,用户数量增加预计。 当时,如 果 Dapps 之间的令牌交换以及 Dapps 之间的资产交换能过顺利的进行它将成为以全新的 公认区块链的使用案例。