千家信息网

怎么理解bytom MOV链上交换协议

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"怎么理解bytom MOV链上交换协议",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么理解bytom MOV链上交换协议"吧!去
千家信息网最后更新 2026年11月02日怎么理解bytom MOV链上交换协议

这篇文章主要讲解了"怎么理解bytom MOV链上交换协议",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么理解bytom MOV链上交换协议"吧!

去中心化交换协议的发展

从Bitshare,Stellar到以太坊上的Etherdelta,Bancor,0x协议,去中心化交换协议也经过了好几代发展和很多模式的探索,每一代都通过前面的协议的痛点来进行改进和深化,

主要分为:

  1. 链上orderbook,链上结算;

  2. 链下orderbook,链上结算;

  3. 基于智能合约管理的资金池;

链上orderbook,链上结算

最早的 基于以太坊的去中心化交换协议的成功探索非Etherdelta莫属,曾一度占据去中心化交换市场的半壁江山。Etherdelta是较为完全的去中心化模式,用户充值、挂单、吃单、结算及提现全部在链上完成。

具体运行机制如下:

Etherdelta的整个运行都在链上完成,用户保管自己的私钥,平台不会触碰用户资产,保证了资产和交换的安全、透明。但其弊病也较为明显:

  1. 由于所有的交换环节都在链上完成,且每一个挂单、撤单、吃单等操作都会消耗GAS费用,导致延时高、成本效益低下。

  2. 存在矿工非法预先交换的可能。

链下orderbook,链上结算

为了解决纯链上效率低下,且手续费低廉的问题,0x协议引入了relayer(中继)的概念,所有订单都发给relayer,无需上链,只有成交才会上链。

0x的"链下订单中继、链上最终结算"运作模式如下:

0x协议的主要问题在于,如果需要共享订单,运用0x协议的交易所每一笔成交都需要广播出来,以便其他交易所得知和确认,因此单纯地使用0x协议无法实现瞬时成交;另外,由于需要将ETH转化为WETH,也增加了交换成本。

基于智能合约管理的资金池;

最具典型的资金池模式有Bancor和Kyber。所谓资金池,可以理解为平台利用智能合约建立了一个用于储备各类资产的池子,资金池中资产的提供方可以是普通用户或者做市商。

MOV去中心化交换协议介绍

我们在考察各个交换协议时,其实纯链上交换协议才是最发挥区块链价值的方案,但是因为以太坊等公链性能问题,导致像Etherdelta这样的纯链上方案受挫,才有0x这样的链下orderbook出现,来改善性能的问题。究其根本,是本身的基础设施不完善,导致的迫不得已的改变。所以比原链MOV从一开始就先着手解决区块链性能问题。

高速侧链是保障

MOV采用了高速侧链Vapor pro作为底层的基础设施,Vapor每0.5s出块,每个区块可以容纳8000笔交易,即每秒16000 tps,在增大区块,提升节点服务器的情况下,仍然有进一步提升空间。这个性能能够满足当前非高峰时段的用户需求,可以比肩部分的中心化的方案。

同时MOV采用了DPoS作为共识机制,虽然丧失了一定的去中心化,但是增加了可以进行链上撮合的门槛,提高准入门槛可以更好的防止部分有不良企图的"矿工"进行预先交易,同时因为链上撮合本身具有一定的撮合收入,所以通过这个经济激励可以防止DPoS的出块节点作恶来破坏系统(其作恶的成本高于其不作恶的正常收益)。

订单共享

0x协议为了解决性能问题,所以采用链下orderbook,但带来的问题就是订单的割裂,采用0x协议的各个不同参与方,为了自己的利益,必然不会将自己用户的订单共享出来,从而影响整体的交易深度,而mov采用链上orderbook,所有的用户订单都在链上,公开透明,所有参与撮合的共识节点都可以共享这个深度,从而增强mov上资产的流动性。

磁力合约的优势

因为比原链是基于比特币的UTXO模型,所以在UTXO模型上的磁力合约来做交换协议具有更大的优势,因为UTXO模型本身以资产为基本单位,和账户模型相比,对于资产的操作更加简易和方便,我们来对比两者的流程。

以0x为例,0x整个交互流程:

  • Maker授权DEX合约访问自己的Token A余额

  • Maker创建订单(订单有固定的格式)并用私钥签名

  • Maker使用任意通信手段广播订单

  • Taker接收订单并愿意执行

  • Taker授权DEX合约访问自己的Token B余额

  • Taker提交订单给DEX

  • DEX验证订单的合法性,在两个账户之间按照订单上的汇率进行转账

那么磁力合约的整个流程就简易很多:

  • Maker创建一个磁力合约(在磁力合约中放入自己的资产,并指定要兑换的资产和数量)

  • Taker创建一个磁力合约(在磁力合约中放入自己的资产,并指定要兑换的资产和数量)

  • 共识节点根据合约中的价格和数量,触发能够匹配的磁力合约,并交换两者的资产。

不仅在流程上简单,手续费因为流程的简化也会更低,我们只要在用户设置磁力合约的时候收取手续费即可,事实上,我们还可以尝试0手续费,因为使用DPoS的模式,关于手续费,各个节点之间的博弈也不会太复杂。

跨链资产的生态

我们观察现行以太坊上的去中心化交换协议,还停留在以太坊本身的生态上,虽然不能否认以太坊生态的强大,但其实外面才是更大的世界,当然跨链是后续的主旋律,包括Cosmos和Polkdot都是想做跨链的事情,所以MOV在一开始就考虑到了跨链的事情,通过OFMF将比原链之外的资产映射到比原链上来,然后形成囊括所有数字资产的大生态,用户在mov中体验的是跟中心化一样的体验,可以交易多种资产,这些资产也不单独是在某一个链的生态。

MOV磁力合约详解

这里再详细展开一下MOV磁力合约,看它到底是如何实现的。

MOV磁力合约本质上是一个挂单合约,不管是Taker还是Maker都需要生成这样的一个合约,本质上其实并不区分Maker和Taker,只是根据挂单的先后来区分Maker和Taker,两者在相反的交易对上提升了交易深度,实际上也可以认为都是Maker。

挂单交易合约是高级版的币币交易合约,合约的本质目的是锁定任意数量的资产A,愿意以某特定的汇率兑换资产B。合约的内部应该保存有四个常量(资产A的ID不需要存因为合约锁定的是资产A):期望兑换的资产B的ID, 期望兑换的汇率(使用分子分母方式解决浮点支持问题),和挂单用户的公钥,挂单用户接受资产B的地址。合约可以通过三种模式解锁:

全部解锁:所有合约中的资产A都被兑换成了资产B并转入挂单用户的地址中。

部分解决:部分合约中的资产A被兑换成了资产B并转入挂单用户的地址中,剩余的资产A通过递归合约的模式从新锁定回合约本身(新生成的UTXO)。

取消挂单:挂单用户通过私钥签名将合约中的资产A都转回自己的地址。

磁力合约Equity的代码如下:

MagneticContract source code:contract MagneticContract(requestedAsset: Asset,                          ratioNumerator: Integer,                          ratioDenominator: Integer,                          sellerProgram: Program,                          standardProgram: Program,                          sellerKey: PublicKey) locks valueAmount of valueAsset { clause partialTrade(exchangeAmount: Amount) {  define actualAmount: Integer = exchangeAmount * ratioDenominator / ratioNumerator  verify actualAmount > 0 && actualAmount < valueAmount  lock exchangeAmount of requestedAsset with sellerProgram  lock valueAmount-actualAmount of valueAsset with standardProgram  unlock actualAmount of valueAsset } clause fullTrade() {  define requestedAmount: Integer = valueAmount * ratioNumerator / ratioDenominator  verify requestedAmount > 0  lock requestedAmount of requestedAsset with sellerProgram  unlock valueAmount of valueAsset } clause cancel(sellerSig: Signature) {  verify checkTxSig(sellerKey, sellerSig)  unlock valueAmount of valueAsset }}

fullTrade()就是全部解锁方法;partialTrade()是部分解锁,当触发部分解锁时,会讲为解锁的资产放入一个新生成磁力合约中去,从而等待下一次匹配;cancel()方法将用户的资产转回自己的地址,取消这个合约。

我们在看看磁力合约的输入参数:

type MagneticContractArgs struct { RequestedAsset   bc.AssetID RatioMolecule    int64 RatioDenominator int64 SellerProgram    []byte SellerKey        []byte}

RequestedAsset是想要兑换的的资产,RatioMolecule,RatioDenominator是想要兑换资产的汇率(RatioMolecule/RatioDenominator 就是汇率),因为当前BVM不支持浮点型,所以额外采用这个参数作为比例,SellerProgram,SellerKey就是合约创建者自己的合约和地址,目标资产就要锁定到合约创建者自己的账户里面。 细心的朋友可能发现,这里面和Equity合约少了一个参数,也就是standardProgram,那么这个参数不用用户自己输入,系统会默认补齐,standardProgram 其实就代表原合约,因为部分匹配会使一部分资产仍然没有使用,就仍然返回到合约中。

最后通过一张图来更直白的描述一下磁力合约:

感谢各位的阅读,以上就是"怎么理解bytom MOV链上交换协议"的内容了,经过本文的学习后,相信大家对怎么理解bytom MOV链上交换协议这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

合约 资产 用户 磁力 订单 中心化 交易 问题 模式 以太 结算 地址 就是 性能 手续 手续费 汇率 流程 生态 节点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 疫情对互联网科技公司影响 广州紫鲸互联网科技 中国互联网金融科技基金 互联网实体化科技化 济南华为互联网科技产业总部基地 以后互联网后是啥科技 宁夏众和广鑫互联网科技有限公司 注册互联网科技公司经营范围大全 群盈汇互联网科技有限公司 互联网第三次科技革命特征 山东星卡互联网科技有限公司官网 广州千川互联网科技有限公司 杭州披云加互联网科技有限公司 上海创道互联网络科技有限公司 从那以后互联网科技有限公司 全球科技与互联网公司市值变化 吉林省码上互联网科技电话 湖北辰鑫科技互联网 马化腾互联网科技教学 科技发展第三阶段互联网时代 中国互联网科技工作委员会毛军 互联网中国科技 狮子座互联网科技有限公司 广州善班互联网科技 现代科技和互联网有关系吗 阿里互联网科技公司 互联网科技扶贫时间 科技互联网海报 互联网方面的科技前沿 数字互联网科技有限公司
0