dYdX 不仅是架设在二层网络上,而是使用 Starkware 项目方开发的 StarkEx 作为 V2 永续合约产品的交易引擎。 StarkEx:一种可扩展性引擎,由多个组件组成。 组件:包括 StarkEx Service (Stark 交易服务)、SHARP、Stark Verifier (Stark 验证器)和 Stark Contract (Stark 合约)等。 注意,这里面只有 Stark Contract 是链上组件,其他在链下。 图 2-6 StarkEx 组件和流程示意图 原理:首先,dApp 定义自己的业务逻辑(比如 dYdX 的永续合约逻辑),并在 StarkEx Service 上运行。用户发出交互指令后,StarkEx Service 将用户的交易打包,并将这个包发送到 SHARP 组件上;SHARP 负责生成一个证明,然后将证明发送到 Stark Verifier 进行验证;如果 Stark 验证器验证证明为有效的,则由 Stark 验证器向链上(以太坊主网)发送状态更新交易到 Stark 合约上。 通过以上组件,dYdX V2 实现了去中心化订单簿式的永续合约、去中心化资产托管、交易顺滑、交易中不必多次签名等优点。 限价单(实现方式):限价单是由用户签名授权 dYdX 在 Stark Service 上进行撮合,因此这一过程在链下,同样由 StarkEx 引擎来决定其安全性。 保证金交易、现货交易、借贷 这三个产品本质上都采用了如下的「现货杠杆交易」逻辑,在 dYdX 主页上这几个产品也都被归入了「杠杆交易」类别中。 杠杆交易逻辑:交易者借入一项资产,然后交易(买 / 卖)成另一项资产,同时开始计息,这是开仓。平仓时则卖出头寸,并将借入的资产连同利息一并归还给贷方(债主)。卖空(杠杆做空)和杠杆做多都是以上过程。 dYdX 保证金交易由三个合约实现,分别是:保证金合约,代理合约和保险库合约。
|