Ethereum: Uniswap V3核心”Tick”如何引爆DEX的流动性革命?

大家好,今天,我们来聊聊一个在去中心化交易所(DEX)领域,尤其是自Uniswap V3问世以来,变得至关重要的概念——Tick(流动性边界)

如果大家接触过DeFi,可能听说过Uniswap V3的“集中流动性”功能,它极大地提高了资本效率。而“Tick”,正是实现这一革命性功能的底层基石。不理解Tick,就无法真正掌握现代AMM(自动做市商)的工作原理。

那么,让我们一起深入探索,看看Tick到底是什么,它为何如此重要,以及它如何重塑了我们在DEX上的交易和流动性提供方式。在这里插入图片描述

从无限到有限:为什么我们需要Tick?

在Uniswap V2的时代,流动性提供者(LP)的生活很简单,但也充满了无奈。当我们提供流动性时,我们的资金会被均匀地分布在从0到无穷大的整个价格曲线上。这意味着,无论代币价格如何波动,我们的资金都在“工作”。

听起来不错?但问题在于资本效率极低。以稳定币交易对DAI/USDC为例,其价格几乎总是在1.0附近窄幅波动。在V2模型中,我们投入的大部分资金,那些被分配到价格0.1或价格10的位置,几乎永远不会被用到,它们就像沉睡的资产,无法为我们赚取手续费。

Uniswap V3通过引入集中流动性解决了这个问题。它允许LP将资金集中在他们认为最可能发生交易的特定价格区间内。例如,我们可以将我们的DAI/USDC流动性只提供在$0.99到$1.01这个区间。如此一来,在同样资本下,我们的资金利用率和手续费收益会成百上千倍地提高。

而为了在连续的价格曲线上划定出这些离散的、有限的“区间”,一个全新的机制应运而生,那就是Tick

解构Tick:价格的离散边界

从本质上讲,Tick是价格轴上一个个预设好的、离散的点。它们就像高速公路上的里程标记,而不是一个连续的滑块。 流动性不能在任意价格点上添加或移除,而只能在这些由Tick定义的边界之间进行。

为了实现数学上的优雅和计算上的便利,Uniswap V3定义了Tick和价格之间的关系:

p(i) = 1.0001^i

这里的:

  • p(i) 是在第 i 个Tick上的价格。
  • i 是Tick的索引(一个整数,可以为正、负或零)。
  • 1.0001 这个基数意味着相邻两个Tick之间的价格变化总是0.01%(即1个基点)

这个公式非常巧妙。它用指数关系替代了线性关系,确保了无论价格多高或多低,每个Tick代表的相对价格变动是恒定的。例如,从Tick 1到Tick 2的价格变化是0.01%,从Tick 10000到Tick 10001的价格变化同样是0.01%。

Tick Spacing:在精度和成本之间寻求平衡

大家可能会问:既然每个Tick代表0.01%的变动,我是否可以在任意两个相邻的Tick之间提供流动性?比如在Tick 10000和Tick 10001之间?

答案是:不可以。为了防止LP设定的范围过窄,并为了优化Gas成本,Uniswap V3引入了**Tick Spacing(Tick间距)**的概念。

每个交易池根据其手续费等级(Fee Tier)被分配一个固定的tickSpacing。 流动性只能在那些索引能被tickSpacing整除的Tick上进行初始化。

  • 0.05%手续费池tickSpacing = 10
  • 0.30%手续费池tickSpacing = 60
  • 1.00%手续费池tickSpacing = 200

举个例子:在一个ETH/USDC的0.3%手续费池中,tickSpacing为60。这意味着我们只能选择-120, -60, 0, 60, 120, 180… 这样的Tick作为我们流动性区间的边界。我们无法选择Tick 100作为边界,因为它不能被60整除。

这种设计是一种权衡:tickSpacing越小,LP设置区间的精度越高,但交易者在穿越多个Tick时需要支付的Gas费也可能更高,因为合约需要检查和更新更多的Tick状态。

Tick在交易中的运作流程

现在,让我们通过一个交易流程来看看Tick是如何在实践中工作的。

  1. 当前状态:交易池有一个“当前Tick”,它代表了当前市场价格所在的最小价格区间。
  2. 交易发生:一个用户发起了一笔交易,比如用USDC购买ETH。这会推高ETH的价格。
  3. 消耗流动性:交易会消耗当前Tick区间内的ETH流动性。随着ETH被不断买走,池内的ETH/USDC价格沿着曲线向右移动。
  4. 穿越Tick:当这个区间内的ETH被全部耗尽时,价格正好到达了这个区间的右边界,也就是下一个可用的Tick。此时,我们说价格“穿越”了一个Tick。
  5. 激活新流动性:合约会加载下一个Tick区间内由其他LP提供的流动性,并将其设置为新的“当前Tick”区间。交易将继续使用这个新激活区间的流动性。

这个过程确保了交易总是能获得在当前价格下最集中的流动性,从而为交易者提供更低的价格滑点。

下面是一个简化的序列图,展示了当交易导致价格穿越Tick时,智能合约内部的交互逻辑:
在这里插入图片描述

Tick带来的深远影响

Tick机制的引入,对DeFi生态的参与者产生了巨大影响:

  • 对于流动性提供者(LP)

    • 策略多样化:LP可以像中心化交易所的做市商一样,执行复杂的“范围订单”(Range Orders)策略。
    • 更高的资本效率:在窄幅区间内提供流动性,可以获得远超V2的收益。
    • 新的风险:如果市场价格波动超出了我们设定的区间,我们的流动性将变为“闲置”状态,不再赚取手续费,同时无常损失的风险也更加集中。
  • 对于交易者

    • 更低的价格滑点:由于流动性被集中在当前价格附近,单笔交易对价格的冲击更小,交易者可以获得更优的成交价。
结论

Tick不仅仅是一个技术术语,它是DEX从一个“一刀切”的流动性模型,迈向一个更精细、更高效、更具策略性的金融市场的关键。通过将连续的价格曲线离散化为一个个可管理的Tick,Uniswap V3成功地将集中流动性的理念付诸实践,为整个DeFi世界带来了更高的资本效率和更优的交易体验。

下一次当我们在DEX上进行交易或提供流动性时,请记住,我们正在与这些由代码和数学精确定义的“Tick”进行着无形的互动。它们是Web3金融基础设施中,一个优雅而强大的创新。

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

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

相关文章

【概念学习】什么是深度学习

人工智能 人工智能的简洁定义如下:努力将通常由人类完成的智力任务自动化。 因此,人工智能是一个综合性的领域,不仅包括机器学习与深度学习,还包括更多不涉及学习的方法。 在相当长的时间内,许多专家相信,只…

【MATLAB】(八)矩阵

一.矩阵的定义MATLAB 以矩阵作为数据操作的基本单位,这使得矩阵运算变得非常简捷、方便、高效。矩阵是由m*n个数q(i1,2,…,m;j1,2,…,n),排成的m行n列数表,记成称为 mxn 矩阵,也可以记成aij或Am*n。其中,i表示行数,j表…

python的高校考研交流系统

前端开发框架:vue.js 数据库 mysql 版本不限 后端语言框架支持: 1 java(SSM/springboot)-idea/eclipse 2.NodejsVue.js -vscode 3.python(flask/django)–pycharm/vscode 4.php(thinkphp/laravel)-hbuilderx 数据库工具:Navicat/SQLyog等都可以 在当今社…

从零开始部署Qwen3-8b大模型到本地

一、方法一(使用docker镜像进行部署) 安装Linux服务器,本机测试系统为Ubuntu系统;(带有2张A100的GPU服务器) 思路为:使用docker部署python环境镜像在此基础上安装vllm拉取Qwen3-8b模型 docker-compose.yml文件部分配…

AI产品经理如何理解和应用Transformer架构,以提升产品的技术能力和用户体验?

​你好,我是 ✨三桥君✨ 助你迈向AGI时代!!! 📌本文介绍📌 >> 一、引言 在当今的AI浪潮中,Transformer架构已不再是一个陌生的技术名词。从OpenAI的GPT系列到Google的BERT,再…

数据结构(四)内核链表、栈与队列

一、内核链表基础1. 什么是 Linux 内核链表?Linux 内核链表是一种高效的 双向循环链表,广泛应用于内核模块开发中,用于管理数据结构。每个节点通过指针连接前一个和后一个元素,实现插入和删除的高性能。2. 链表的定义与初始化在 L…

软考信息安全工程师11月备考

目前是在职备考,主业是移动端开发工程师。第一个月(8.4-9.6),将分享完下面所有章节内容,平均不到两天更新一节1.网络信息安全概述2.网络攻击原理与常用方法3.密码学基本理论4.网络安全体系与网络安全模型5.物理与环境安全技术6.认证技术与原理…

使用DrissionPage实现xhs笔记自动翻页并爬取笔记视频、图片

使用DrissionPage实现xhs笔记自动翻页并爬取笔记视频、图片 声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经…

使用 input 上传文件, 选择文件后再次修改文件再上传失败( <input type=“file“ /> 自定义上传)

业务实际需求:点击【选择】按钮先选择文件,展示文件的详情:类型,大小,日期......点击【上传】按钮这个时候才去上传文件如图:BUG复现:点击上传文件后发现xlsx文件有些数据没填写,然后…

Win11 下解决 VScode/Trae 插件加载慢, 整个 VScode/Trae 很卡

最近在使用 Trae 写代码, 突然变得很卡, 尤其是插件系统, 比如我打开插件的面板, 以及比如我想预览一下写好的 .md 文件 (已安装了 Markdown Preview Enhanced 插件), 这些都要好几分钟才能打开. 最初以为是 Trae 坏掉了, 然后重启 Trae 不管用, 再重启电脑居然也不管用, 接着…

微型导轨:智能家居抽屉的智能化应用

当智能家居从“功能堆砌”转向“体验升级”,微型导轨凭借超薄结构、静音运行与精准定位能力,成为隐藏式设计、自动化交互的核心部件,让家具“动”得优雅且可靠。智能扫地机器人:微型导轨被应用于边刷的伸缩调节机构,能…

百套易语言教程、易语言视频教程【易语言编程入门教程】

百套易语言教程、易语言视频教程【易语言编程入门教程】 易语言辅助教程(爱易编程论坛讲师 24课讲师:远航 9课爱易编程论坛讲师:爱易、小Call 8课).rar 时光论坛易语言全套教程【易语言零基础易语言抓包易语言填表】完整版.rar 易…

nlp-词汇分析

目录 一、语言中的词汇 1、词的形态学 2、词的词性 二、词语规范化 1、词语切分 2、词形还原 3、词干提取 三、中文分词 1、概述 2、基于最大匹配的中文分词 3、基于线性链条件随机场的中文分词 4、基于感知器的中文分词 词序列预测 模型参数学习 特征定义 5、…

Kafka ISR机制和Raft区别:副本数优化的秘密

Kafka的ISR机制和像Raft这样的传统基于Quorum(法定人数)的协议之间的区别确实很微妙,但也非常重要。让我们来分析一下为什么ISR可以减少所需的副本数量。在采用ISR模型和(f1)个副本数的配置下,一个Kafka分区…

新手向:GitCode疑难问题诊疗

Git疑难问题诊疗引言在软件开发过程中,版本控制系统(VCS)是不可或缺的工具,而Git以其分布式架构、强大的分支管理能力和高效的性能成为行业标准。然而,随着项目复杂度的提升,Git的使用也可能遇到各种疑难问…

电子电气架构 ---如何焕新升级为 48V 电气架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

JavaScript判断数字方法

在JavaScript中,判断一个值是否为数字有多种场景,以下是常见方法及适用情况:1. 严格判断数字类型(排除NaN)使用 typeof 结合 !isNaN(),确保值是 number 类型且非 NaN:javascriptfunction isNumb…

C++编程之旅-- -- --始探门庭的求知漫溯(二)

目录引用内联函数(C11)auto关键字基于范围的for循环指针空值---nullptr引用 引用:指将变量以另一个名称来展现的。它并非是一个新变量而是一个别名,它们同指一块内存空间。就如古时那些有字的人,亦或者是周树人,你说鲁迅是不是周树人呢&…

wordpress网站的“管理员邮箱地址”有什么用?

在WordPress网站的“设置”-“常规”中设置的“管理员邮箱地址”有多种用途,以下是详细介绍: 一、用户注册相关 密码找回功能 当网站用户忘记密码时,他们会通过点击登录页面上的“忘记密码”链接来重置密码。WordPress系统会向管理员邮箱地…

202506 电子学会青少年等级考试机器人六级实际操作真题

更多内容和历年真题请查看网站:【试卷中心 -----> 电子学会 ----> 机器人技术 ----> 六级】 网站链接 青少年软件编程历年真题模拟题实时更新 202506 青少年等级考试机器人实操真题六级 一、实际操作 1. 主题:姿态传感器交互步进电机左右…