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小时热点

链圈打诈:缅北恐怖视频截图

缅北诈骗集团真实画面,电击剁手只算最轻惩罚,自杀都成一种奢望 ...

881947

ZPLAN元宇宙

美国政治风向标转变:哈里斯提倡的区块链政策赢得广泛关注

民主党总统候选人哈里斯在匹兹堡经济俱乐部的演讲中强调了区块链 ...

909

区块链网快讯

分布式账本技术

分布式账本技术是建立在区块链底层的分布式数据库架构上的一种账 ...

1193201

和讯区块链

算力项目诈骗

计算力项目诈骗是一种新兴的网络诈骗,它是以智能合约的形式,利 ...

318603

UUEX

2024年美元兑人民币汇率预测:会涨到8元吗?市场密切关注

2024年美元兑人民币汇率吸引了许多投资者的关注,涨到8元的 ...

4219575

波场区块链浏览器

链圈打诈:缅甸北部残忍视频截图

缅甸北部残忍视频是一段长达5分钟的残忍场景,内容是发生在缅甸 ...

923673

ZPLAN元宇宙

Animoca计划推出基于区块链打造的卡丁车赛车游戏Cosmic Royale

7月16日消息,Animoca Brands子公司Eden ...

6560

区块链圈小菜鸡

Celo公链崛起:稳定币活跃度超Tron,非洲市场表现亮眼

Celo公链在稳定币领域的活跃度已超越Tron,成为新的市场 ...

1039

区块链网快讯

Telegram数据和账号泄露

Telegram数据泄露是指在攻击者获取Telegram账号 ...

39951

SmartDec

区块链支付是什么

区块链支付是指使用区块链技术来帮助进行支付过程中的转移。区块 ...

108371

Bithumb

热点专题

2024年美元兑人民币汇率预测:会涨到8元吗?市场密切关注

2024年美元兑人民币汇率吸引了许多投资者的关注,涨到8元的 ...

4219575

波场区块链浏览器

诈骗披露:成功学周文强

又一个“成功学”大师周文强翻车 你想一夜暴富吗?你想年薪百 ...

3847746

Lazy Lions

狗狗币一夜暴涨700倍创下历史新高!

最近一段时间狗狗币暴涨幅度达到700倍,出现了巨大的涨幅,这 ...

3182356

波场区块链浏览器

专门忽悠企业家的中国十大骗子大师

区块链网创立于2015年初,为国内第一批有资质的区块链媒体, ...

2823861

希壤

中国十大骗局之pi network(π币、pi币、派币、兀币)

中国十大骗局之pi network(π币、pi币、派币、兀币 ...

2574621

Gemini 交易所

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

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

2470362

文昌链

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

打着区块链旗号,以聚集性传销、网络传销为手段,以每枚3元的价 ...

2171469

Coin Metrics

原力元宇宙佛萨奇骗局

原力元宇宙佛萨奇骗局是一种不可思议的幻想计划,它由一群英勇可 ...

2106548

聚币网

柴犬币SHIB来了

因其可爱形象和马斯克代言,近段时间最耀眼的加密货币非狗狗币莫 ...

1294613

Luart

链圈打诈:3000名解放军去缅甸真的假的?

3000名解放军去缅甸这个是假新闻,出兵这是个大问题,如果我 ...

1229901

a16z