Wyvern是1阶去中心化交换协议。对比其他协议,例如Etherdelta、0x和Dexy是0阶的,也就是每个订单指定两个去中心化资产的交易。
而Wyvern将订单改为指定状态转换的谓词,也就是将订单定义为一个函数,将制造商的调用、交易对手的调用以及订单元数据映射为布尔值。以太坊上可表示的任何资产或资产的任何组合都可以通过Wyvern订单进行交换。
这样设计,可以表达任何更简单协议可以表达的命令,也可以优化gas,减少无用的调用,因组成协议组件被隔离,也有利于安全。
但也因为定义过细,对开发人员不友好,并且难以支持用户级工具。
因此,Wyvern后期发布了v3版本没,重组了协议的几个核心组件,使部署Wyvern的分布式账本的用户能够自由交易。
金色财经挖矿数据播报 | ETH今日全网算力上涨1.74%:金色财经报道,据蜘蛛矿池数据显示:
BTC全网算力108.628EH/s,挖矿难度16.79T,目前区块高度655305,理论收益0.00000997/T/天。
ETH全网算力264.336TH/s,挖矿难度3357.88T,目前区块高度11187915,理论收益0.00642740/100MH/天。
BSV全网算力1.226EH/s,挖矿难度0.15T,目前区块高度659767,理论收益0.0007339/T/天。
BCH全网算力1.727EH/s,挖矿难度0.24T,目前区块高度659999,理论收益0.00052124/T/天。[2020/11/4 11:36:28]
以下是Wyvern的协议功能:
金色晨讯 | 9月24日隔夜重要动态一览:21:00-7:00关键词:俄罗斯、央行数字货币、安徽、美股下跌
1.俄罗斯第一副总理:政府将优先考虑发展区块链。
2.美国多家地区性联邦储备银行正在研究央行数字货币。
3.安徽计划用五年时间形成区块链产业生态。
4.美国财政服务局研究将区块链用于补助金支付。
5.哥伦比亚政府邀请公司在监管沙箱中测试加密交易。
6.CME比特币期货9月合约收跌2.05%。
7.Visa加密货币负责人:Visa正在研究离线数字货币支付。
8.范一飞:需拟定专门针对数字人民币的监管要求。
9.美股三大股指收盘均下跌 美股区块链概念股普遍收跌。
10.比特币再度下跌,日内最高报10494.81美元,最低报10140.62美元。[2020/9/24]
断言注册表
金色晨讯 | 1月18日隔夜重要动态一览:21:00-7:00关键词:voice、肯尼亚、美国SEC、日照港
1. 外媒:社交网络Voice将不会在EOS主网上运行。
2. 参议员提议建立俄克拉荷马州政府特许的加密货币托管机构。
3. 肯尼亚资本市场管理局警告投资者不要参与不受监管的ICO。
4. 山西省政协委员:乡村振兴是区块链技术与经济社会融合发展的重点领域。
5. 美国SEC指控Boaz Manor等通过欺诈性ICO筹集超3000万美元。
6. 美国SEC专员:希望SEC能提出有关代币项目的安全港框架。
7. 海南三亚马拉松2月开跑,首发区块链数字认证奖牌。
8. 日照港大商中心与蓝海银行签署战略合作协议,推动“港口区块链电子仓单”金融服务模式。
9. 瑞典加密交易所BTCX计划在2020年进行IPO。
10. 美国地方法官裁定美国税局对Coinbase用户的加密税务调查只覆盖2016年。[2020/1/18]
订单生成者可以检查他们和他们的交易对手是否使用有效的注册表。
分析 | 金色盘面:ETH新低:金色盘面分析师表示:ETH-USDT跌破趋势线,创调整新低,成交量萎缩,人气低迷。[2018/8/3]
断言calldata
订单中的大部分逻辑是在调用和反向调用上构造谓词。每个订单的静态回调接收调用、交易对手调用和订单元数据的所有参数,并且必须决定是否允许订单匹配,如果允许,填写多少。
Call
第一次调用由订单制造者通过他们的代理合约执行。静态回调接收所有参数,调用目标、调用类型和调用数据等,并且必须验证调用是制造商愿意执行的调用。
Countercall
第二次调用由交易对手执行,为方便起见,在源代码中将其称为“countercall”。静态回调接收所有参数,有countercall目标、countercall类型和countercall数据,并且必须验证调用是制造商愿意接受以换取他们自己的调用。
断言状态
静态调用在调用之后执行,因此可以断言特定状态已更改,而不是断言调用数据的属性。
元数据
元数据包含挂单时间、挂单到期时间、反挂单挂单时间、调用中转入的ETH、当前订单成交值和匹配地址。
广义部分填充
订单签署最大成交,静态调用返回一个uint,如果订单匹配,它指定更新的成交值。订单的当前执行也可以由订单的制造者通过交易手动设置。将订单的成交设置为非零值也会隐式授权订单,因为部分成交订单的授权被缓存以避免不必要的签名检查。
授权订单
订单必须始终由地址授权,该地址拥有将执行调用的代理合约。授权可以通过三种方式完成:签名消息、预先批准和比赛时间批准。
签名消息
授权订单的最常见方法是在链下对订单哈希进行签名。这是无成本的,任何数量的订单都可以被签名、存储、索引,也许还可以在网站或自动订单簿上列出。为了避免取消不再需要的订单的必要性,制造商可以在不久的将来签署到期时间的订单,并且只要他们希望继续征求交易,就可以重新签署新订单。
预先批准
可以通过向合约发送交易来授权订单。这种方法可能对由智能合约构建的订单特别感兴趣,智能合约本身不能在链下签署消息。链上授权会发出一个事件,该事件可以很容易地被希望将订单包含在其数据库中的订单簿索引。
当有即时构建订单匹配时,通过从订单地址发送匹配交易进行授权。如果制造者打算自己发送与订单匹配的交易,会很方便,且可以节省一点gas。
构造匹配的调用数据
匹配的调用数据可以以任何方式链下构建。协议并不关心最终的calldata是如何获得的,只关心它完成了订单的谓词功能。在实践中,订单簿维护者可能会存储额外的元数据以及订单,这些订单可用于构建可能的匹配调用数据。
不对称
在可能的范围内,该协议被设计为对称的,这样订单不需要在任何特定的“边”上,并限制自己与另一“边”上的订单匹配。
第一个不对称是排序。必须首先执行一个调用,执行该调用可能会更改第二个调用的结果。传入的第一个调用首先执行。
第二个不对称是特殊情况下的以太币。由于以太坊的设计限制,以太币与ERC20代币不同,只能通过来自该账户的交易从一个账户发送。为了便于使用,Wyvern尽可能支持特殊情况的ETH:订单的匹配者可以选择将值与匹配交易一起传递,然后将其传递给交易对手并作为参数传递给谓词函数。
Wyvernv3的更改
订单不能自行匹配。但来自同一制造商的两个单独的订单可以相互匹配。
利用双向调用匹配提供的额外表达能力,Wyvernv3将协议的几乎所有辅助方面“推出”到订单上,而不是在交换合约中实现它们,以降低了协议的复杂性,为用户和中继者提供灵活性,并降低gas成本。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。