Skip to content

Latest commit

 

History

History
406 lines (207 loc) · 28.1 KB

File metadata and controls

406 lines (207 loc) · 28.1 KB
timezone UTC+8

Yizun Lu

GitHub ID: Aster-amellus

Telegram: @Qfwfq_qwq

Self-introduction

杭州,HDU,Web3小白,曾对Crypto感兴趣,想学习Web3的新东西。最近没什么事,在搓一个小编译器。

Notes

2025-08-29

Uniswap V3 笔记

1. 核心革命:集中流动性 (Concentrated Liquidity)

这是 V3 的灵魂,也是它与 V2 的根本区别。

  • V2 的痛点:资本效率低下 V2 的 x⋅y=k 曲线将流动性均匀地分布在从 0 到无穷大的整个价格曲线上。对于一个 ETH/DAI 交易对,这意味着你有一部分资金押注 ETH 会跌到 1 美元,另一部分资金押注 ETH 会涨到 50 万美元。在 99.99% 的时间里,这些资金都处于闲置状态,不参与交易,也不赚取手续费。这就像一家超市把大部分库存放在南极的仓库里一样,效率极低。

  • V3 的解决方案:让流动性“指哪打哪” V3 允许流动性提供者 (LPs) 将他们的资金集中在特定的价格区间内。例如,作为 ETH/DAI 的 LP,如果我认为 ETH 价格将在未来一段时间内在 $2,900 到 $3,100 之间波动,我可以只为这个区间提供流动性。

    • 效果: 在这个价格区间内,我的资金被高效利用。相对于在 V2 中投入相同的资金,我可以在这个窄范围内提供深得多的流动性,从而捕获更多的交易手续费。Uniswap 团队声称,资本效率最高可提升 4000 倍。
  • “虚拟”流动性的概念 (The Math Trick) 为了实现这一点,V3 在数学上做了一个聪明的抽象。它不再是单一的 x⋅y=k 曲线,而是将无数微小的、遵循 x⋅y=k 的曲线段拼接在一起。当你提供流动性时,你本质上是在一个平移和缩放后的“虚拟”曲线上提供流动性。

    • 当市场价格在你设定的区间内时,你的流动性处于**激活 (Active)**状态,积极参与交易并赚取费用。此时你的仓位由两种代币组成。

    • 当市场价格超出你的区间时(例如 ETH 涨破 $3,100),你的流动性就**失效 (Inactive)**了。你的仓位会自动转换成价值较低的资产(在这个例子里是 DAI)。反之,如果跌破 $2,900,你的仓位会全部变成 ETH。

2. 架构与特性的进化

集中流动性这个核心变化引发了一系列连锁反应,重塑了整个系统的设计。

  1. LP Token 变成了 NFT (ERC-721)

    • 原因: 在 V2 中,所有 LP 的贡献都是一样的(在整个曲线上),所以他们的凭证(LP Token)是同质化的(Fungible, ERC-20)。但在 V3 中,每个 LP 的仓位都是独一无二的——不同的价格区间、不同的资金量。因此,必须使用非同质化代币 (Non-Fungible Token - NFT) 来代表这种独特的、不可互换的仓位。

    • 工程师视角: 这是一个绝妙的数据结构选择。NFT 完美地封装了每个仓位的状态(upperTick, lowerTick, liquidity 等),使得仓位管理和转移变得清晰。这也催生了第三方协议,可以帮你管理这些复杂的“LP NFT”。

  2. 灵活的手续费等级 (Flexible Fees) V2 的 0.3% 手续费一刀切。V3 认识到不同类型的交易对风险和波动性不同,因此引入了多个手续费等级,由社区投票治理决定(最初部署时有 0.05%, 0.30%, 1.00%)。

    • 0.05%: 适用于像 USDC/DAI 这样的稳定币交易对,波动性极低。

    • 0.30%: 适用于像 ETH/DAI 这样的标准、高流动性交易对。

    • 1.00%: 适用于长尾、高波动性的“山寨币”交易对,用以补偿 LP 面临的巨大无常损失风险。

  3. 对 LP 策略的颠覆:从被动到主动

    • V2: “存入然后忘记”(Set it and forget it)。

    • V3: 你现在是一名主动的做市商。你需要对市场有自己的判断,设定合适的价格区间。如果价格移出你的区间,你不仅停止赚取手续费,还 100% 暴露在单边资产的风险下。你需要定期检查并调整(rebalance)你的仓位。

    • 幽默的现实: 恭喜你,你已经从一个悠闲的收租农夫,升级成了一位需要盯盘、分析 K 线、管理风险的华尔街交易员(的丐版)。

  4. 更强的价格预言机 (Advanced Oracle) V3 的预言机比 V2 更便宜、更精确。它不再只是累积价格,而是存储了一系列历史时间点的“检查点”。这使得外部应用可以非常方便且低 Gas 费地计算出近期任意时间段的 TWAP,而无需在链上进行昂贵的历史状态查找。

3. 技术核心:Ticks(价格刻度)

为了在工程上实现价格区间的选择,V3 引入了 Ticks 的概念。

  • 整个价格空间被离散化成一系列极小的单位,称为 “ticks”。每个 tick 对应一个特定的价格。价格 p 和 tick 索引 i 的关系是 p(i)=1.0001i。

  • LP 在创建仓位时,不是选择两个价格,而是选择一个起始 tick (lower tick) 和一个结束 tick (upper tick)。你的流动性只在这两个 ticks 之间生效。

  • Tick Spacing: 为了优化 Gas 和防止流动性过于碎片化,不同手续费等级的池子有不同的最小 tick 间距。例如,0.05% 的稳定币池,tick 间距很小,允许 LP 设置非常窄的区间。而 1.00% 的山寨币池,tick 间距较大。

Uniswap V4 笔记

V4 的核心不再是优化单一功能,而是将 Uniswap 平台化

1. 架构变革 I:Singleton(单例合约)

这是 V4 底层最激进的变革,也是一切优化的基础。

  • V2/V3 的模式:工厂模式 (Factory Pattern) 每个流动性池(Pool)都是一个独立部署的智能合约。创建一个新的交易对,就需要 Factory 合约 CREATE 一个全新的 PairPool 合約。

    • 缺点:

      1. 高 Gas 费: 创建池子的成本高。更重要的是,多跳交易(Multi-hop Swap),比如 A -> B -> C,需要在 A/B 池合约和 B/C 池合约之间来回转移代币,每次 transfer 都是一笔不小的 Gas 开销。

      2. 状态分散: 流动性和状态信息分散在成千上万个独立的合约中。

  • V4 的解决方案:单例模式 (Singleton Pattern) V4 将所有池子都放在一个巨大的单例合约中,名为 PoolManager。不再有成千上万的合约,只有一个合约管理所有池子的状态。池子的唯一标识不再是合约地址,而是一个 PoolKey(类似于复合主键)。

    • 工程师视角: 这就像数据库架构从“为每个用户创建一个独立的表”演进到“用一张巨大的用户表,通过 user_id 来索引”,在链上环境中,这种架构上的集约化能带来巨大的性能提升。

    • 直接好处: 多跳交易现在在同一个合约内部进行,无需多次外部 transfer 调用,极大地降低了 Gas 成本。

2. II:Hooks(钩子)

如果说 Singleton 是 V4 的骨架,那么 Hooks 就是 V4 的灵魂和无限可能性的来源。

  • 定义: Hooks 是外部部署的、独立的智能合约,它们可以在一个池子生命周期的关键节点被“挂载”并执行自定义逻辑。池子的创建者可以选择性地为其池子启用一个或多个 Hooks。

  • 关键的执行节点 (Hook Points):

    • beforeInitialize / afterInitialize: 在池子初始化前后。

    • beforeModifyPosition / afterModifyPosition: 在 LP 修改仓位(增减流动性)前后。

    • beforeSwap / afterSwap: 在交易发生前后。

    • beforeDonate / afterDonate: 在向池子捐赠资产前后。

  • 这意味着什么?—— DeFi 的“应用商店”模式 Uniswap 不再是一个功能固化的 AMM,而是一个底层协议。任何人都可以开发自己的 Hook,来实现 V3 无法想象的功能,然后让池子创建者像安装 App 一样“安装”到他们的池子里。

  • Hooks 能实现的功能(想象力的狂欢):

    1. 动态手续费 (Dynamic Fees): 通过 beforeSwap Hook,可以根据市场的波动率、交易量或其他链上数据,实时调整交易手续费。告别 V3 固定的三档费率。

    2. 链上限价单 (On-chain Limit Orders): beforeSwap Hook 可以在交易前检查池子价格,只有当价格达到预设目标时,才允许一笔特殊的“限价单”交易执行。

    3. 时间加权平均做市商 (TWAMM): 通过 Hook 将一笔大额订单自动分解成无数笔小订单,在一段时间内平滑地执行,以减小价格冲击。

    4. 自定义预言机 (Custom Oracles): 利用 Hook 捕获和计算更复杂的、超越简单 TWAP 的价格数据,比如波动率预言机。

    5. 防止 MEV (MEV Mitigation): 设计一个 Hook,将交易排序的权利进行拍卖,并将收益返还给 LP,实现 MEV 利润的内部化。

    6. 自动复投LP收益: afterModifyPosition Hook 可以在 LP 领取手续费后,自动将收益重新投入到流动性仓位中。

3. 底层技术优化:Flash Accounting(闪电记账)

这是支撑 Singleton 和 Hooks 高效运行的关键机制。

  • 原理: 在一笔复杂的交易(如多跳交易)的执行过程中,PoolManager 合约并不立即执行实际的代币 transfer。它只是在内存中更新一个临时的净额结算表(_accountDelta)。只有在整个顶层交易即将结束时,它才计算出每个地址最终应该接收或支付多少代幣,然后执行一次性的、净额的 transfer 操作。

  • 工程师视角: 这就是一个数据库事务 (Database Transaction) on Steroids。所有的中间操作都只是记账,直到最后才 commit 到链上状态。这不仅极大地节省了 Gas(因为 transfer 是昂贵的 storage write 操作),也让 Hooks 的逻辑可以更安全地执行,因为它们操作的是临时状态,如果最终结算失败,整个交易会回滚,不会留下中间的烂摊子。

2025-08-28

Uniswap V2 学习笔记

核心思想:恒定乘积自动做市商 (Constant Product AMM)

  • 自动做市商 (AMM): 没有买卖双方挂单,只有一个巨大的池子,里面装着两种代币(例如 ETH 和 DAI)。你想交易?直接跟这个池子换就行了。池子就是你的交易对手。

  • 恒定乘积公式: 这是 V2 的灵魂。对于一个由代币 X 和代币 Y 组成的流动性池,其核心规则是:

$$x⋅y=k$$

其中:

  • x 是池中代币 X 的数量。

  • y 是池中代币 Y 的数量。

  • k 是一个常数(“乘积”)。

这个公式的魔力在于,任何交易都必须保持 k 不变(在不考虑手续费的情况下)。当你用代币 X 换取代币 Y 时,你向池中增加了 x,就必须从中取出等价的 y,使得新的数量 $$(x+Δx)⋅(y−Δy)=k$$

本质上是一个状态机。池子的状态由 (x, y) 定义,k 是这个状态的一个不变量。交易是一个状态转换函数,它接收输入 Δx,计算并返回输出 Δy,同时更新状态为 (x + \Delta x, y - \Delta y)。极其简洁,没有外部依赖(比如价格预言机),完全由池内资产的比例自发定价。

2. 系统中的关键角色

  • 交易者 (Traders): 就是我们这些想把手里的“狗狗币”换成“佩佩蛙币”的人。我们与池子互动,支付一笔小额手续费(0.3%),然后改变池中两种代幣的比例。

  • 流动性提供者 (Liquidity Providers - LPs): 这些是“池主”。他们按当前池子的比例,同时存入两种代币(例如,1 ETH 和 3000 DAI)来为池子增加“深度”。作为回报,他们会收到代表其贡献份额的 LP 代币,并可以按比例分享所有交易者支付的 0.3% 手续费。

3. 架构设计:核心 vs. 外围 (Core vs. Periphery)

Uniswap V2 的软件工程思想:关注点分离

  • 核心 (Core): UniswapV2Pair.sol 合约。

    • 极简且安全: 每个交易对(如 ETH/DAI)都是一个独立的 Pair 合约实例。它的代码极其精简,只负责最核心的逻辑:资产存储、执行兑换(强制遵循 $$x⋅y=k$$)、铸造/销毁 LP 代币。

    • 不可升级: 为了最大限度地保证安全和可信度,核心合约是不可变的。一旦部署,永不更改。这就像是把物理定律刻在石头上。

  • 外围 (Periphery): UniswapV2Router02.sol 合约。

    • 用户友好的入口: 这是用户和应用实际交互的地方。它像一个路由器,负责处理复杂的交易路径。

    • 功能丰富: 提供了诸如 swapExactTokensForTokens(用精确数量的输入换取尽可能多的输出)、addLiquidity(帮你计算并添加流动性)等便利功能。它还能处理多路径兑换(比如 A -> B -> C)。

    • 可替代性: 如果 Router 合约有 bug 或者有更好的版本,社区可以部署一个新的 Router,而无需触动任何核心的 Pair 合约。这使得系统在保持核心稳定的同时,具备了迭代和演进的能力。

这是一种典型的内核/微服务架构Pair 合约是高度优化的、安全的微服务,每个服务只做一件事并做到极致。Router 是一个聚合层或 API 网关,为前端和用户提供更便利的接口,并编排对底层核心服务的调用。

4. V2 的重大创新与“特性”

  1. ERC20/ERC20 交易对: V1 只支持 ETH 与一种 ERC20 代币的交易。V2 实现了任意两种 ERC20 代币之间的直接交易对,大大扩展了其应用范围。

  2. 价格预言机 (Price Oracles):

    • 问题: 直接用 x/y 作为价格很容易被操控。攻击者可以在一个区块的开始用一笔大额交易拉高价格,执行某些操作,然后在区块结束时再用一笔反向交易把价格砸回来,成本极低。

    • V2 的解决方案: 引入了时间加权平均价格 (Time-Weighted Average Price - TWAP)。合约会累积每个区块开始时的价格,并记录时间戳。通过 (当前累积值 - 历史累积值) / (当前时间 - 历史时间),可以计算出一段时间内的平均价格,这极大地提高了价格操纵的成本。对于需要喂价的 DeFi 应用来说,这是一个巨大的进步。

  3. 闪电兑换 (Flash Swaps):

    • 概念: 允许用户在一笔交易内,先从 Uniswap 池中“借出”任意数量的代币,用这些代币去做任何事情(比如套利),只要在交易结束前把借出的代币(加上一点手续费)还回来就行。如果还不回来,整笔交易就会回滚(revert),就像什么都没发生过一样。

    • 工程师视角: 这是原子性(Atomicity)的完美体现。整个 借 -> 操作 -> 还 的过程被包裹在一个 transaction 中。这为套利机器人和复杂的 DeFi 协议组合提供了无与伦比的资本效率。你不再需要拥有 1000 万美元才能进行 1000 万美元的套利了。

  4. 无常损失 (Impermanent Loss):

    • LP 的噩梦: 这是成为 LP 必须理解的风险。当池中代币的相对价格发生变化时,LP 持有的资产价值会低于他们当初直接持有这两种代币(HODL)的价值。

    • 为什么?: 假设你存入了 1 ETH 和 3000 DAI(此时 1 ETH = 3000 DAI)。当市场上 ETH 价格涨到 12000 DAI 时,套利者会向你的池子中放入 DAI,取出 ETH,直到池内价格与市场价持平。此时池内可能是 0.5 ETH 和 6000 DAI。你总资产价值为 0.5⋅12000+6000=12000 DAI。但如果你当初直接持有 1 ETH 和 3000 DAI,你的资产价值会是 1⋅12000+3000=15000 DAI。这 3000 DAI 的差额就是无常损失。

    • “无常”: 因为如果价格回到你存入时的比例,这个损失就会消失。但如果价格一去不复返,那它就是“永恒”的损失了。LP 的收益来自于交易手续费,这笔收益需要能够覆盖无常损失的风险。

5. 交易流程剖析 (以 swapExactTokensForTokens 为例)

  1. 授权 (Approve): 用户首先需要调用代币 A 的 approve 方法,授权 Router 合约可以从自己钱包里转移一定数量的代币 A。

  2. 调用 Router: 用户调用 Router 的 swapExactTokensForTokens 函数,传入参数:输入数量、最小输出数量(为了防止滑点)、交易路径([TokenA, TokenB])、接收地址和截止时间。

  3. Router 操作:

    • Router 合约使用 transferFrom 把用户的代币 A 拉到 Pair(A,B) 合约。

    • Router 调用 Pair(A,B) 合约的 swap 方法。

  4. Pair 合约核心计算:

    • Pair 合约根据当前池中的储量 (x, y) 和收到的输入 Δx,计算出应该转出多少代币 B (Δy) 来维持 k 不变。

    • 它将计算出的 Δy 数量的代币 B 发送到用户指定的接收地址。

    • 更新内部的储量 (x + \Delta x, y - \Delta y)

  5. 交易完成

Summary:

Uniswap V2 是一件工程艺术品。它用一个极其简单的数学模型,构建了一个无需许可、抗审查、高度自动化的去中心化交易所。其核心/外围架构、TWAP 预言机和闪电兑换等设计,不仅解决了实际问题,也为后来的无数 DeFi 协议提供了设计范本和可组合的“乐高积木”。

当然,它也有其固有的问题,比如资本效率不高(大部分流动性都闲置在远离当前价格的曲线上)和无常损失。这些问题也正是 Uniswap V3 试图解决的。但无论如何,理解 V2,就是理解现代 DeFi 的基石。

2025-08-26

参加分享会,在重构之前的简历

2025-08-24

今日把休闲黑客松的项目完成了,一个NFT创作平台。晚上大概回去学习一个Uniswap相关的知识

2025-08-23

在赶休闲黑客松的项目,还在紧张的开发demo

2025-08-21

今日参加知识分享会,主要听了数字游民生活方式,感觉挺有趣的。

我认为的digital nomad的要义是在拥抱全球化的同时去关照附近的生活,进而不断发展自己的三观

2025-08-20

今日无事可做x(摸鱼)

听了两个分享会,一个是马老师讲LXDAO的发展以及如何去建设DAO,另一个是黑客松的预热,主要讲了DApp的定义、如何搭建DApp以及休闲黑客松的注意事项。感觉都很有意思。

对于LXDAO的分享会,主要讲了DAO发展的四个阶段:

  • Stage 1: 核心团队 + 社区 (部落时代)

    -特点: 效率极高,决策快。就像一个初创公司,核心成员说了算。

    • 痛点: 权力过于集中,导致“部落”外围的新成员感觉自己只是“吃瓜群众”,贡献积极性不高,并且社区与核心团队之间容易因利益问题产生摩擦。典型的“中心化”原罪。
  • Stage 2: 工作组/项目 + 社区 (城邦时代)

    • 特点: 开始出现专门的职能部门(工作组/项目),权力下放初见成效,新成员有了更多“建功立业”的机会。

    • -痛点: 新的问题出现了——跨部门协作成了难题。不同“城邦”间的沟通和合作方式不统一,容易产生新的壁垒。

  • Stage 3: 平衡链上与链下贡献 (联邦时代)

    • 特点: 这是 Stage 2 的一个优化版本,更注重如何公平地衡量和激励所有类型的贡献(无论是写代码这种链上硬核贡献,还是社区运营这种链下软贡献)。

    • 痛点: 协作问题依然是老大难。

  • Stage 4: 路线图驱动 / Pod 机制 (星际舰队时代)

    • 核心思想: 这是目前的最终形态。引入了 Pod 机制——一种更加灵活、自治的小组。

    • 运作方式:

      • 高效自治: 每个 Pod 像一艘艘小型星际飞船,有自己的任务目标,可以独立作战,高效执行。

      • 权力下放: 新成员可以非常轻松地加入一个 Pod,甚至自己创建一个,贡献门槛大大降低。

      • 协作优化: 成员根据自己的兴趣和技能选择加入不同的 Pod,目标一致,参与感和协作效率自然就上去了。

第二个DApp的搭建跟一遍GitHub也差不多了

2025-08-19

今天主要去了解了一下gas优化的内容,还需要对EVM进行一个更详细的理解。 Gas优化的方法粗略总结如下:

  • 操作码级优化 (Opcode-level Optimization):类似汇编语言编程,对于追求极致性能的 DApp 来说,理解EVM操作码的Gas消耗是很有用的。比如,尽量避免不必要的存储操作,因为写入存储是最昂贵的操作之一(有点像做编译器的IR优化)。

  • 循环与迭代优化 (Loop & Iteration Optimization):在智能合约中尽量避免不可控的循环,特别是依赖用户输入的循环,因为 Gas 限制可能会导致交易失败。如果必须迭代,考虑批量处理或者“拉式”机制(Pull over Push Pattern)。

  • 减少外部调用 (Minimize External Calls):每次外部合约调用都会增加 Gas 消耗,并且引入潜在的重入风险。能内部解决的,尽量内部解决。

2025-08-18

参加分享会了解了SocialFi相关的知识。 SocialFi,简单来说,就是 社交(Social) 和 金融(Finance) 的结合,但它不仅仅是简单的相加,而是利用了 区块链 技术,旨在构建一个去中心化的社交平台。我主要关注的点是用户拥有数据和内容与内容创作者经济多元化这两点。同时,这种方式下的应用通常也是用户自治以及抗审查的,带来更多言论自由。

2025-08-15

  • 参加分享会。
  • 完成了ethernaut的前几个挑战(主要还是从传统代码审计的角度找漏洞,然后提权)
  • 在开发一个DApp,比较简陋,大概就是实现一个失物招领app

2025-08-14

参加分享会阅读Uniswap v4的基本原理以及数学库的源码。由于对Solidity不是很熟悉(仅部署过简单的合约),因此在看源码时还是有点吃力的,计划是晚上再去消化一下,把仓库fork下来跑一跑

2025-08-13

参加分享会,动手实操了部署以太坊测试网,步骤就是先去水龙头领测试币,然后在Remix连接钱包并部署,最后把哈希复制到Etherscan查询交易是否成功(部署结果包括gas、地址、区块等等)

2025-08-12

参与产品项的分享会(不懂产品的技术不是好运营x) 了解了DiFi是什么(主要与web2不同的特性)以及web3的代表性产品(Uniswap)等等

其次就是详细的跟了一遍智能合约实战的教程,对智能合约部分祛魅了

2025-08-11

参加知识分享会,主要关注的是技术分享的环节,从区块链最基本的架构、交易规则到了解solidity的基础写法以及要去哪里获取学习资源。solidity和js比较像,最近还在学习如何去写合约。

2025-08-08

今天没时间看分享会,明天看回放,但是做了一下unfishable的反诈练习,感受是每次交易都要保持绝对的谨慎,人脑容易信息超载

2025-08-07

今天有点忙,主要就听了一下Web3法律相关的知识分享会,感觉更像是一个防诈指南,教你如何去判断参与的项目都合规性。

2025-08-06

参加的今日的分享会,虽然里面的名词不是很懂,但是感觉十分有意思!课后也去对应了解了一些相关的知识,打算明天早上看看那篇讨论EOS形成卡特尔(垄断的文章)

此外,我主要去查阅并思考了前两个提出的问题

去中心化和高性能,应该优先选择谁?

这是个区块链的不可能三角问题,首先对于这个“不可能三角问题”,我们需要知道这个三角分别是什么。 三角:Decentralization, Security, Scalability 三者一般只能选其二,比特币和以太坊 (主网) 选择了去中心化和安全性,但在可扩展性上表现不佳,导致网络拥堵和高昂的交易费用。EOS和早起公链选择了后两者,导致了导致了中心化治理和节点合谋的问题。

为什么会形成不可能三角呢,其原因归结起来便是现实世界的Sync(同步)与Latency(延迟)问题。不可能三角的本质,是在一个由众多独立个体组成的分布式系统中,为了确保所有个体对信息状态的认知达成一致(安全性),同时允许尽可能多的个体自由加入(去中心化),必然要牺牲达成一致的速度(可扩展性)。

选取哪两方面通常是取决于区块链的目标和应用场景。对于需要处理高价值资产的金融应用 (DeFi),安全性和去中心化为优先项。对于链上游戏或社媒等高频交互应用,可扩展性和低成本则更为关键。

但是随着技术发展也有一些方法来尝试解决这个问题(或者说是优化现有结构)。

  1. 链上扩容 (On-Chain Scaling),主要通过分块与改进共识机制实现
  2. 链下扩容 (Off-Chain Scaling) / Layer 2 方案,将大量的计算和交易处理工作从主链 (Layer 1) 移到第二层网络 (Layer 2) 上执行,只将最终的结果或证明提交回主链,从而极大地提升效率和降低成本,同时继承主链的安全性。主流方案有Optimistic Rollups (核心思想是“乐观地”假设所有链下交易都是有效的,并提供一个“挑战期”,任何人都可以挑战有问题的交易。还有就是ZK-Rollups,即为每一批链下交易生成一个加密学证明(零知识证明),主链上的合约只需验证这个证明,就能确信这些交易是有效的。显然看上去ZK更加优雅与高效,但是ZK面临的问题是计算复杂度以及密码学工程(成本)问题。zkp的验证复杂度很低(通常是O(1),O(log^2n)这种接近常数的时间复杂度),但是生成zk的复杂度很高(至少是O(n)与O(NlogN)这种拟线性复杂度),同时evm的opcode与zkp的电路并不兼容(也就是说要为每一个 EVM 操作码都制作出对应的 ZK 电路听上去就很昂贵(只计算成本)),因此无法使用一些底层加速的方法去降低延迟。

公链治理模型一般分为On-Chain, Off-Chain, 代表制三种治理方法,主要问题分别是效率低下、决策周期长、容易出现社区分歧(链下);容易集权,即拥有多的代笔的人/机构话语权大,相应的,其他个体大话语权便小了,这也会降低社区成员的参与感,影响了社区的参与度进而导致社区逐渐不活跃(链下);代表不一定代表你,容易形成卡特尔。

2025-08-05

参加了今日的分享会,了解了常见的钓鱼方法,在unfishable上学到了很多防诈知识,还在做里面的题

2025-08-04

看了Web3实习手册的入门,对于一个之前有所耳闻但是并未详细了解的名词有了更深的认识。了解了DeFi的典型案例,Uniswap、Confound、Sky,对Uniswap的模型比较感兴趣,了解了Uniswap V4,但是对于里面使用hook进行的各种操作还不是很理解。稍微看了看Solidity的一些语法,对于智能合约的漏洞感兴趣,遂去找了一些经典案例,感觉和一些传统领域的漏洞也有类似之处(如重放(状态机陷入了死循环)、溢出(典型的over/underflow)、访问控制权限(所有权)、时间戳依赖(类似PRNG的生成)等),同时由于链上交易的一些特性,也出现了如抢跑交易等漏洞。

2025.08.01