区块链资产交易所路印协议将彻底解决中心化交易所模式的固有风险
扫描二维码
随时随地手机看文章
什么是路印协议Loopring?
路印协议Loopring是新一代区块链资产交易协议和交易所。它采用去中心化技术,提供零风险的代币交易所模式,并允许多家交易所通过竞争,对同样的订单进行链外撮合及链上清结算。Loopring将彻底解决现有中心化交易所模式的一些固有风险。
协议设计
图 1: Loopring 协议:图中示例一个三边交易的撮合
我们用上图中的三边交易,简要讲解下采用 Loopring 协议的撮合交易过程。该过 程如下:
1. 用户甲、乙、丙分别对 Loopring 撮合智能合约(Loopring Matching Contract)授 权,授权后该合约可对用户指定代币账号做不超过一定额度的转出操作1。在上面 实例中,合约可最多从用户甲的账号转出 1000 个 A 代币,从用户乙账户转出 9 个 B 代币,从用户丙账户转出 100 个 C 代币;
2. 用户甲、乙、丙分别生成自己的订单,并用私钥对其进行数字签名。订单不再区 分买单和卖单,所有订单都被视为交换单 — 甲的订单声明:甲愿意卖出不多于 1000 个 A 代币,买到尽可能多但不少于 10 个 B 代币;如果是部分成交,那么 A 到 B 的兑换率不得低于 1000/10 = 100.0(卖出代币数量除以买入代币数量)。订 单中还可以包含其它参数,我们在章节 3.7中会对订单参数进行说明;
3. 甲、乙、丙分别将自己的订单通过适当的方式发送到一个或多个交易所;
4. 交易所收到上述三个订单,将它们分别放到三个对应的订单表(orderbook)中,并 实时通过区块链数据更新计算每个订单的状态,同时不断努力寻找能够撮合的一 组订单 — 我们后续称之为交易环路或者撮合环路。一旦确定三个订单的当前状态 可以撮合成功,且收益满足预期,即决定实施这个撮合;
5. 交易所对撮合交易签名后发送到 Loopring 撮合智能合约地址;
6. 撮合智能合约验证四方签名,之后验证三个订单(的最新状态)是否可以真正成 交。若无法成交,合约终止(交易所依然要消耗一定的油费);否则智能合约分别 计算出甲、乙、丙三方各自需要支出的金额,以及交易所该收取的费用,并且实 时将甲、乙、丙账号中的资产进行互转,并完成对交易所的费用支付 — 如下图 所示。在交易过程中,撮合智能合约还会调用 Loopring 注册智能合约(Loopring Registration Contract)来计算交易所应该给予该笔交易的费用折扣;在交易完成 前,还会调用 Loopring 统计智能合约(Loopring Stats Contract)对交易所以及 代币相关的统计数据做更新。
图 2: Loopring 协议:交易环路结算
7. 交易所监听新的区块和链下新的交易数据,并根据这些数据更新订单表,然后不 断进行新的撮合。
智能合约
Loopring 协议协议可能包含多个智能合约,包括但不限于:
撮合合约负责计算并确认交易环路中每个订单的状态,计算成交金额和成交量,对 交易进行清算转账。该合约还会与其它合约交互,是 Loopring 协议的入口合约;
订单合约负责更新订单状态以及对取消订单提供支持;
交易所注册合约负责维护和更新一系列支持 Loopring 协议的交易所,为交易所代 币抵押和预设参数默认值提供支持;
统计合约计算任何两个币种之间的成交量,成交价,以及不同交易所的贡献度等 指标,以及这些指标的某些滑动平均值。这些指标是订单发起者授权撮合的重要 参考依据,同时也可以作为某些预测市场的输入,并且为以后可能的协议拓展(比 如对条件单的支持)提供输入(Oracle)。
这里,不排除将上述合约进一步拆解或合并的可能。同时值得指出:Loopring 协议 中的智能合约是完全开放的,这意味着它们可以被任何的 dApp 直接或者间接调用。因 此整个协议即使一个完善的整体,又是个开放的,单独可用的组件的集合。
Loopring 协议适用于任何支持类 ERC20 代币发行机制和智能合约的区块链平台。 我们将选择以太坊和 EOS 部署第一个版本的 Loopring 协议。具体研发计划详见附录。 我们会继续深入研究 Loopring 协议的细节,完善概念证明的开发;同时我们将筹 建非营利性的 Loopring 基金会,通过基金会在开源社区进行众筹和代币发行。