Uniswap vừa bật thu phí v4. Một chỉ số phí của v4 trên Ethereum đã giảm 53% sau một đêm — mức giảm đó không chứng minh doanh thu giảm. Trang này ghim lại hơn 30 giờ đầu bằng bốn lần đo trực tiếp, và vì sao chỉ số kia sắp bị đọc ngược.

(Mọi giờ là giờ Việt Nam, UTC để trong ngoặc.)

Bốn lần đo, bốn mốc thời gian

Hai đề xuất #99 và #100 được thực thi lúc 14h16 ngày 27/07 (07:16Z) — cả 8 cấu hình thu phí lật đúng đích như calldata đã ghim trước.

#LúcĐo được
115h28 ngày 27/07 (08:28Z)phí tích luỹ bằng 0 trên toàn bộ 11 cặp chain–token
221h51 ngày 27/07 (14:51Z)10/11 cặp khác 0 — lần đầu quan sát được số dư phí khác 0
308h48 ngày 28/07 (01:48Z)Ethereum: ETH −53%, USDC −61%
421h05 ngày 28/07 (14:05Z)cùng một chain, hai token đi hai hướng ngược nhau

Lượt đầu bằng 0 không phải lỗi đo: lúc đó mới 10 pool được bật thu phí, và cả 10 chưa có giao dịch nào kể từ lúc bật.

Lượt hai chạy lại đúng phép đo đó, đúng bộ cặp đó:

ChainSố dư phí
Ethereum0,4018 ETH + 207,88 USDC
Arbitrum0,0288 ETH + 21,92 USDC
Optimism0,0091 ETH + 21,51 USDC
Base0,000027 ETH (USDC còn 0 — cặp duy nhất)
Polygon66,48 POL + 22,31 USDC

Ai bật pool, và mẫu số nào mới đúng

Cùng buổi chiều, số pool được bật nhảy từ 10 lên 36.523 trong chưa đầy 8 giờ, qua 273 giao dịch trên Ethereum — và cả 273 giao dịch đó đều có tx.frommột địa chỉ (0x2cf8e5b1…ce43), gọi thẳng adapter phí.

Mẫu bật pool không phải quét toàn bộ: trong 36.523 pool đã bật khi đó, chỉ 2 pool gắn hook, trong khi hook chiếm 23,56% số pool v4 trên Ethereum — nhóm mà chính sách hiện tại cho thu 0 phí. Vậy muốn tính tỉ lệ phủ theo chính sách hiện tại, mẫu số phải loại đúng nhóm đó:

Mẫu sốPoolĐộ phủ
toàn bộ pool từng mở112.52732,60%
loại 26.512 pool gắn hook86.01542,65%

Đối chiếu tại block 25.628.131 cho 36.684 pool trùng nhau giữa danh sách không-hook và danh sách đã bật.

Sau đó nhịp bật pool giảm mạnh: từ 22h06 ngày 27/07 (15:06Z, 36.523 pool) đến 09h24 ngày 28/07 (02:24Z, blk 25.628.338) thêm 170 pool, rồi tới 21h35 ngày 28/07 (14:35Z, blk 25.631.951) thêm 103 pool nữa. Tổng 23,5 giờ thêm 273 pool — so với 36.523 pool trong 7,7 giờ của đợt đầu.

🔴 SỬA 03/08 — câu ngay trên đã bị RÚT. Điều-bác-bỏ ghi kèm bài này đã bị chính số liệu vượt qua: ngưỡng là thêm 5.000 poolId trong khoảng 21h05 ngày 28/07 đến hết ngày 04/08, đo được 51.651 — gấp 10,3 lần — tính tới block 25.672.390. Ngưỡng bị vượt từ block 25.637.495, lúc 16h08 ngày 29/07, tức 17 giờ 31 phút sau khi bài lên. Câu "nhịp bật pool giảm mạnh" không còn hiệu lực. Bốn con số trong câu đó — 36.523 · 170 · 103 · 273 — vẫn đúng trong đúng cửa sổ của chúng; cái bị rút là kết luận về nhịp rút ra từ một cửa sổ 23,5 giờ. Ba claim còn lại của bài không bị đụng. Số đo đầy đủ và cách tự kiểm: https://x.com/blockpinned/status/2084196432089878872

Cái bẫy: đó là SỐ DƯ, không phải bộ đếm

Chỉ số tích luỹ phí của v4 — hàm protocolFeesAccrued trên PoolManager — không phải bộ đếm cộng dồn. Nó là số dư: phần phí còn nằm trong hợp đồng, chưa ai thu về kho.

Lượt ba: trên Ethereum số dư tụt từ 0,4018 xuống 0,1887 ETH (−53%) và 207,88 xuống 80,72 USDC (−61%). Trong đúng cửa sổ đó có giao dịch từ hai địa chỉ gọi hàm chuyển phí về kho — hàm công khai, ai gọi cũng được — và cùng cửa sổ đó vẫn có 4.382,57 đô phí mới chảy vào. Mức giảm vì vậy không đọc được thành phí đã ngừng phát sinh.

Hai địa chỉ chuyển phí không trùng địa chỉ bật pool; chừng đó chưa đủ kết luận chúng thuộc những chủ thể khác nhau. Bốn chain còn lại cùng lúc vẫn đi lên, và trong cùng cửa sổ không thấy giao dịch chuyển phí nào trên bốn chain đó.

Lượt bốn thì ngay trong một chain nó cũng tách đôi:

CặpTrước → sau
Ethereum ETH0,1887 → 0,0159 (−92%)
Ethereum USDC80,72 → 142,11 (+76%)
Arbitrum ETH0,0497 → 0,0048 (−90%) — cửa sổ này Arbitrum cũng có giao dịch chuyển phí
Optimism · Base · Polygonvẫn đi lên

Cùng một loại số dư, trên cùng một chain, trong cùng một buổi chiều, hai token đi hai hướng ngược nhau — và không hướng nào tự nó là doanh thu.

Đo đúng thì đo thế nào

Số dư chỉ nói còn lại bao nhiêu, nên phải cộng thêm phần đã bị lấy đi mới ra phần đã sinh ra. Với từng token, trên cùng một hợp đồng, sau khi cộng đủ các giao dịch chuyển phí:

phí phát sinh trong cửa sổ = (số dư sau − số dư trước) + tổng đã được chuyển khỏi hợp đồng

Cửa sổ đầu tiên khép được là 10,97 giờ, block ghim hai đầu 25.624.853 → 25.628.131, riêng Ethereum 4.382,57 đô:

TokenUSD
ETH2.117,64
USDC817,49
LINK569,29
USDT448,72
cộng 6 loại nữa

Đây là mức sàn: mới định giá được 10/28 loại token — 18 loại còn lại có lượng thật nhưng chưa quy đô được — và mới 1/6 chain quy được ra tiền. Là con số gần "doanh thu v4" nhất trang này đo được, không phải chính nó.

Phạm vi — nói đủ để không ai đọc quá tay

Tự kiểm

Số lượng token, giao dịch và block đọc từ hợp đồng v4 và log on-chain; phần quy ra đô dùng một nguồn giá riêng, đọc tại đúng block chốt cửa sổ.

  1. Hợp đồng PoolManager v4 trên Ethereum: 0x000000000004444c5dc75cB358380D2e3dE08A90
  2. Đọc protocolFeesAccrued(địa_chỉ_token) hai lần cách nhau vài giờ. Nếu nó đi xuống trong lúc pool vẫn giao dịch, bạn đã tự chứng minh nó không phải bộ đếm chỉ tăng.
  3. Đối chiếu log FeesCollected trong cùng cửa sổ, để xem phần giảm có đúng là số dư đã rời hợp đồng không.
  4. Số pool được bật: đếm log ProtocolFeeUpdated từ block 25.622.594 — block thực thi đề xuất #99.

Không phải lời khuyên đầu tư. Cửa sổ đo: 15h28 ngày 27/07 → 21h05 ngày 28/07 giờ Việt Nam (08:28Z 27/07 → 14:05Z 28/07), block ghim theo từng phép đo.