去中心化交易所的运作机制 — — 安全与效率的权衡

目录:

1. 中心化交易所的运作机制

2. 去中心化交易所早期探索

3. 基于以太坊的去中心化交易所

- 链上orderbook,链上结算

- 基于智能合约管理的资金池模式

- 链下orderbook,链上结算

- P2P模式

4. 管理员权限、成本效益及交易体验比较

5. 去中心化交易所的发展趋势

从2014年日本比特币交易所Mt. Gox被盗开始,我们经历了多次重大的交易所安全事件,包括2016年Bitfinex比特币被盗、2017年Yobit被盗并宣告破产、2018年1月Coincheck交易所NEM被盗、3月币安遭遇黑客危机等等,人们无不担心自己在交易所的资产和交易安全。在这些安全问题频发的情形下,去中心化交易所开始受到关注。去中心化交易所为什么产生?与中心化交易所相比有什么优势?他们的运作机制是怎样的?

要理解去中心化交易所产生的历史必然,让我们先来了解一下币安、火币、Kraken, Coinbase等中心化交易所的运作机制。

1. 中心化交易所的运作机制

中心化交易所的机制较为简单:用户到平台注册账户,获得由平台给予的账户地址,用户往该账户地址里充值数字资产,便可在平台进行交易。平台为用户提供资产交易撮合及清算服务,交易成功后,用户账户中的资产余额发生变化。

中心化交易所的运作机制有以下几个主要问题:

1) 资产安全风险:全过程由平台托管资产。

用户在交易所创建的账户(钱包地址),类似银行给予用户的银行卡账号。“银行”可把用户充值进入平台的资产放入自己的数字资产钱包中保管,用户只是拥有自己在该平台的账户密码,并不能实际掌控自己的资产。一旦平台的钱包受到攻击或者平台自身作恶,用户资产将受到威胁。

2) 资产控制限制:用户无法自由管控自己的资产

用户如果需要将资产从交易所提走,需要在自己的账户中点击提现到个人的钱包地址。但是往往平台会设置规则限制用户的提现,包括限制提现额度、提现时间、设置提现手续费等,影响用户对自己资产的自由掌控。

3) 交易清算不透明:交易清算过程由平台完成,无法在区块链中追溯。

用户在交易平台进行的挂单、吃单操作,以及交易撮合、清算的过程,全部由平台的服务器协助完成,而这个过程跟区块链无交互,交易所可轻易制造虚假交易,进行价格操控。

2. 去中心化交易所早期探索

为了解决中心化交易所机制的弊病,人们开始了在区块链上建立交易系统的早期探索,保证用户的资产不受平台控制,交易清算也能公开透明。包括Bitshares, Stellar, Ripple, Omni为代表的早期去中心化交易平台应运而生。现以Bitshares为例介绍其工作原理:

1) 底层公链完成交易系统搭建

2) 提供网关接口,给予数字资产发行的渠道(在比特股上发行资产需要抵押BTS)

3) 用户下载Bitshare钱包,充值资产

4) 用户在交易所完成交易

以Bitshare为代表的早期去中心化交易所完全建立在区块链上,使得交易过程透明,资产安全也得到保证,但主要有以下2个问题:

1) 交易所搭建在链上,其逻辑已经写死,调整成本较高,而数字资产交易的功能本身是复杂多变的;而且一条公链上只有一个交易所,这样也制约了交易所的多元化发展。

2) 缺少社区支持。由于未能有较好的社区激励机制,加上以太坊、EOS等公链的竞争,使他们失去了社区参与者的拥护。生态中缺少众多有价值的资产,交易所也就无法有效运行。

3. 基于以太坊的去中心化交易所

随着以太坊在智能合约公链竞争中的领先,基于以太坊的去中心化交易所如雨后春笋般蓬勃生长。按照交易撮合的机制可分为以下几类:1. 链上orderbook,链上结算; 2. 基于智能合约管理的资金池; 3.链下orderbook,链上结算; 4. P2P。

(1) 链上orderbook,链上结算

最早的 基于以太坊的去中心化交易所的成功探索非Etherdelta莫属,曾一度占据去中心化交易市场的半壁江山。Etherdelta是较为完全的去中心化模式,用户充值、挂单、吃单、结算及提现全部在链上完成。

具体运行机制如下:

1) Maker和taker将资产充值到智能合约中,用户资产由智能合约管理,合约的管理员不能任意操作用户的资产。

2) Maker下单到区块链。

3) Taker选择希望交易的订单,并发起一笔交易。

4) 智能合约将对maker和taker的需求进行匹配,交易成功后进行链上结算。

Etherdelta的整个运行都在链上完成,用户保管自己的私钥,平台不会触碰用户资产,保证了资产和交易的安全、透明。但其弊病也较为明显:

1) 由于所有的交易环节都在链上完成,且每一个挂单、撤单、吃单等操作都会消耗GAS费用,导致延时高、成本效益低下。

2) 存在矿工非法预先交易的可能。

为了解决完全链上交易的高成本、低效率等问题,人们又探索了资金池模式、链下orderbook模式,以及P2P模式,他们各有利弊。

(2) 基于智能合约管理的资金池模式

最具典型的资金池模式有Bancor和Kyber。所谓资金池,可以理解为平台利用智能合约建立了一个用于储备各类资产的池子,资金池中资产的提供方可以是普通用户或者做市商。

Bancor和Kyber的资金池模式有所差别:

Bancor的运作模式

每一个交易对都有一个称为relay的智能合约,合约根据交易对中资产的数量,计算出一个兑换比例(价格),并自动根据资产数量的增减动态调整。Taker选择交易对,并向其合约中转入相关token,获得其希望的资产。

Bancor的模式优势在于,整个过程无需挂单、匹配、成交上链等复杂操作,成本仅来源于支付转账的gas消耗。但其最大的安全隐患,在于管理员过高的权限:每个智能合约都对应一个管理员地址,该管理员有权限提走智能合约中的资产,势必威胁到用户存入合约中的资产安全,这也是导致之前Bancor遭遇攻击的重要原因。

Kyber的运作模式

Kyber与Bancor的不同在于:Kyber并不对每个交易对创建智能合约,且价格也不是自动计算。Kyber的资产提供方(做市商),将资产存入资金池中,由做市商主动提供报价,用户可以更快捷的获得理想报价并进行资产交易。

Bancor与Kyber的资金池模式对于用户尤其是对于新手来说,是一个非常好的选择:他们可以直接交换到想要的数字资产,无需挂单、吃单。但从功能上说,如果需要更加丰富的交易模式和体验,与传统的交易所对标,具有订单簿(order book)功能的模式仍然是主流。

(3) 链下orderbook,链上结算

0x与Loopring

0x协议引入了relayer(中继)的概念,交易者无需充值,但是需要将ETH转换为符合ERC20标准的WETH,方可进行交易。0x的“链下订单中继、链上最终结算”运作模式如下:

● maker创建订单,并发送给relayer (中继)

● taker在relayer查询到订单,并选择希望交易的订单

● taker发起交易至链上,交易确认。

Loopring在0x的基础上又进行了优化。之前提到的交易撮合都是在两个资产之间,而Loopring可以实现多个资产之间的环路撮合。比如A-B-C-A之间存在资产互换关系,可以直接实现他们的撮合成交,而不需两两之间的多次撮合成交,节省了上链成本,也提高了撮合效率。

0x协议的主要问题在于,如果需要共享订单,运用0x协议的交易所每一笔成交都需要广播出来,以便其他交易所得知和确认,因此单纯地使用0x协议无法实现瞬时成交;另外,由于需要将ETH转化为WETH,也增加了交易成本。而Loopring协议的环路撮合逻辑实现起来较为复杂,目前使用Loopring协议构建的交易所与0x协议相比较少。

IDEX与DEx.top

链下orderbook模式中,另一种广为接受的,就是目前占据以太坊去中心化交易所60%市场的IDEX以及紧随其后的DEx.top。二者在运行机制上非常类似,他们综合了传统去中心化交易所的安全性能以及中心化链下撮合机制的高效性。

● 用户通过私钥签名,充值资产到智能合约中;平台不触碰用户的私钥以及资产,安全性得到保障。

● 用户在交易所进行挂单、吃单操作都通过链下的服务器完成,交易撮合过程与中心化交易所的体验基本一致;未成交的挂单,不会造成gas费用损失,节省了无效订单上链的成本。

● 双账本模式:链下账本将撮合成功的结果与链上账本及时同步,最终实现交易上链。

(4) P2P模式

P2P模式为点对点的资产互换,Airswap即为典型案例。

该机制运作方式如下:

● Maker 向平台发出交易对,请求交易

● Taker 向平台查询有哪些交易对,一旦遇到合适的交易对,便可获取交易对手的信息。

● Maker和Taker商议交换条件(价格)

● Taker 向智能合约提交请求执行交易。

P2P撮合过程在链下完成,交易最终在链上确认。整个过程与两个钱包的相互转账类似,平台不会控制用户的资产,交易过程安全、透明。

该模式的主要问题是灵活性较差:一对一的互换只能让双方按照约定的价格和数量成交;如果一方需要交易更多,无法靠一次交易实现,需要寻找更多合适的交易对手进行多次交易。

4. 管理员权限、成本效益及交易体验比较

从前文的介绍可以看出,包括Bancor, Kyber, 0x, IDEX, DEx.top在内的几个典型的交易所,或多或少会有管理员参与到交易过程之中,履行上/下币、资金池管理、交易上链等职责。如果管理员权限过高,将对用户资产和交易安全造成威胁;而如果没有管理员的参与,也会降低交易所的运作效率,影响交易体验。此外,交易所在限制管理员权限和提高交易体验的基础上,还需要考虑成本控制。

下表对目前的几个主流的去中心化交易所的管理员权限的限制情况、成本效益及交易体验进行了比较:

最早的完全去中心化交易所Etherdelta管理员对交易的干扰最少,但完全上链的机制使得成本消耗高且交易体验较差。之后的几类去中心化交易所可谓都是在鱼和熊掌之间权衡取舍:Bancor和kyber为代表的储备池模式,交易所管理员在整个过程中参与度较高,如果储备池合约中管理员权限较高比如之前Bancor可以提走用户资产,将会对用户的资金安全造成威胁;二者上链过程比较简单,成本控制表现不错,交易效率也比较高,只是功能性与有orderbook的交易所相比略逊一筹。0x和Loopring的中继模式,平台不触碰用户资产,相对而言去中心化程度是较高的,但这也导致成本效益相对较低;交易体验整体不错,但如果需要共享订单,就无法实现瞬时成交。IDEX及DEx.top,把撮合的过程中心化处理,节省了开销,交易体验也较好;合约层面需要严格限制管理员权限,方可确保较好的去中心化水平(参考DEx.top做出的努力:《去中心化交易所首先要保证设计安全》https://www.jinse.com/lives/39286.htm);Airswap是点对点的交易,管理员权限较少,成本效益也相对不错,但是产品功能设计上相对比较简单。

5. 去中心化交易所的发展趋势

从去中心化交易所历史的发展可以看出,由于现有公链基础性能的限制,为了提高交易效率,链下撮合、链上确认成为趋势。然而这也使得中心化的力量参与到交易所运行中,对安全性产生了威胁。因此,严格地限制去中心化交易所管理员的权限就成为了重点。

此外,交易上链需要花费GAS费用,在合约和机制设计上节省开销,是去中心化交易所实现持续运营的关键。

长远来说,随着底层公链的性能不断提高,以及侧链技术解决方案的突破,去中心化交易所的运作效率也将向中心化交易所靠近,我们共同期待一个高效、安全、逐步完善的去中心化的世界。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章