专栏观察

OKChain研究报告:安全、高效的DeFi孵化公链

一、OKChain介绍2

1.1 OKChain简介2

1.2 Cosmos的架构2

1.2.1 Tendermint3

1.2.1跨链机制3

1.3OKChain Token情况4

1.3.1 OKT的发行机制4

1.3.2 OKT的功能5

二、OKChain的运转过程和生态角色6

2.1出块过程6

2.2投票设计7

2.2.1投票权重7

2.2.2代理人8

2.3 OKChain节点要求8

2.3.1抵押Token要求9

2.3.2 硬件要求9

2.3.3软件要求11

2.4节点奖励和惩罚规则11

2.4.1节点奖励和分配规则11

2.4.2节点的惩罚规则12

2.5链上治理12

三、OKChain-OpenDEX13

3.1中心化交易所与去中心化交易所13

3.1.1中心化交易所13

3.1.2去中心化交易所14

3.1.3OKChain和OKEx相辅相成15

3.2 OpenDEX15

3.2.1链上订单簿模式16

3.2.2集合竞价撮合模型16

3.2.3 OpenDEX的优势16

四、结语18

一、OKChain介绍

1.1 OKChain简介

OKChain是OKEx开发的一组开源区块链应用公链,以建立安全、高效的DeFi基础设施为目标,打造社区化运营、交易规则透明以及用户资产由自己控制的去中心化交易平台(DEX)。

我们知道,跨链技术是区块链世界实现资产、数据交互的关键环节,它是DeFi的技术基础。所谓跨链,就是要实现不同区块链平台之间的资产流转、信息互通、应用协同,它类似于不同公链之间的桥梁,实现不同区块链网络间的数据传输,并极大降低传输成本。通过跨链模块,可以简单有效地实现区块链的价值互联,用户互联和场景应用互联,从而共同构建生态系统和增值系统。

因此,OKChain是基于Cosmos的Tendermint机制以及Cosmos SDK进行构建的。Cosmos提出了一种跨链交互协议IBC(Inter-Blockchain Communication protocol), 结合Tendermint共识算法的即时确定性,可以实现区块链之间的价值传输,未来它还将支持异构跨链方式以解决价值的多向流通难题。

1.2 Cosmos的架构

Cosmos是由很多独立、平行运行的区块链所组成的网络,各条区块链之间通过节点来实现连接。其共识层都使用 Tendermint——一个支持拜占庭容错 (BFT) 的高效共识引擎,具有高性能、一致性等特点。Cosmos网络主要由两部分组成:Hub (枢纽)和若干个Zone (分区)。每个Zone和Hub 都是独立的区块链,且它们都有自己独立的状态共识。Zone 是解决特定应用需求的区块链,Hub专注于处理Zone间的跨链交易。Hub(枢纽)起到了一种类似中央银行结算功能的作用,不同的Zone可以通过跨链通信 IBC 协议与共享的Hub实现互通信与互操作,完成跨链价值转移。

(Cosmos结构图,图片来源于网络)

Cosmos有提出这样的区块链蓝图:区块链开发简便,互通互联。其中实现区块链开发简便的关键在于Tendermint共识算法,而实现区块链间的互通互联的关键则在于它的跨链机制。

1.2.1 Tendermint

Tendermint 包含了两个主要的技术组件:一个区块链共识引擎Tendermint Core和一个通用的应用程序接口ABCI。Tendermint Core,负责节点之间数据传输以及拜占庭共识,采用 BFT 与 DPoS 相结合的共识算法,可以实现出块的最终确定性(最终确定性指交易已经被写入区块并添加到区块链上,不能被逆转或篡改),保证了每个节点以相同的顺序记录同一笔交易,实现交易的极速确认和高吞吐量。总体来看,Tendermint Core负责区块链的网络和共识层,支持开发者个性化定制自己的区块链,而不需要考虑共识以及网络传输的实现。

ABCI是区块链应用程序接口,也是一个协议,支持任何编程语言的交易处理实现。在Cosmos框架的基础上开发一条区块链,开发人员唯一要做的事情,就是编写符合ABCI接口的应用程序。

为了进一步方便用户进行区块链开发,Cosmos在Tendermint Core以及ABCI的基础上,提供了Cosmos SDK工具,可以把区块链中的一些通用模块标准化。Cosmos SDK可以称作Cosmos的“造链工具”,它允许开发人员使用简单的模块化方法在网络上设计自己的区块链,如添加治理、staking质押等模块,通过这个协议生成的区块链天然可以互通,区块链项目的开发变得十分简便。

1.2.1跨链机制

根据所跨越的区块链底层技术平台的不同可以分为同构链跨链和异构链跨链:同构跨链指的是底层具有相同结构(加密算法,地址和账户算法规则相同等特性)的区块链之间的交互,比如交易以太坊系Token。同构跨链目前在很多项目中已经运行得比较成熟,但是同构跨链解决不了与那些共识最大的主流资产之间交互,例如BTC、ETH和USDT等。

而异构跨链指的是具有不同链式结构区块链之间的通过跨链完成价值锁定和价值交换,它可以解决价值的多向流通难题。Cosmos采用的是基于中继链的多链多层架构,将会支持跨链资产交互。

为了支持平行链之间的跨链互操作,Cosmos提出了一种跨链交互协议IBC,并利用Tendermint共识算法的即时最终确定性实现多个异构链之间的价值和数据传输。所有的平行链都通过IBC连接到Hub,Hub就是中继链,辅助跨链交易的验证和转移。

具体来看:Hub 帮助 Zone 同步记录其它每一个 Zone 的状态,而 Hub 是通过记录其它Zone 的区块头实现这一功能的。当Zone1向Zone2发出跨链消息时,Zone1会将它的所有信息打包到它的区块头中。Hub等待Zone1就包含该信息的区块达成共识后,会将Zone1的区块头打包到新的区块中。Hub完成区块共识后,Zone 2会接收到Hub广播的包含Zone1区块头的验证信息。在此之后,Zone 2 必须验证关于 Zone 1 的证明是否真实,如果真实,它就开始执行相关操作,并将执行完成的区块信息发送给Hub。

(IBC跨链消息传递,图片来源于OKEx投研)

我们以OKChain到Cosmos转账10 OKT为例说明使用IBC的跨链交互:

1. 如果OKChain要和Cosmos进行跨链交易,那么OKChain和Cosmos链需要分别运行对方区块链的轻节点服务,这样可以实时接收到对方的区块头信息,方便后续执行类SPV(简单支付验证,SPV节点会通过请求merkle路径证明以及验证区块链中的工作量证明,来证实交易的存在性)验证;

2. OKChain链上初始化IBC协议,冻结相关资产10 OKT, 并生成相应的证明发送给Cosmos Hub区块链;

3. Cosmos Hub链接收到相应的IBC消息,通过OKChain链的区块头信息确定OKChain确实进行相应的资产冻结,然后Cosmos链会生成等价值10 OKT的资产;

4. 实现了OKChain到Cosmos转账10 OKT。

1.3OKChain Token情况

OKChain主网上线发行基础通证OKT,并将创世块Token 100%按照OKB的持仓比例映射给OKB持有者。OKT是OKChain生态的价值载体,其价值支撑是OKChain之上的应用DEX、DeFi等发展的情况。

1.3.1 OKT的发行机制

OKT发行机制为创世块和每年增发。其中创世块发行3亿枚;增发部分设定为每年增发1%,会按比例平均增发到每个区块中。

1.3.2 OKT的功能

1)使用系统资源

当一个程序需要跑在OKChain网络上时,OKChain需要为它分配足够的计算、存储、带宽等网络资源,OKChain采取了以太坊资源使用计费的模式,网络上的交易需要支付交易费才能进行处理。具体的计价是这样的,一个交易执行的费用=ceil(Gas x Gas Price)。Gas Price是指运行者愿意给每一个Gas付多少钱,以OKT计价。

2)抵押

节点申请成为验证节点和代理节点时都需要抵押一定量的OKT,避免作恶;大家参与链上治理提交提案时需要抵押OKT,以防止恶意发起提议;而在订单交易中,挂单时也需要抵押OKT。

3)业务手续费

持有一定数量OKT的用户,可以在OKChain网络中发行新的Token。通过数字资产交易对申请提案和激活后,新发行的Token就可以在OpenDEX上进行自由交易。发行Token,数字资产交易对的激活、增发、销毁操作都需要支付对应的业务手续费。

(业务手续费(数据来自测试网,主网可能会有调整),图片来源于OKEx投研)

4)撮合金

OpenDEX上不断有交易挂单,但区块容量有限,如果该区块周期内的交易笔数超出了区块的承载量,系统无法区分垃圾币对和价值币对,OpenDEX该如何选择交易放进区块处理呢?OpenDEX采用了撮合金抵押的形式,运营商可以给他运营的交易对抵押任意数量(也可以为0)的OKT, 充当保证金。撮合系统在撮合时,会根据保证金的金额,优先处理保证金较高的交易对,若交易对保证金金额相同则会按照时间顺序优先撮合较早交易。过动态竞价拍卖的思想解决这一问题,同时也增加了OKT的使用场景,另一方面是量化DEX运营方实力的一个指标。假设每个区块可以撮合100笔交易,而在这段出块周期里生成了200笔交易,分别是A交易对上的100笔和B交易对上的100笔,那么就会有100笔交易无法放进这个区块撮合。若此时运营运营商给A抵押的保证金大于B的,那么,系统就会优先撮合A交易的100笔交易。若此时运营运营商给A抵押的保证金等于B的,那么,系统就会按它们挂单的时间顺序优先撮合挂单较早的那100笔交易。

5)投票

投票是Token持有者选取验证节点、参与链上治理的主要方式。持币者通过抵押Token的方式获得投票权,1个OKT对应1票投票权,而这1票投票权最多可以同时给30个竞选节点进行投票。出块过程中,验证节点是由持币人或代理人投票得出的投票权重来决定的,在链上治理时,验证节点也是通过投票来对提案做出决策。

二、OKChain的运转过程和生态角色

2.1出块过程

OKChain用的是Tendermint(BFT-DPOS)的共识算法,创造区块有6个基本步骤:运行全节点-注册为竞选节点-投票选出验证节点(矿工)-选出出块节点-提议区块-Tendermint共识投票产生新区块。

(OKChain创造区块的流程,图片来源于OKEx投研)

成为出块节点之前,持币人需要运行节点客户端,成为一个区块链分布式网络中的全节点。全节点需要抵押Token注册为验证人节点才可以成为竞选节点接受持币者投票,其中获得OKT投票权重top21的节点成为下一周期的验证节点(即矿工)。之后,系统将根据21个节点的得票分别计算出投票权重,系统会基于投票权重的随机算法选出出块节点。提议节点按照Tendermint共识协议进行出块。

Tendermint共识中,要想成功完成一次出块,需要有两个阶段的投票:“预投票”(pre-vote)和“预提交”(pre-commit)。出块节点被选出后,开始监听并收集全网的所有交易,在一定时间内组装一个新块,并向全网广播,这个就是提议区块(proposal block)。所有验证节点收到这个提议区块后,开始读取这个区块里的所有交易进行验证,如果没有问题,就发出一条预投票消息。预投票消息会被广播给所有验证节点,当收集到的同意投票数量超过 2/3时,才会进入第二阶段的预提交投票。当验证节点收集到的预提交同意票数超过2/3时,说明这个提议区块得到了大多数人统同意,这个区块就会写入本地的区块链,新区块出块完成且具有最终确定性。

(Tendermint共识过程,图片来源于OKEx投研)

出块完成后系统会进入下一轮,开始提议新的区快。

当前提议区块离线、网络缓慢等原因,都可能导致出块节点在提交一个块时失败。这种情况下协议会选择下一个验证节点成为出块节点,在相同高度上提议一个新块重新开始投票。此外,Tendermint 引入了锁定机制,一旦一个验证节点预提交了一个区块,它就被“锁定”在了那个区块上,它必须也为那个区块进行预投票。如果前一轮预提议和预投票没成功提交区块时,该验证节点就会被解锁,然后进行对新块的下一轮预提交。假设少于三分之一的验证人是拜占庭节点,Tendermint能够保证验证人永远不会在同一高度重复提交区块而造成冲突。

2.2投票设计

投票是Token持有者选取验证节点、参与链上治理的主要方式。验证节点由持币人或代理节点投票得出,一个投票者最多可以同时对最多30个竞选节点进行投票。竞选节点按投票权重从高到低排序,系统选取排名前21的节点成为验证节点。此外,其他验证节点成为备用节点(也称候选节点)。验证节点选举具有周期性,到新的周期会重新由持币人投票选出。

而在链上治理环节,如果持币人或代理节点没有投票,则他们选择的验证节点可以直接继承投票权。这21个验证节点对提案进行投票,如果投给这21个节点的持币人或代理节点对这个节点的投票持不同意见,可以亲自投票来更正投票选择。

2.2.1投票权重

(权重系数和投票权重公式,图片来源于OKChain Github)

  • Weight 是投票权重系数,其随时间变化,投票时间距离起始时间越远权重系数越大;
  • now_timestamp为当前投票时间戳;
  • start_timestamp 为起始时间戳,取946684800 (00:00:00 UTC on January 1, 2000);
  • seconds_per_day为每天的秒数,为60*60*24;
  • weeks_per_year 为每年周数,这里取52;
  • Shares是投票权重;
  • delegated_Tokens为抵押OKT的数量;

投标权重系数等于当前投票时间和2000年起始时间的差值,然后除以364天的秒数,投票时间距离起始时间越远权重系数越大。投票权重为质押金额乘以2的投标权重系数次方。所以,质押金额越大、投票时间越新投票权重系数就越大,这也可以在一定程度上鼓励用户提高抵金额并且不断参与投票。

2.2.2代理人

验证节点的权重由OKT持有者质押投票决定,OKT持有者可以直接投票,也可以将投票权委托给代理人代表他们去投票选择验证节点。用户需要在抵押账户中存入一定数量的OKT才能注册成为代理人之后才能代理其他账户进行选举投票。当代理人选择退出锁定投票时,需要等到14天锁定期结束后才能提出Token。

在资金安全方面,用户无需交出任何密钥,代理帐户获得的只是Token的投票权。把Token质押给代理人是一个链上委托动作,事实上Token的所有权依然在用户的个人地址中。当用户更改在代理人处抵押的Token数量时,代理人的所有投票权重也会同时更新。

验证节点获得系统的奖励,需要分润给给它投票的代理人,当验证节点触发惩罚规则时,也会影响到代理人的收益。因此代理人在投票前,可以直接在OKLink或其他OKChain区块浏览器中访问一系列信息,对验证节点进行仔细的调查和筛选。在投票后,也需要持续观测验证节点的运行,确保委托的验证节点行为正确。比如具有良好的正常运行时间、不会双重签名或受到损害,参与治理等。一旦发现危险信号,代理人可以迅速取消绑定投票或将投票切换到另一个验证节点,这个过程会立即生效。

2.3 OKChain节点要求

OKChain依靠一组验证节点来维护网络的安全,验证节点的作用是运行一个全节点并通过广播投票来参与共识。而想要成为验证节点需要符合系统的要求,不仅对抵押Token数有要求,也需要一定的硬件配置和软件门槛。

(验证节点的责任,图片来源于OKEx投研)

2.3.1抵押Token要求

验证节点当选的前提条件需成功链接OKChain网络并且抵押10w OKT。

2.3.2 硬件要求

节点一般需要的配置如下:

(硬件配置要求,图片来源于OKEx投研)

OKChain最低系统要求:

(OKChain最低系统要求,图片来源于OKChainGithub)

我们看到,项目初期对节点的配置要求不高,但随着网络使用的增加,后期对节点的配置要求也会变高。与以太坊或比特币这样的链相比,OKChain网络具有很高的吞吐量,会对带宽要求稍高一点以保证各个节点之间的通信保持正常。硬盘需要动态扩充,随着区块数据的增多,出块节点需要保存完整的区块数据,所以硬盘容量不足时,需要及时扩充硬盘。

目前服务器配置主要有两种方式可以选择:

自建服务器——自己购买硬件服务器,连接电、网,运行服务。自建服务器的成本短时间较高,要考虑到硬件成本、场地成本以及经营人力成本。而且需要24小时不断电、不断网,对环境要求较高,好处是一些服务支持可以直接调整。

云服务器——购买现成的云服务器,动态配置参数,运行服务。云服务器的优点在于灵活、成本低。目前,大部分节点还是搭在云服务器上,如亚马逊的AWS,Google的云服务,阿里的云服务等,具备上述服务器后按照官方配置教程来就可以运行节点。当然这点也被去中心化社区诟病许久,因为所有的去中心化网络的节点服务仍然是搭建在世界的IT巨头手里。

OKChain验证节点应该给服务器数据中心位置配备冗余电源,连接性和存储备份。期望有几个用于光纤,防火墙和交换的冗余网络盒,然后是具有冗余硬盘驱动器和故障转移的小型服务器。硬件可以放在数据中心设备的底端。

2.3.3软件要求

运行OKChain节点时,最好给节点开发监视、警报和管理解决方案,能够对攻击、中断进行响应,维护数据中心的安全性和隔离性。避免意外解除绑定,甚至触及系统的惩罚规则。

2.4节点奖励和惩罚规则

2.4.1节点奖励和分配规则

针对记账节点所设计的经济激励机制是区块链项目不可缺少的重要组成部分,BTC记账节点(矿工)的奖励来源是出块奖励和交易手续费。OKChain创世块产生的OKT直接1:1空投给OKB投资者,那么它的矿工奖励来源是什么呢?

它的奖励来源由两部分构成,一部分是每年1%的系统增发,会按比例增发到每个区块中。增发这一部分的25%作为出块奖励,按投票权重分配给21个验证节点,其余的75%作为得票率奖励会按照投票比例分给所有的备选节点。这样,即使没有获得出块奖励,也因为有投票奖励来继续坚持作为备选节点存在,避免出块节点不作为的问题。

另一部分的奖励来源是手续费,手续费按投票权重只分配给21个验证节点。它包括系统手续费和业务手续费,系统手续费就是gas费,业务手续费则包括运营商发行Token 币对费用、数字资产交易对激活费、增发费等。

(节点收益来源及分配比例,图片来源于OKEx投研)

2.4.2节点的惩罚规则

节点抵押Token也可以看作是验证活动的保证金,当节点在出块时主动或因遭到攻击后被动的什么都不做、运行不当或恶意操作时,它们可能会因此失去出块资格。

具体如下:

1.不参与区块验证签名,节点将被封禁10分钟,即其10分钟内不能参与出块。

2.节点双签,也就是在同一高度对两条不同链的区块签名时,节点将被永久废除出块资格。

2.5链上治理

验证节点除了要创造新的区块外,还要参与到链上治理中来。创造新区块是来保护区块链的延续性,而链上治理决定的是整个区块链系统的参数设置,这些参数决定着整个网络的运行方向,验证节点可谓肩负重任。

OKChain链上治理主要涉及四个方面,分别是获取大家对给定主题的意见、更改系统参数、在DEX中删除交易对、支持全网升级。为防止恶意发起提议浪费大家时间精力,所有的治理提案需要提交至少100OKT的抵押金,且该提案权重取决于这份抵押金的金额大小。满足这个要求后提案会进入两周的投票期。在投票结束时,如果赞成票(不包括弃权票)占50%以上,并且反对票(不包括弃权票)少于33.33%的,则该提案被通过。

(提案流程图)

三、OKChain-OpenDEX

OpenDEX是基于OKChain生态系统的开放式去中心化交易所。在了解OpenDEX前,我们需要先了解中心化交易所与去中心化交易所的特点以及它们各自的优势和短板。

3.1中心化交易所与去中心化交易所

3.1.1中心化交易所

交易所关键作用是交易,中心化交易所的优势是流动性好,法币出入金很方便;但缺点也很明显,我们需要把自己的Token转给交易所托管,风险巨大。“不能掌握私钥,币就不属于你”这是区块链世界里的一句箴言。

中心化交易所的痛点:

信息泄漏风险

用户使用中心化交易所交易前需提供详细的个人资料,较为繁琐。我们存储在服务器上的交易数据掌握在交易所手中,信息不透明和中心化管理的现状,让用户存在信息泄露风险。

当下互联网身份系统存在诸多问题,用户的身份数据分散储存于不同的服务提供商,没有统一管理,用户需要重复注册用户名和密码,使用网站服务需要重复登录,用户在不同网站使用相同密码还会导致严重的安全问题。

资金挪用风险

用户的Token都存放在中心化交易所中,用户资产由平台管理,无法排除交易所挪用用户资产或篡改用户信息的可能性。

资金被盗风险

任何DEX都会面临安全性问题的困扰,涉及到的资金越多,黑客攻击的动机也就越大,能够使用的攻击方案也就越多。如果一个中心化交易所的钱包被黑客攻击,钱包内的Token就会全部丢失。过去10年,已经发生过30多起中心化交易所被盗事件,比如Mt.Gox和Coincheck。直到现在,这种情况仍无法得到遏制,每天都有无数黑客在寻找中心化系统的漏洞。

网络宕机风险

网络宕机状态包括服务器死机、停用、关闭等一些原因而导致出现的不能够正常运行的状态。

它会会导致用户无法正常交易,往往给用户或者服务商造成不良使用体验和资金损失。

交易对上线需要审核

中心化交易所交易对上线需要审核,数量有限,用户为交易不同的Token往往需要注册多个交易所,我们的身份数据分散储存于不同的服务提供商,使用网站服务需要重复登录。除BTC和ETH外,每种Token通常只有一到两对高市值资产的交易对,即使在同一交易所有所需要的两种Token,我们在交易两个市值较低的数字资产时也没有直接对应的币对,步骤会复杂很多。

3.1.2去中心化交易所

在去中心化交易所中,资金在用户钱包地址或者交易智能合约中,完全由用户控制。发起交易时,交易所执行智能合约来完成交易,资产划转在链上完成。交易记录链上可查,公开透明。但因为底层公链的可扩展性局限,许多人在面对资产的交易属性时,由自己掌控私钥的理想不得不向中心化交易所更高的流动性妥协。

1)去中心化交易所的优点:

资金更安全

去中心化交易所模式简单,主要是撮合交易,并不托管用户的资产,资金在用户钱包地址或者交易智能合约中,由用户完全控制,任何人都挪用不了。杜绝了黑客攻击、平台道德问题带来的风险,通过代码规则来保障用户的资金安全。

匿名性

使用DEX只需要一个公钥。与此同时,一些DEX创建者声称他们只发布开源软件,对社区如何使用该软件概不负责,从而避免了KYC和AML问题。

不会宕机

由于DEX是建立在底层公链之上,而底层公链采用分布式节点记账,即使单点故障也不影响整体效率,使得DEX的安全性呈指数级提高,没有宕机风险。

2)去中心化交易所痛点:

公链安全风险

去中心化交易所建立在公链的基础之上,这意味着如果公链的安全性不能得到充分保障,一旦被篡改,去中心化交易所的交易信息也变得不可信,用户资产安全更是空中泡影。

流动性不足

流动性是衡量一个交易所的重要指标。流动性越好,成交就越便捷。许多去中心化交易所面临着由于流动性差,导致交易的滑点(滑点是指下单的点位和最后成交的点位有差距)较大的问题。目前市场上知名的去中心化交易所EtherDelta、0x Project等,皆基于以太坊或EOS等公链搭建,用户少、交易深度不足等客观条件成为阻碍其发展的重要因素。

3.1.3OKChain和OKEx相辅相成

我们看到,中心化交易所与去中心化交易所各有利弊,二者当前的目标人群并不相同。

交易所本质是交易,中心化交易所能提供较好的用户体验,绝大多数用户往往会选择交易流动性更好且出入金更便捷的中心化交易所。主流交易所雄厚的资金实力以及多次危机事件的优秀战绩也让许多用户愿意相信他们的背书。当然,还有一部分群体,相对于交易的流畅便捷度,他们更看中资金的安全性和匿名性,于是,去中心化交易所就成为他们的更优选择。

OKChain就是在OKEx满足了绝大部分用户的交易便利需求之后,填补去中心化交易所的这部分小众需求。两者相辅相成,通过不同的技术形式发挥各自的优势,覆盖到更广更全的人群,给用户更好的使用体验。

3.2 OpenDEX

OpenDEX是OKChain生态系统的DeFi项目,将为OKChain生态内用户提供安全稳定的数字资产交易服务,OKChain主网的底层架构会为去中心化交易所提供底层支持。从用途上来讲,它是一种可以自由发行DEX的中间件,就像以太坊通过智能合约技术使数字资产发行变得容易一样,OKChain提供了操作DEX所需的各种基本功能,每个人都可以创建DEX。

与传统的DEX相比,OpenDEX把撮合引擎和订单簿都放在链上了,完整的链上匹配和链上订单簿管理使匹配信息更加透明和安全;它的撮合系统采用的是集合竞价模型,可以弱化交易在区块内的排序对最终撮合结果的影响,保证交易的公平性。与基于以太坊的项目相比,基于OKChain的集合竞价撮合可以在较快的时间内完成匹配。

3.2.1链上订单簿模式

OpenDEX是采用链上订单簿的模式构造的去中心化交易所,这种DEX架构完全是基于区块链的,每个交易订单、每个状态变化都会作为一笔交易记录在区块链网络上。所有未完成的挂盘订单都会记录在区块链上的订单集中,订单集中的订单成交与否取决于买卖方的挂盘及交易时设定的成交策略。在买卖盘进行资产匹配时,跨资产类型的交易可以通过挂盘直接成交方式完成。

OpenDEX的技术方案中,充值、提现、挂单、结算全部由智能合约完成。基本思路是:maker(挂单)用私钥签名下一笔订单,提交到链上,maker 挂单时可以选择在多少个区块后若订单未成交则自动取消。随后,taker(吃单)从订单簿中选择想成交的订单,生成对应交易,交易签名后提交至链上智能合约。智能合约验证完成订单中的交易者签名和订单有效时间等信息后进行双方资金结算。

3.2.2集合竞价撮合模型

OpenDEX的撮合系统采用的是集合竞价模型。由于在区块链系统中,订单不是连续产生的,而是按出块时间间隔离散地产生,因而DEX不像大多数中心化交易所对订单采用连续竞价算法,而是按照出块时间间隔,周期性地以集中竞价的方式对订单进行撮合。每个区块采用集合竞价的方式,保证一个数字资产交易对在一个区块内只会有一个成交价,成交时按”价格优先,时间优先”的顺序成交,可以大大弱化交易在区块内的排序对最终撮合结果的影响,从而保证交易的公平性。

3.2.3 OpenDEX的优势

1)资金安全性

按托管类型,DEX大致可被分为托管型(custodial)和自主托管型(self-custodial)。托管型DEX是把资金转到由他人控制的合约当中,为了降低作恶风险,托管型Layer 2 DEX 运用多重签名或门限签名等技术,实现去中心化的密钥多方管理。自主托管型Layer 2 DEX有以下几个特点:没有用户的明确签名,资金就不能转移;在签名的时候,用户可(通过钱包的用户体验设计)获得所有的信息;资金随时可退出;代码升级机制即使被滥用也不能破坏这个机制。因此资金实际上还是由用户控制,运营商无论如何,都无法冻结甚至动用属于用户的资产。OpenDEX采用的就是自主托管型,Token安全性更有保障。

2)公链安全性

OKChain采用Tendermint共识算法,新区块具有最终确定性。像比特币的区块的“概率确定性”是按最长链原则,链越长该交易被篡改的可能性越低,但无法消除被篡改的可能性。在最终确定性逻辑中,一旦交易被包含在区块中并添加到区块链上,该交易就会被立即视为最终确定,这意味着一旦在区块中达成协议,区块就会最终确定,其中的交易也不能被逆转。OpenDEX 可以借助 Tendermint 的优秀特性实现交易的高吞吐量和极速确认,同时避免“双花”等作恶行为,保障资金安全,提供跨链清结算服务。

3)交易对数量不受限

针对交易所交易对数量有限的尴尬情况,OpenDEX引进了DEX运营方这一角色,它们可以发行任何的Token和Token交易对。对比交易对都由交易所设立的传统去中心化交易所,OpenDEX是一个开放型的趋同化交易所,DEX运营商就是运营Token交易对的实体。想成为OKChain网络中的DEX运营商,我们需要用花费一定数量OKT。具体是:支付OKT发行Token并列出交易对,通过数字资产交易对的申请提案并激活后,新发行的Token就可以在OKChain网络上进行自由交易了。DEX运营商可以发行任何的Token和Token交易对,但由于系统不允许重复交易对存在,对于热门的交易对,DEX运营商往往需要需要竞时获得它的运营资格。

4)流动性支持

在订单簿式交易所中,需要做市商通过挂单来提供流动性。在交易方面,传统的去中心化交易所过分强调平台,忽略了为交易提供流动性的主要运营实体。如同我们所接触的电子商务模式一样,淘宝是一个平台,为卖家提供建立信任的服务,真正为用户提供服务的是淘宝卖家。OKChain引入DEX运营商的角色,提升激励方式,可以解决传统中心化交易所流动性不足的尴尬情况。

5)手续费减免

用户在DEX交易时,需要支付gas费和交易手续费。GAS费由记账的验证节点赚取,它必须不小于最低gas费的限额,且节点会优先打包较高gas费的交易。交易手续费由DEX运营商赚取,这部分会按交易金额的0.1%比例收取。当然,为吸引更多用户使用DEX交易进而推进生态发展,未来会开放gas费和交易手续费方面的减免权限,如DEX运营商可以给其用户做某些币对撮合手续费的减免,超级节点也可以给通过提案投票对DEX运营方的某些币对做GAS费的减免。

对比市面上的中心化交易所,在OpenDEX中,资金的控制权属于用户,能从根本上避免由于中心化问题导致的资金安全事件;此外,DEX提供了更好的匿名性、透明度和耐审查性;底层公链采用分布式节点记账,即使单点故障也不影响整体效率;允许用户用无限制的交易对进行交易。

而对比市面上其他的DEX交易所,OpenDEX建立支持跨链的OKChain生态之上,在利用跨链方案,交易者可以在任意两种上市的加密货币资产之间进行跨链交易;采用Tendermint共识算法,使新区块具有最终确定性,可以实现交易的高吞吐量和极速确认;面对流动性不足的缺点,OpenDEX引进DEX运营方这一角色,以激励机制解决传统中心化交易所流动性不足的尴尬情况;未来OpenDEX会开放gas费和交易手续费方面的减免权限,给予用户实在的交易优惠。

我们看到,基于OKChain生态系统建立的OpenDEX解决了中心化交易所和市面上其他的DEX交易所的几大痛点。

四、结语

OKChain是OKEx开发的一组开源区块链应用公链,以建立安全、高效的DeFi基础设施为目标,打造社区化运营、交易规则透明以及用户资产由自己控制的去中心化交易平台(DEX)。它基于Cosmos的Tendermint机制以及Cosmos SDK进行构建,通过跨链交互协议IBC,结合Tendermint共识算法的即时确定性,可以实现区块链之间的价值传输,未来它还将支持异构跨链方式以解决价值的多向流通难题。基于OKChain生态系统的建立的开放式去中心化交易所OpenDEX,解决了中心化交易所存在的信息泄漏、资金挪用、资金被盗、网络宕机和交易对不足的痛点,更引入DEX运营方这一角色解决了市面上其他的DEX交易所存在的流动性不足的痛点。

撰稿人:秀秀

指导老师:Elbert XU、Ocean FAN、Jay Meng

参考资料

1.OKChain Github

https://OKChain-docs.readthedocs.io/en/latest/OKChain/overview.html

2.Tendermint介绍及实战分析

https://www.jianshu.com/p/c82a020f90fb

3.OKEx Research报告:Staking Economy,基于PoS共识的新矿业生态

https://xueqiu.com/7023230380/151537031

4.跨链技术的分析和思考

https://blog.csdn.net/xilibi2003/article/details/88809051

5.深度解析Tendermint,快速融入Cosmos生态

https://zhuanlan.zhihu.com/p/38252058

希望看到您的想法,请您发表评论x