去中心化交易所如何运行?三大交易协议对比

963 阅读9分钟

关注三大去中心化交易协议,0x、路印Loopring与kyber。

中心化交易所PK去中心化交易所

有关于未来的交易所形态到底是中心化的(CEX:CentralizedExchange)还是去中心化(DEX:DecentralizedExchange)的论战从2013年的“山寨币时代”就已经络绎不绝了。

  • 安全性问题

最突出的问题。中心化交易平台依然按照传统金融机构的方式运作,需要充值提现,扮演了资金托管的角色,容易被黑客攻击造成资产损失,同时交易平台也可能倒闭或卷款跑路。

  • 交易过程不透明

交易所可以利用信息不对称来操纵价格。交易所内部的挂单和成交,都是用平台的IOU来记录的。IOU:I OWE YOU的简称,类似银行券的存在,其所代表的真正含义,就是用户在平台所实际抵押的法币/数字币数量的实际数量。中心化交易所需要对抗的是人性中的贪婪,交易所虚增IOU和挪用客户保证金参与市场做对赌的行为,将成为交易所的系统性风险。

  • KYC信息

KYC即Know your customer,KYC在追查黑客和不法分子时,KYC预留的信息可以提供很好的帮助,但是大量的交易者是在做合法交易,中心化交易平台通过KYC收集客户信息,也与数字货币匿名性不符。

结合加密货币的去中心化特点,去中心化的交易平台将是今后的趋势。而目前已经有多个去中心化的技术项目,其中比较成熟协议有0X、kyber以及路印(Loopring)。

一去中心化交易所现阶段也存在亟待解决的问题,如流动性问题,大多数的DEX交易量和交易深度不够;版本更新问题,去中心化交易所可能发生的分叉等。

一般来说,未来的趋势是中心化交易所适合少量实时交易,去中心化交易所适合大额安全性高的交易。

下面主要就0x、路印与kyber主要的去中心化协议进行对比。

0x Project

0x是一种开源的去中心交易协议,允许符合ERC20的币种在上面交易,目标是成为以太坊生态上各种DAPP的共享基础设施,为区块链生态提供技术标准规范。

0x官网:0xproject.com/

白皮书定义:

0x is an open protocol for decentralized exchange on the Ethereum blockchain. 0x 是一个基于以太坊的,为去中心化交易所而设计的开源协议。

白皮书地址:0xproject.com/pdfs/0x_whi…

中文版:github.com/exchange-pr…

在0x协议中,交易通过链下传输实现,相较置于主链的线上方案,0x协议可以降低交易成本,消除网络拥堵。每一次发起交易时,任何一个节点都可以称为“中介”,可以传输订单交易并收取一定的费用。

由于0x协议建立在以太坊的分布式网络上,具有去信任的特点,不会像中心化机构那样会因为服务器故障而无法工作,因而消除交易中存在的风险。

0x在技术实现上引入了Relayer的概念,其中任何可以实现0x协议,包括提供链下订单薄服务的做市商、交易所、Dapp等,都可以称为Relayer。更简单的理解,Relayer就是一个特别的中继节点,而基于Relayer的订单薄技术可以是中心化的也可以是非中心化的。

通过0x协议的交易过程大致如下:

1.Relayer设置自身的交易服务费用规则,并对外提供订单簿服务。 2.Maker选定一个Relayer进行挂单创建和填充必要的订单,手续费信息,并用私钥签名。 3.Maker将签名后的订单提交给Relayer。 4.Relayer对订单做必要的检查,并将其更新到自身的订单簿。 5.Takers监看到订单簿的更新,并选中成交订单。 6.Takers对选中的订单进行填充,并广播至区块链完成最后的成交。

Loopring协议

中文白皮书: zh_whitepaper-old.pdf

路印协议和0X协议很相似,王东在分享上也说受到了0X的很多启发。

路印协议中同样有Relayer的概念,并且借鉴了闪电网络的思路,将订单生成、传播、撮合放到区块链之外,可以避免链上交易拥堵,去除区块链对订单表更新维护的性能瓶颈。

对于用户来说,路印协议简化了整个交易的充值提现步骤,使资产丢失的可能性为零。同时订单卖出时代币不必锁定,下单后还可以将代币随时转走。

路印协议引入了环路撮合的概念,传统撮合系统是在两个币种间,即一个交易对的买卖两个方向间完成撮合;而 Loopring 协议将撮合的概念扩展到多币种,通过交易环路来完成多个币种之间交易的撮合。 环路撮合可以大大增加资产的流动性,提高交易确认速度。

1.用户甲、乙、丙分别对 Loopring 撮合智能合约授权,授权后该合约可对用户指定代币账号做不超过一定额度的转出操作。在上面实例中,合约可最多从用户甲的账号转出 1000 个 A 代币,从用户乙账户转出 9个 B 代币,从用户丙账户转出 100 个 C 代币; 2.用户甲、乙、丙分别生成自己的订单,并用私钥对其进行数字签名。订单不再区分买单和卖单,所有订单都被视为交换单 — 甲的订单声明:甲愿意卖出不多于1000 个 A 代币,买到尽可能多但不少于 10 个 B 代币;如果是部分成交,那么 A到 B 的兑换率不得低于 1000/10 = 100.0(卖出代币数量除以买入代币数量)。 3.甲、乙、丙分别将自己的订单通过适当的方式发送到一个或多个交易所; 4.交易所收到上述三个订单,将它们分别放到三个对应的订单表(orderbook)中,并实时通过区块链数据更新计算每个订单的状态,同时不断努力寻找能够撮合的一组订单 — 我们后续称之为交易环路或者撮合环路。一旦确定三个订单的当前状态可以撮合成功,且收益满足预期,即决定实施这个撮合; 5.交易所对撮合交易签名后发送到 Loopring 撮合智能合约地址; 6.撮合智能合约验证四方签名,之后验证三个订单(的最新状态)是否可以真正成交。若无法成交,合约终止(交易所依然要消耗一定的油费);否则智能合约分别计算出甲、乙、丙三方各自需要支出的金额,以及交易所该收取的费用,并且实时将甲、乙、丙账号中的资产进行互转,并完成对交易所的费用支付 — 如下图

所示。在交易过程中,撮合智能合约还会调用 Loopring 注册智能合约(LoopringRegistration Contract)来计算交易所应该给予该笔交易的费用折扣;在交易完成前,还会调用 Loopring 统计智能合约(Loopring Stats Contract)对交易所以及代币相关的统计数据做更新。

7.交易所监听新的区块和链下新的交易数据,并根据这些数据更新订单表,然后不 断进行新的撮合。

KyberNetwork

KyberNetwork是一个数字资产与加密数字货币的即时交易和兑换的链上协议,基于KyberNetwork协议的链上去中心化交易所可为用户提供多种应用,包括构建各种交易API并提供给商家与用户。

白皮书地址:cn.kyber.network/assets/Kybe…

KyberNetwork支持跨链交易,其路线图包含了使用中继技术和类似于Polkadot 和 Cosmos 这样的未来协议,以支持不同加密币种之间的跨链交易。

网络中的参与者共分为 5 种角色:

  1. 在网络中发送和接收代币的用户。 KyberNetwork 的用户包括个人用户、智能合约账户和商家。
  2. 为平台提供流动性的(一个或多个)储备实体。它可以是平台自己的储备库或者由其他者注册的造市第三方储备库。根据是否从公众那里取得贡献,储备库也被分为公共的和私有的两类。
  3. 为储备实体ᨀ供资金并分享平台的利润贡献者。这类参与者只存在于公共储备库中,从公众那里接收贡献来创建储备库。
  4. 维护储备库、决定兑换率并将该比率反馈给 KyberNetwork 的储备管理者。
  5. KyberNetwork 运营者,负责在网络中添加、删除储备实体以及将代币对列入/移出交易列表。Kyber 团队将作为初始运营者引导平台的早期发展。后期将设置去中心化的管理来接替团队的运营者角色。每一位参与者都以不同的方式独立地与智能合约交互。

对比

路印协议可以认为0x协议的升级版,不在主链上交易,避免网络拥堵,路印协议引入了环路撮合的概念,可以大大提高交易确认速度,给交易所提供了套利做市的空间,可以提高生态的参与度。

Kyber的特色是储备库与竞争机制,可以实现去中心化的代币交易与跨链交易。但Kyber比较依赖于以太坊网络,受主链性能约束较多。

目前三大协议的开发基本都完成,应用也逐渐丰富,最新的信息可以关注官网动态。

参考: zh_whitepaper-old.pdf github.com/exchange-pr… cn.kyber.network/assets/Kybe…

关注公众号:架构进化论,获得第一手的技术资讯和原创文章