平均价格算法:TWAP vs. VWAP

news2025/1/20 3:33:59

时间加权平均价格 (TWAP) 和成交量加权平均价格 (VWAP) 算法应用不同的方法来计算资产价格,这是所有去中心化金融 (DeFi) 原语的组成部分。

在本文中,我们介绍了 TWAP 和 VWAP 算法之间的差异,解释了它们如何在区块链环境中为资产定价,并探讨它们各自的优势。选择不同的安全设计和基础设施,DeFi 协议可以为用户提供更准确、可靠和公平的价格。了解 TWAP 和 VWAP 算法之间的差异对于做出选择非常关键。

什么是 TWAP?

TWAP 全称是 time-weighted average price(时间加权平均价格)。它是一种定价算法,用于计算特定时期内资产的平均价格。

在 DeFi 中,一种称为自动做市商 (AMM) 的去中心化交易所 (DEX) 可用于生成可在其他协议中使用的 TWAP 价格。 TWAP 也可以用来指用于执行大批量订单的交易策略,通过在设定的时间内将其分成相等的部分,以最大限度地减少滑点。在这篇文章中,我们关注定价机制。

TWAP 是如何被计算的?

TWAP 的计算方法是将一段时期内多个点的价格相加,然后将该相加之和除以价格点总数。

这里是 TWAP 通常的计算公式:

TWAP = (TP1+ TP2… + TPn) / n,
其中 TP1 是第一个时间点的价格, n 是时间点的总数。

例如,假设我们想要使用 15 秒的价格点间隔计算一分钟内资产的 TWAP。如果价格在 0 秒时为 100 美元,在 15 秒时为 102 美元,在 30 秒时为 101 美元,在 45 秒时为 98 美元,在 60 秒时为 103 美元,那么为了计算 TWAP,我们将对所有价格点(100、102、101、99、 103) 然后将它们除以时间点数 (5)。在这个例子中,TWAP 是 101 美元。

TWAP 的优势

简单

与更严格的定价机制相比,TWAP 计算简单且执行成本低。这可以使它们易于在链上实施并高效运行。

防止闪电贷攻击

闪电贷是无抵押贷款,允许用户借入资产并在同一笔交易中偿还。这可能会导致使用 AMM DEX 作为流动性池的现货定价机制的 dApp 被攻击,其中价格的计算方法是简单地将一种资产的数量除以双边流动性池中的另一种资产。在这种情况下,黑客可以在单笔交易中借入大量资金,用它​​们来操纵现货价格,并攻击依赖于该流动性池现货价格的智能合约。

通过使用 TWAP 从 AMM DEX 跨多个区块生成价格,协议可以保护自己免受这些闪贷攻击。

什么是 VWAP?

VWAP 代表“成交量加权平均价格”。它是一种用于计算资产价格的机制,方法是从多个交易环境中获取价格数据,并根据资产交易的每个流动市场的交易量对每个价格进行加权。 VWAP 算法是大多数 DeFi 协议的基础,Chainlink Price Feeds 使用的就是 VWAP。

VWAP 计算方法还在金融领域得到更广泛的使用,它被用作交易者的技术指标、经纪商或交易所提供的订单选项以及基准。在本文中,我们重点关注它作为定价机制的用途。

VWAP 如何被计算?

VWAP 的计算方法是采用资产在多个交易环境中的交易价格,并根据每个交易所的交易量对这些价格点进行加权,通常会过滤掉虚拟交易(wash trading)和其他异常值。

这里是 VWAP 通常的计算公式:

VWAP = (V1 x P1 + V2 x P2… + Vn x Pn) / Total Volume,
其中,V1 和 P1 是在第一个交易环境(trading environment)中,被交易资产的交易量和价格,n 是在当前计算中交易环境的数量。

例如,我们可以计算特定时间范围内虚构资产的 VWAP。假设 100 个通证在 X 交易所以 101 美元的价格交易,150 个通证在交易所 Y 以 102 美元的价格交易,500 个通证在交易所 Z 以 100 美元的价格交易。我们首先将价格乘以交易量在每个交易环境 (100 x 101 + 150 x 102 + 500 x 100),然后将结果除以总交易量 (100 + 150 + 500)。我们将 75,400 除以 750,得到 100.53 美元的 VWAP。

VWAP 优势

市场覆盖度高

VWAP 可以为用户提供反映资产在各种交易环境(包括小型和大型交易所)的资产价格的全球市场价格。这可以过滤掉更容易受到市场操纵的低流动性市场上的异常值,更加重视交易活动更多的市场。尽管流动性会在各个市场之间转移,但是 VMAP 仍然可以产生市场范围内的价格。

准确且更新快

通过合并来自多个交易环境的数据,VWAP 机制的用户的价格数据,更准确地反映全球资产供需。此外,使用的数据更新频率更高,这一点可以让基于 VWAP 的价格和所跟踪资产的市场价格更紧密。

防止被操控

VWAP 算法更加防操纵,因为它们不依赖于单一交易市场,所以大资金或通过闪贷无法对它进行攻击从而操纵价格。如果要发起攻击,攻击者必须操纵大部分资产的交易市场,而这个过程本身就改变资产本身的市场价格。

TWAP 的劣势

虽然 TWAP 和 VWAP 价格机制都有一定的优势,但 TWAP 算法有许多缺点,使其不适用于大多数 DeFi 用例。

有延迟

TWAP 算法依赖于历史价格数据,使其成为固有的滞后指标。这种滞后可能导致资产 TWAP 的价格在高度波动期间与市场价格会不同步,并可能被攻击者利用。虽然 TWAP 计算可以通过使用更短时间跨度的价格点来减少这种滞后,但这将使资本市场的攻击者参与操纵的成本降低。

相比之下,VWAP 机制可用于根据最新市场数据计算价格,并提供反映资产全球交易市场最新活动和指标,并且防篡改。

市场覆盖率低

市场覆盖率是指定价机制考虑的交易环境的数量。 TWAP 算法,尤其是在链上执行时,通常依赖于来自单一交易环境的数据,这意味着它们不反映其他中心化和去中心化交易所的全球资产市场。

TWAP 算法的这个问题在 DeFi 中尤为重要,因为去中心化交易协议通常在跨多个链的不同实例中同时运行不同版本的 DEX。由于恶意行为者只需要操纵一个交易所来影响 TWAP 算法,交易所之间分散的流动性意味着他们只需更少的资金就能进行攻击。此外,流动性会随着时间的推移而变化,因此虽然用于 TWAP 数据的交易所某一天可能具有流动性,但无法保证这种流动性会持续存在。

攻击者需要操纵整个市场才能影响 VWAP 算法。这是因为 VWAP 算法可以整合所有不同的交易环境,包括资产交易的 CEX 和 DEX 实例,从而提供更稳健的资产价格和全球市场覆盖。

提升安全性的方式有限

TWAP 机制在链上计算时,其提高安全性的能力有限。虽然延长衡量价格点的时间段有助于提高防篡改能力,但这会降低数据的更新频率,从而降低价格准确性。本质上,TWAP 机制的安全性和准确性之间是负相关的,因此无法同时针对两者进行优化。

传统链上 TWAP 机制变得更安全的唯一可行方法是增加跟踪市场的流动性/交易量,从而提高攻击者的成本。

在为 DeFi 应用程序提供市场数据的背景下,VWAP 算法可以在不影响其价格准确性的情况下在多个方面提高安全性。提高安全性的常用方法包括集成更多数据源以消除中心化风险并防止 API 停机,利用更高质量的数据提供商来消除数据异常值和可疑交易活动,还可以纳入加密经济激励措施。

资产多样性差

如果 DeFi 协议使用链上流动性池生成 TWAP 定价,那么它受到可在其交易所交易的资产的限制。这意味着它们将始终受到它们所运行的区块链上可用通证的限制。例如,基于以太坊的协议只能生成网络上基于其他通证定价的 ERC-20 通证的 TWAP 价格。

相反,Chainlink 网络使 DeFi 协议不仅可以利用来自整个 Web3 生态系统的原生资产的 VWAP 价格数据,还可以利用货币、商品和合成资产等广泛的现实世界资产,以及直接以法定货币定价的资产。

可能被多区块攻击

在 PoS 区块链上,使用链上 TWAP 定价机制的协议可能容易受到多区块 MEV 攻击(multi-block MEV attack)。这些攻击不是像闪贷那样在单个交易中操纵 AMM DEX 中的现货价格,攻击者会在两个或多个连续区块中操纵价格。这是可能的,因为在这个场景中,未来区块选择的验证者(validator)通常是提前知道的,所以拥有足够大权益的攻击者偶尔会控制这个验证者,而验证者在网络中会被分配任务,去发布两个或多个连续区块。

通过 Chainlink 喂价使用 VWAP

虽然 Chainlink 网络能够支持 TWAP 或任何其他定价方法,但 Chainlink 价格源使用基于 VWAP 的机制,因为它生成最准确、防篡改和可靠的市场数据。

Chainlink 喂价由一系列高质量数据提供商提供支持,这些提供商基于 VWAP 的资产定价,提供广泛的资产的高质量市场数据,从而为 DeFi 经济赋能,即使在市场极端波动期间也能保持准确性。这使用户能够检索资产的最新定价数据,以最小化信任的方式在智能合约的链上或链下应用程序中使用。

更具体地说,Chainlink 喂价是存储最新和历史资产价格的链上参考合约,由独立的预言机节点运营商组成的去中心化预言机网络 (DON) 自动更新。由于区块链无法在本地访问外部系统,因此预言机网络在 DeFi 生态系统中发挥关键作用,让智能合约可以根据现实世界的输入和输出数据来执行。

Chainlink 喂价为广泛的 DeFi 场景提供支持,包括货币市场、stablecoin、期权、期货、合成资产、保险等。截至 2022 年 9 月 1 日,Chainlink Price Feeds 已在链上交付 42 亿次数据,帮助保护 1,470 多个项目和价值数百亿美元的价值。

在这里插入图片描述

Chainlink 喂价以去中心化、可靠且高度准确的市场数据给 DeFi 提供支持。

总结

准确且防篡改的价格数据是 DeFi 协议成功而且安全的的核心,有助于确保用户获得资产公平价格,攻击者无法操纵价格。对于大多数 DeFi 用例,基于 VWAP 的价格机制比 TWAP 计算更合适。借助 Chainlink Price Feeds,协议可以无缝集成基于 VWAP 的价格数据,这些数据高度可靠、高质量且在多级别去中心化,以便更好地为用户、项目和更广泛的空间服务。

你可以在这里深入研究智能合约,如果在实践中遇到问题,可以联系我们。欢迎关注 Chainlink 预言机并且私信加入开发者社区,有大量关于智能合约的学习资料以及关于区块链的话题!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84681.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

化学工程与装备杂志化学工程与装备杂志社化学工程与装备编辑部2022年第10期目录

科学研究与开发《化学工程与装备》投稿:cnqikantg126.com 槐木活性炭处理生活废水的研究 孔繁铸;高丽娟;赵开创;钱程; 1-3 基于Pumplinx的水泵机械密封温升仿真研究 赵雪飞;贾红杰;李雪峰;李雷;王景新;张晓辉; 4-728 全固态石墨烯-Ag/AgCl海洋电场探测电…

功率放大器的输入阻抗和输出阻抗是交流还是直流电阻

功率放大器的输入阻抗和输出阻抗一般是指交流电阻。交流电阻指一些伏安特性曲线的斜率。所以放大器输入阻抗和输出阻抗都是理论分析计算为主,而不使用万用表测量其大小。 输入阻抗一般是指电路输入端的等效阻抗,输入端加上一个电压源U,测量输…

WRF模式安装+详细运行教程

安装教程在安装之前,首先需要去查看自己的 Linux 系统(虚拟机或者服 务器)上的编译环境,也就是确定自己是否安装编译器或安装了哪种编 译器。(因为安装过程需要选择编译器)常用的编译器分为三种系列&#x…

Typora基础使用技巧

Typora Tutorial 1.数学符号及公式 (1).常用数学符号 数学符号没什么特别的语法,这里顺道总结以下方便使用: + - ≠ ≈ / > < ≯ ≮ ≤ ≥ ∵ ∴ ∽ ≌, √, Φ Χ Ψ Ωα…

antd-protable的分页逻辑封装

一、前言 这次的分页基于pro-table进行封装。 前端分页看似是个小功能,但里面隐藏的逻辑还是非常多的,比如我们业务中需要的分页器除了能进行正常的页码切换等操作外,还需要如下的功能: 次页删除最后一条数据需要跳转至第一页&…

计算机研究生就业方向之去大厂做大数据

我一直跟学生们说你考计算机的研究生之前一定要想好你想干什么,如果你只是转码,那么你不一定要考研,至少以下几个职位研究生是没有啥优势的: 1,软件测试工程师(培训一下就行) 2,前…

JUC并发编程第十篇,谈谈ThreadLocal原理与内存泄露的那些事儿

JUC并发编程第十篇,谈谈ThreadLocal原理与内存泄露的那些事儿一、ThreadLocal是什么?能干嘛?二、ThreadLocal 使用场景举例三、阿里开发规范中 ThreadLocal 的使用(SimpleDateFormat)四、ThreadLocal 底层源码架构分析…

一个帖子教你实现 商品下单、获取商品订单信息、商品送货时发送通知 一体化功能

1、介绍 总览 通过无缝数据库结构,在保证数据的可用性、一致性、安全性外,云数据库能够实现数据在客户端和云端之间的无缝同步。云函数提供serverless环境,AppGallery Connect的其他服务为云函数提供事件源。监听事件源可以触发相关函数。 …

Word处理控件Aspose.Words功能演示:使用 C++ 将 PowerPoint 演示文稿转换为 Word 文档

Aspose API 支持旗下产品覆盖文档、图表、PDF、条码、OCR、CAD、HTML、电子邮件等各个文档管理领域,为全球.NET 、Java、C 等10余种平台开发人员提供丰富的开发选择。 在某些情况下,您有一个 PowerPoint 演示文稿并想要创建一个详细描述其内容的文档。为…

[附源码]Python计算机毕业设计电影院购票系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

小米手机系统好牛,真是国产系统的佼佼者

在十多年前智能手机,基本就没有定制、优化系统的概念,手机的图标都巨丑无比,而且还有好多不root都卸载不掉。当时买了一部漂亮国的某想手机,光预装应用就占了94%的空间,内容倒是特别“全面”,什么看小说的、…

“1只老母鸡”估值180亿!老乡鸡发展20年,都做对了什么?

酝酿了两年之久后,合肥终于迎来了养鸡IPO,估值180亿。 发迹于安徽、对标肯德基、麦当劳的老乡鸡餐饮股份有限公司更新了招股书,再度冲刺“中式快餐第一股”。 老乡鸡脱胎于2013年成立的“肥西老母鸡”,虽然已经走过了近二十个年头…

react源码中的生命周期和事件系统

这一章我想跟大家探讨的是React的生命周期与事件系统。 jsx的编译结果 因为前面也讲到jsx在v17中的编译结果,除了标签名,其他的挂在标签上的属性(比如class),事件(比如click事件),都…

《Python多人游戏项目实战》第一节 简单的方块移动

目录 1.1 设置游戏窗口 1.2 绘制一个方块 1.3 编写服务端代码 1.4 完善客户端代码 1.5 完整代码下载地址 在本节,我们将通过一个简单的方块移动程序进入多人联机游戏的大门。每个玩家打开游戏窗口后都可以控制一个方块,当某个玩移动方块后&#xff…

面试八股-Java并发

1.线程 和进程区别: 进程:独立地址空间 代码、数据、堆栈 资源分配基本单位线程:共享地址空间 线程ID、指令指针、寄存器集合和堆栈 调度分派基本单位 1.1.使用 实现Runable接口,run方法为实际逻辑实现Callable接口&#xff0…

离散数学与组合数学-数理逻辑-02谓词演算及其形式系统

文章目录第二章 谓词演算及其形式系统2.1 个体谓词和量词2.1.1 个体谓词演算永真式谓词公式的前束范式一阶谓词演算形式系统谓词逻辑的等值演算与推理第二章 谓词演算及其形式系统 2.1 个体谓词和量词 2.1.1 个体 个体常元(constants):确定的个体用a,b,ca,b,ca,b,c等小写字母…

羟基聚乙二醇叠氮 HO-PEG-N3/Azide的结构式

羟基聚乙二醇叠氮(HO-PEG-N3)是异双功能PEG衍生物之一。叠氮化物在铜离子催化的水溶液中与炔基有效反应。炔烃和叠氮化物之间的1,3-偶极环加成反应是一种高产率的点击化学反应,可实现两个相应分子的高效结合。叠氮化物也可以与应变促进的环辛炔反应,不需…

Pr:使用作品

利用作品 Production,可将大型复杂工作流拆分为多个可管理的 Pr 项目,并可在作品内跨项目、跨平台(macOS 和 Windows)引用媒体,无论这些资源是在本地存储或是共享的网络存储,作品可让一切保持同步。作品&am…

真希望你也明白runtime.Map和sync.Map

Map 官方介绍 One of the most useful data structures in computer science is the hash table. Many hash table implementations exist with varying properties, but in general they offer fast lookups, adds, and deletes. Go provides a built-in map type that imple…

Grafana监控大屏配置参数介绍(二)

Grafana 系列文章,版本:OOS v9.3.1 Grafana 的介绍和安装Grafana监控大屏配置参数介绍(一)Grafana监控大屏配置参数介绍(二) 上一篇文章已经介绍了图表可视化配置部分的 Panel options、Tooltip、Legend 3类…