Wyvern:1阶去中心化交换协议

Wyvern是1阶去中心化交换协议。对比其他协议,例如Etherdelta、0x和Dexy是0阶的,也就是每个订单指定两个去中心化资产的交易。

而Wyvern将订单改为指定状态转换的谓词,也就是将订单定义为一个函数,将制造商的调用、交易对手的调用以及订单元数据映射为布尔值。以太坊上可表示的任何资产或资产的任何组合都可以通过Wyvern订单进行交换。

这样设计,可以表达任何更简单协议可以表达的命令,也可以优化gas,减少无用的调用,因组成协议组件被隔离,也有利于安全。

但也因为定义过细,对开发人员不友好,并且难以支持用户级工具。

因此,Wyvern后期发布了v3版本,重组了协议的几个核心组件,使部署 Wyvern 的分布式账本的用户能够自由交易。

以下是Wyvern的协议功能:

断言注册表

订单生成者可以检查他们和他们的交易对手是否使用有效的注册表。

断言calldata

订单中的大部分逻辑是在调用和反向调用上构造谓词。每个订单的静态回调(谓词函数)接收调用、交易对手调用和订单元数据(以太币值、时间戳、匹配地址)的所有参数,并且必须决定是否允许订单匹配,如果允许,填写多少。

Call

第一次调用由订单制造者通过他们的代理合约执行。静态回调接收所有参数,调用目标、调用类型和调用数据等,并且必须验证调用是制造商愿意执行的调用(例如转移特定资产或一组资产)。

Countercall

第二次调用由交易对手执行,为方便起见,在源代码中将其称为“countercall”。静态回调接收所有参数,有countercall 目标、countercall 类型和 countercall 数据,并且必须验证调用是制造商愿意接受以换取他们自己的调用(例如转移特定资产或资产集)。

断言状态

静态调用在调用之后执行(如果静态调用失败,整个事务将被恢复),因此可以断言特定状态已更改,而不是断言调用数据的属性。

元数据

元数据包含挂单时间、挂单到期时间、反挂单挂单时间、调用中转入的ETH、当前订单成交值和匹配地址。

广义部分填充

订单签署最大成交,静态调用返回一个uint,如果订单匹配,它指定更新的成交值。订单的当前执行也可以由订单的制造者通过交易手动设置(这也允许订单取消)。将订单的成交设置为非零值也会隐式授权订单,因为部分成交订单的授权被缓存以避免不必要的签名检查。

授权订单

订单必须始终由地址授权,该地址拥有将执行调用的代理合约。授权可以通过三种方式完成:签名消息、预先批准和比赛时间批准。

签名消息

授权订单的最常见方法是在链下对订单哈希进行签名。这是无成本的,任何数量的订单都可以被签名、存储、索引,也许还可以在网站或自动订单簿上列出。为了避免取消不再需要的订单的必要性,制造商可以在不久的将来签署到期时间的订单,并且只要他们希望继续征求交易,就可以重新签署新订单。

预先批准

可以通过向合约发送交易来授权订单。这种方法可能对由智能合约构建的订单特别感兴趣,智能合约本身不能在链下签署消息。链上授权会发出一个事件,该事件可以很容易地被将订单包含在其数据库中的订单簿索引。

当有即时构建订单(可能匹配现有的先前签署或批准的订单)匹配时,通过从订单地址发送匹配交易进行授权。如果制造者打算自己发送与订单匹配的交易,会很方便,且可以节省一点 gas(因为发送交易隐含了 calldata 验证)。

构造匹配的调用数据

匹配的调用数据可以以任何方式链下构建。协议并不关心最终的 calldata 是如何获得的,只关心它完成了订单的谓词功能。在实践中,订单簿维护者(中继者)可能会存储额外的元数据以及订单,这些订单可用于构建可能的匹配调用数据。

不对称

在可能的范围内,该协议被设计为对称的,这样订单不需要在任何特定的“边”上,并限制自己与另一“边”上的订单匹配。

第一个不对称是排序。必须首先执行一个调用,执行该调用可能会更改第二个调用的结果。传入的第一个调用首先执行。

第二个不对称是特殊情况下的以太币。由于以太坊的设计限制,以太币与ERC20 代币不同,只能通过来自该账户的交易从一个账户发送。为了便于使用,Wyvern 尽可能支持特殊情况的ETH:订单的匹配者可以选择将值与匹配交易一起传递,然后将其传递给交易对手并作为参数传递给谓词函数(可以断言例如已发送特定数量)。

Wyvern v3的更改

订单不能自行匹配。但来自同一制造商的两个单独的订单可以相互匹配。

利用双向调用匹配提供的额外表达能力,Wyvern v3 将协议的几乎所有辅助方面“推出”到订单上,而不是在交换合约中实现它们,以降低了协议的复杂性,为用户和中继者提供灵活性,并降低gas成本。

24小时热点

ibox数藏平台暴雷!彻底的凉凉了!

因为NFT的爆火,连着NFT相关平台也是热度高涨,可是越是爆 ... 置顶

129971

现在是投资加密货币的好时机吗?

最近加密市场不断下行,市场情绪低靡,大多数山寨币已显颓势,尽 ...

334

布洛克

Web3在遥远的未来?不 它已经来了

FaceBook更名MeTa,让元宇宙一词火爆出圈,一时风头 ...

4884

大币网

数藏平台的合规与利润博弈:藏品滞销、用户流失VS炒作不断、平台稳赚

在众多二级市场平台的围剿中,幻核、鲸探等大厂的用户正在流失。 ...

21455

汤姆猫元宇宙

X2earn: 最容易理解的Web3范式之一

目录: 1.    X2earn: 最容易理解的 ...

13266

Lootcakes免费游戏网络

区块链信息服务备案管理系统备案

区块链信息服务备案仅对备案主体所从事的区块链信息服务进行登记 ...

236983

NFTs代售

如何解决DAO内冲突?

本文深入探讨了正视 DAO 内冲突的重要性,并提供了解决 D ...

11030

阿瓦隆矿机

Web3 有7大颠覆性概念

要想在未来取得成功,你现在必须要学习 web3 了。 ...

6672

一棵树的声音

7 个板块的Web3 社交赛道蓬勃发展

Web3 社交赛道蓬勃发展,50 个入选项目来自社交通讯、社 ...

2890

宙核

Web3 领域开拓组织创意生产的新方式(之二)

受访者一致认为「人们现在最容易获得报酬的方式是通过资助」,这 ...

2167

大币网

Vitalik 上海峰会演讲全文:以太坊合并或将在 8 月开始

Vitalik Buterin 分享了以太坊合并等最新进展, ...

12563

CryptoRank

热点专题

以游戏带动引擎发展实现功能迭代与技术演进

游戏引擎作为游戏创作工具与游戏运行的底层控制器,着力于在虚拟 ... 置顶

14157

2021年打假总结:存活近3年 疯狂的“传销币”GEC是怎么苟延残喘至今?

币圈从来不缺乏资金盘或是传销币,但多数都不长久,一夜之间项目 ...

2744532

加密兔

2021年打假总结:Pi Network项目的传销性质Pi币

曾经,号称“走路就能赚钱”拥有大量用户和广泛影响的国内APP ...

1760770

加密兔

柴犬币SHIB来了

受狗狗币启发,柴犬币(SHIB)近两天被创造出来。

1181279

Luart

非常硬核的LP流动性挖矿的核算

2021年1月19日20:00MDX正式上线交易挖矿和流动性 ...

1044005

RMRK

什么是去中心化交易所(DEX)?

去中心化交易所是一个基于区块链的交易所,它不将用户资金和个人 ...

1033883

bitFlyer交易所

骗走了中国人5000亿MBI集团的“易物币”长什么样的

人性终究还是舍弃不掉自己贪婪的一面! 今年10月 ...

788961

a16z

在Mdex上挖矿教程

Mdex是火币生态链上的去中心化交易所,Mdex挖矿于1月1 ...

736117

大都会资本

国内460种传销币套路和骗子币名单大曝光

全员警惕!!!国内460种传销币套路和骗子币名单大曝光(附全 ...

657074

Coin Metrics

国家区块链相关政策汇总

据零壹智库不完全统计,截至2019年12月,国家层面共计出台 ...

625471

利得链

最近央行提出的DC/EP是什么?

2019年8月10日,央行结算司副司长穆长春发表演讲,介绍了 ...

617791

网络资源