目录:
一、OKChain 介绍 2
1.1 OKChain 简介 2
1.2 Cosmos 的架构 2
1.2.1 Tendermint 3
1.2.1 跨链机制 3
1.3OKChain Token 情况 5
1.3.1 OKT 的发行机制 5
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 节点的惩罚规则 11
2.5 链上治理 12
三、OKChain-OpenDEX 13
3.1 中心化交易所与去中心化交易所 13
3.1.1 中心化交易所 13
3.1.2 去中心化交易所 14
3.1.3OKChain 和 OKEx 相辅相成 15
3.2 OpenDEX 15
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 机制以及 CosmosSDK 进行构建的。Cosmos 提出了一种跨链交互协议 IBC(Inter-BlockchainCommunication 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 包含了两个主要的技术组件:一个区块链共识引擎 TendermintCore 和一个通用的应用程序接口 ABCI。TendermintCore,负责节点之间数据传输以及拜占庭共识,采用 BFT 与 DPoS 相结合的共识算法,可以实现出块的最终确定性(最终确定性指交易已经被写入区块并添加到区块链上,不能被逆转或篡改),保证了每个节点以相同的顺序记录同一笔交易,实现交易的极速确认和高吞吐量。总体来看,TendermintCore 负责区块链的网络和共识层,支持开发者个性化定制自己的区块链,而不需要考虑共识以及网络传输的实现。
ABCI 是区块链应用程序接口,也是一个协议,支持任何编程语言的交易处理实现。在 Cosmos 框架的基础上开发一条区块链,开发人员唯一要做的事情,就是编写符合 ABCI 接口的应用程序。
为了进一步方便用户进行区块链开发,Cosmos 在 TendermintCore 以及 ABCI 的基础上,提供了 CosmosSDK 工具,可以把区块链中的一些通用模块标准化。CosmosSDK 可以称作 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 完成区块共识后,Zone2 会接收到 Hub 广播的包含 Zone1 区块头的验证信息。在此之后,Zone2 必须验证关于 Zone1 的证明是否真实,如果真实,它就开始执行相关操作,并将执行完成的区块信息发送给 Hub。
(IBC 跨链消息传递 , 图片来源于 OKEx 投研)
我们以 OKChain 到 Cosmos 转账 10OKT 为例说明使用 IBC 的跨链交互:
如果 OKChain 要和 Cosmos 进行跨链交易,那么 OKChain 和 Cosmos 链需要分别运行对方区块链的轻节点服务,这样可以实时接收到对方的区块头信息 , 方便后续执行类 SPV (简单支付验证,SPV 节点会通过请求 merkle 路径证明以及验证区块链中的工作量证明,来证实交易的存在性)验证;
2.OKChain 链上初始化 IBC 协议,冻结相关资产 10OKT, 并生成相应的证明发送给 Cosmos Hub 区块链;
3.CosmosHub 链接收到相应的 IBC 消息,通过 OKChain 链的区块头信息确定 OKChain 确实进行相应的资产冻结,然后 Cosmos 链会生成等价值 10OKT 的资产;
实现了 OKChain 到 Cosmos 转账 10OKT。
1.3OKChainToken 情况
OKChain 主网上线发行基础通证 OKT,并将创世块 Token100% 按照 OKB 的持仓比例映射给 OKB 持有者。OKT 是 OKChain 生态的价值载体,其价值支撑是 OKChain 之上的应用 DEX、DeFi 等发展的情况。
1.3.1 OKT 的发行机制
OKT 发行机制为创世块和每年增发。其中创世块发行 3 亿枚;增发部分设定为每年增发 1%,会按比例平均增发到每个区块中。
1.3.2 OKT 的功能
1)使用系统资源
当一个程序需要跑在 OKChain 网络上时,OKChain 需要为它分配足够的计算、存储、带宽等网络资源,OKChain 采取了以太坊资源使用计费的模式,网络上的交易需要支付交易费才能进行处理。具体的计价是这样的,一个交易执行的费用 =ceil (Gasx Gas Price)。GasPrice 是指运行者愿意给每一个 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)。出块节点被选出后,开始监听并收集全网的所有交易,在一定时间内组装一个新块,并向全网广播,这个就是提议区块(proposalblock)。所有验证节点收到这个提议区块后,开始读取这个区块里的所有交易进行验证,如果没有问题,就发出一条预投票消息。预投票消息会被广播给所有验证节点,当收集到的同意投票数量超过 2/3 时,才会进入第二阶段的预提交投票。当验证节点收集到的预提交同意票数超过 2/3 时,说明这个提议区块得到了大多数人统同意,这个区块就会写入本地的区块链,新区块出块完成且具有最终确定性。
(Tendermint 共识过程,图片来源于 OKEx 投研)
出块完成后系统会进入下一轮,开始提议新的区块。
当前提议区块离线、网络缓慢等原因,都可能导致出块节点在提交一个块时失败。这种情况下协议会选择下一个验证节点成为出块节点,在相同高度上提议一个新块重新开始投票。此外,Tendermint 引入了锁定机制,一旦一个验证节点预提交了一个区块,它就被“锁定”在了那个区块上,它必须也为那个区块进行预投票。如果前一轮预提议和预投票没成功提交区块时,该验证节点就会被解锁,然后进行对新块的下一轮预提交。假设少于三分之一的验证人是拜占庭节点,Tendermint 能够保证验证人永远不会在同一高度重复提交区块而造成冲突。
2.2 投票设计
投票是 Token 持有者选取验证节点、参与链上治理的主要方式。验证节点由持币人或代理节点投票得出,一个投票者最多可以同时对最多 30 个竞选节点进行投票。竞选节点按投票权重从高到低排序,系统选取排名前 21 的节点成为验证节点。此外,其他验证节点成为备用节点(也称候选节点)。验证节点选举具有周期性,到新的周期会重新由持币人投票选出。
而在链上治理环节,如果持币人或代理节点没有投票,则他们选择的验证节点可以直接继承投票权。这 21 个验证节点对提案进行投票,如果投给这 21 个节点的持币人或代理节点对这个节点的投票持不同意见,可以亲自投票来更正投票选择。
2.2.1 投票权重
(权重系数和投票权重公式,图片来源于 OKChainGithub)
Weight 是投票权重系数,其随时间变化,投票时间距离起始时间越远权重系数越大;
now_timestamp 为当前投票时间戳;
start_timestamp 为起始时间戳,取 946684800 (00:00:00 UTC on January 1, 2000);
SEConds_per_day 为每天的秒数,为 606024;
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 网络并且抵押 10wOKT。
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 也可以看作是验证活动的保证金,当节点在出块时主动或因遭到攻击后被动的什么都不做、运行不当或恶意操作时,它们可能会因此失去出块资格。
具体如下:
不参与区块验证签名,节点将被封禁 10 分钟,即其 10 分钟内不能参与出块。
节点双签,也就是在同一高度对两条不同链的区块签名时,节点将被永久废除出块资格。
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、0xProject 等,皆基于以太坊或 EOS 等公链搭建,用户少、交易深度不足等客观条件成为阻碍其发展的重要因素。
3.1.3 OKChain 和 OKEx 相辅相成
我们看到,中心化交易所与去中心化交易所各有利弊,二者当前的目标人群并不相同。
交易所本质是交易,中心化交易所能提供较好的用户体验,绝大多数用户往往会选择交易流动性更好且出入金更便捷的中心化交易所。主流交易所雄厚的资金实力以及多次危机事件的优秀战绩也让许多用户愿意相信他们的背书。当然,还有一部分群体,相对于交易的流畅便捷度,他们更看中资金的安全性和匿名性,于是,去中心化交易所就成为他们的更优选择。
OKChain 就是在 OKEx 满足了绝大部分用户的交易便利需求之后,填补去中心化交易所的这部分小众需求。两者相辅相成,通过不同的技术形式发挥各自的优势,覆盖到更广更全的人群,给用户更好的使用体验。
3.2OpenDEX
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 是把资金转到由他人控制的合约当中,为了降低作恶风险,托管型 Layer2 DEX 运用多重签名或门限签名等技术,实现去中心化的密钥多方管理。自主托管型 Layer2DEX 有以下几个特点:没有用户的明确签名,资金就不能转移;在签名的时候,用户可(通过钱包的用户体验设计)获得所有的信息;资金随时可退出;代码升级机制即使被滥用也不能破坏这个机制。因此资金实际上还是由用户控制,运营商无论如何,都无法冻结甚至动用属于用户的资产。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 机制以及 CosmosSDK 进行构建,通过跨链交互协议 IBC,结合 Tendermint 共识算法的即时确定性,可以实现区块链之间的价值传输,未来它还将支持异构跨链方式以解决价值的多向流通难题。基于 OKChain 生态系统的建立的开放式去中心化交易所 OpenDEX,解决了中心化交易所存在的信息泄漏、资金挪用、资金被盗、网络宕机和交易对不足的痛点,更引入 DEX 运营方这一角色解决了市面上其他的 DEX 交易所存在的流动性不足的痛点。
撰稿人:秀秀
指导老师:ElbertXU、OceanFAN、JayMeng
参考资料
1.OKChainGithub
https://OKChain-docs.readthedocs.io/en/latest/OKChain/overview.html
2.Tendermint 介绍及实战分析
https://www.jianshu.com/p/c82a020f90fb
3.OKExResearch 报告:StakingEconomy,基于 PoS 共识的新矿业生态
https://xueqiu.com/7023230380/151537031
4. 跨链技术的分析和思考
https://blog.csdn.net/xilibi2003/article/details/88809051
深度解析 Tendermint,快速融入 Cosmos 生态