0x是基于以太坊的去中心化交易开放协议,它的特点在于:
基于0x,开发者可以很轻松地构建去中心化交易所。相比起中心化交易所,去中心化的交易所有以下特点:
这里请读者注意一点:0x != 去中心化交易所,它只是一个协议,去中心化交易所可以选择0x来完成构建。中心化交易所、去中心化交易所和0x三者之间的对比在这篇文章中以表格的形式呈现出来了。
由上表可知,去中心化交易所和中心化交易所并非不共戴天。恰恰相反,两者完全可以互补:
有经验的读者可能会疑惑,0x似乎与“状态通道”的作用有些类似:双方都将一部分工作转移到链外,最后在链上完成交易。然而,两者之间还是存在区别:
从架构上来讲,0x是一组支撑其运转的智能合约,可被任何应用直接使用,如下图。
根据0x白皮书的介绍,0x协议实现了下图的交互流程:
其中:
整个交互流程:
就买卖双方而言,存在两种流程,并分别对应两类订单:
前者对应买卖双方已经线下达成协议,直接在线上进行实际操作,订单消息中包含有对方的地址;后者则是通过Relayer将订单广播出去,由有意者完成订单。这两种订单消息的主要差异:
其中Relayer的作用主要是用于记录发起方发起的订单,相当于交易大厅,保存了所有的交易订单。但它与中心化交易所的差别在于:仅记录订单,不会代表买卖双方执行交易。这也是其被称为relayer,而非exchange的原因。
前面提到,交易费采用0x发行的ZRX进行交易。它除了作为交易手续费,另一个作用是用于协议治理。期望通过一种经济激励的方式来完成协议的去中心化治理,以保证协议的升级可以兼顾各方利益。这一点可以参见其白皮书中的叙述。
理论上,既然0x是有一组智能合约组成,那么只有知道智能协议的地址和相应的abi之后,其他Dapp就可以直接使用了。这一点的确没错,但出于简化开发的目的,0x项目提供了相应的工具:
使用这些工具,Dapp开发者可以非常快捷的构建基于0x的去中心化交易所。关于0x智能合约和开发细节,在后续的文章中将会详细结束,敬请期待。
觉得有帮助的话,不妨考虑购买付费文章来支持我们 🙂 :
付费文章