Chi Li

Blockchain / Frontend Engineer

Uniswap Logo
Uniswap

Uniswap CCA

Uniswap 推出新的 token 拍賣模式,名為 CCA ( Continuous Clearing Auction ), CCA 的目的是解決過往在代幣發行上會遇到的幾種問題,包含:

  • 固定價格,造成定價錯誤
  • 空投無法正確將代幣發送到真正看好該項目的人
  • 荷蘭式拍賣會因為導致資訊不透明,造成通常出價會集中在最後

CCA overview

可在該網站 https://app.uniswap.org/explore/auctions ,定義代幣的發行模式,並且調整各種參數,包含 token name / symbol / 拍賣時間 / 發行後的流動性 等等

Pasted-image-20260720170558.png

Pasted-image-20260720170808.png

Pasted-image-20260720170923.png


Why CCA?

在介紹 CCA 的實際運作前,我們需要先了解現有的拍賣 / 代幣發行方式會造成哪些問題

空投 Airdrop

藉由完成某些任務,或參與社群,在發行時,可獲得部分代幣份額,此方式也是一般最常採用的方式,用來回饋一般用戶,但此方式的問題也很明顯,在有些獲得的方式,並沒有實名制或其餘嚴謹的身分驗證方式,導致女巫攻擊 (),一人會創建多個帳戶,用腳本等等方式,大量賺取代幣份額,雖然現在項目方已經有部分採用策略來抵禦該攻擊,但仍然很難從根本上防治

另外一個問題是,隨著空投這種方式的盛行,代幣發行很可能會發送到非長期參與者的手上,導致代幣一發行,就會面臨巨大的拋壓,巨大的拋壓導致價格大幅下跌,可能會造成情緒上的恐慌,造成其餘人跟著拋售

固定價格發行 Fixed-price primary sales

為了讓代幣能真的到長期持有的人手中,可以採用固定價格的方式來販賣,例如 NFT 的 mint price,每張 NFT 都採用事先設定的固定價格,這麼做的方式簡單直觀,但會造成價格發現不完全的問題,意思是項目方訂的預設價格,可能沒辦法很好地反應實際市場,若造成定價過低,可能會導致企業級買家,有更多資訊跟資源去判斷該價格是否過低,而一般買家無法更好地去找到合理的價格,導致整個販賣過程造成巨大的資訊落差,進而不利於市場的發行跟流通

荷蘭式拍賣 & Uniform price auction

荷蘭式拍賣是採用價格遞減的方式,一開始會有一個預設價格,並且隨著價格的遞減,買家可以根據自己想要的價格出價。uniform price auction 則是所有人根據自己想要的價格跟總額出價,最後會選擇可以滿足所有需求的最高價來作為 clearing price (清算價格),詳細例子可見 https://courses.ems.psu.edu/ebf301/node/742

這兩個拍賣有一個共通的缺點,那便是出價者沒有提前出價的誘因,越早出價者,便會透露出更多資訊給其他出價者,因此為了保持自己的優勢,避免其餘出價者搭便車的狀況,往往會在拍賣結束時集中出價,此結果會不利於商品價格的發現

Bonding Curve Sales

Bonding Curve 本質上是一條數學公式,讓價格跟數量呈線性成長,並且可以預測,例如 y = 2x,y 為價格,x 為數量,所以出價者可以根據自己想購買的數量,提前算出價格為多少,但問題在於,該方式放到鏈上執行的可預測只是理論上,實際會根據出塊打包速度等等,影響最終的價格,類似於像是 AMM 的滑點,因此跟 AMM 一樣也會遇到 MEV 的 frontrunning 或 sandwiching 等等攻擊


CCA 實際運作方式

拍賣設置

  • Release schedule: Q(t) 定義了 t 時間會發行出多少數量的代幣,換句話說就是定義了在這段時間中代幣的供應量
  • Price floor: 預設的最低價格,確保拍賣價不會低於該價格
  • Validation hook: 可選的驗證用 hook,做法跟 v4 類似,可以添加白名單設置等等
  • 其餘參數可以調整開始 / 結束時間,出價代幣等等

機制

  • Bid spreading: 整個拍賣會被分成很多期 (period),若一開始設定 3 期,那麼一位出價者在第一期出了 [3 ETH, 最大價格 0.01 ETH / Token] ,該出價會被分為三份,也就是三份 [1 ETH, 最大價格 0.01 ETH / Token],並且分配到每期裡頭
  • Uniform clearing and allocation: 在每一期中,會收集所有出價,並且決定該期的清算價格為何,至於決定方式則跟傳統 uniform price auction 一樣
    • e.g. 假設 1,000 代幣會在這期被釋出,現有出價快照為 [600 tokens at 0.010 ETH], [1,000 tokens at 0.008 ETH], [2,000 tokens at 0.005 ETH],那麼清算價格為 0.008 ETH/Tokens
    • 第一個 (600 tokens at 0.010 ETH) 雖然出價最高,但若作為最終定價,還會有四百個賣出不出去,所以清算價只可能是二 (1,000 tokens at 0.008 ETH) 或三 (2,000 tokens at 0.005 ETH),那麼在二或三一樣都可以滿足全部代幣賣出的需求下,會選擇 "最高" 的價格成交,所以這邊就會是以 0.008 ETH/Tokens 的價格成交。在定完最終價格後,剛剛高於最終價格出價者,可以完全成交,也就是第一位,再來第二位則根據剩餘代幣進行部分成交,最後一位則完全不成交
    • 這種做法保證了出價高於清算價格者,必定可以獲得全部分配,並且量可能比原本出價還多,以 [1 ETH, 最大價格 0.01 ETH / Token] 為例,假設清算價格為 0.008 ETH/Tokens,那他便可獲得 125 Tokens,比原先預定的多了 25 代幣

拍賣結束後

根據拍賣前的設置,將部分代幣份額用於創建 Uniswap v4 池子,並且作為初始池子的初始流動性,讓代幣發行跟交易可以無縫銜接


CCA 設計總結

CCA 可以將它視為加入時間這一要素的 uniform price auction,藉由將整個拍賣分為多個期間,並且在每期都結算 / 分配一次,導致越早出價的人,在越前面的期間越少人共同出價競爭,所以可以得到比較好的結果,就算在後續期間中,有人出更低的價格,也因為 bid spreading 的關係,也依舊可以獲得一部分分配,以此來解決 uniform price auction 沒有誘因提前出手的問題

CCA vs uniform price auction

上述講法可能還是有些抽象,我們舉個實際的例子,並且設定一樣的條件,來比較不同拍賣模式下的結果為何

Setup: 2,000 tokens, 2 periods of 1,000 each.

  • Alice: 5 ETH, max price 0.010 ETH/token — 第一期出價 (early, higher price)
  • Bob: 5 ETH, max price 0.004 ETH/token — 第二期出價 (late, lower price)

Uniform price auction

因為在 uniform price auction 出價的前後順序沒有任何意義,因此後面的出價時間點可以忽略

Alice 只有 500 代幣的需求,不滿足 2000 代幣,所以清算價格為 0.004 ETH/Token,Alice 可獲得 1250 代幣 (5 / 0.004),Bob 則可以獲得剩下的 750 代幣

CCA

Alice 的出價拆分為每期 (Period) 2.5 ETH(第 1 期+第2期)。Bob 的全部 5 ETH 則落在第 2 期

第 1 期:只有 Alice 一人,2.5 ETH 對上 1,000 顆代幣的供給 → 清算價格為 0.0025。她以 2.5 ETH 拿下全部 1,000 顆代幣。

第 2 期:Alice 剩餘的 2.5 ETH(最高出價 0.010)+Bob 的 5 ETH(最高出價 0.004)對上 1,000 顆代幣供給。邏輯與靜態案例相同:價格持續下降,直到 Bob 加入的 0.004 時,總需求(625 + 1,250 = 1,875)足以清空該期供給。Alice 因出價高於清算價,獲得完全優先權:625 顆代幣。Bob 則按比例分配剩餘部分:1,000 − 625 = 375 顆代幣(他原本想要 1,250 顆)

在 CCA 中,一樣的出價,最後 Alice 一樣花了 5 ETH ,得到了 1625 代幣,比傳統 uniform price auction 多了400

CCA 缺點

CCA 雖然已經改良傳統的拍賣方式,但仍然存在部分問題

  1. 還沒有經過足夠的市場驗證,可能存在其他未發現的缺點
  2. 過往的集中出價,會出現在每期結束的時間點,差別在於原本過於集中在拍賣時間結束,現在則以每個期間作為一個單位
  3. 無法完全排除 MEV 等鏈上摩擦問題,可能會造成延遲,導致出價不夠迅速,進而喪失優勢

觀點

Uniswap 推出 CCA 的目的,很明顯是想要將發幣與現有池子的交互做更好地結合,藉由發幣這個入口,用簡單易懂的 UI 協助用戶,以此帶動整個協議的交互量,優化體驗的同時,進而嘗試吞併其餘 launchpad 的市場份額,其餘 launchpad 的發幣跟池子建立,通常也是 fork uniswap v3/v2,或是直接對接 Uniswap,現在 Uniswap 親自下來建立發幣功能,並且同時帶來更加創新且公平的的拍賣方式,可以預見未來同為 EVM 的 launchpad 會帶來不小的衝擊

根據白皮書,該想法是在 2025 年十一月推出,到目前為止只有少數幾個比較大的項目方在上面進行拍賣,包含 AZTEC Octra 等等,目前仍然沒有看到太多項目方採用該方式發行代幣,只有 Robinhood 鏈上發行的各種 meme 幣

在本文撰寫的當下,市場相對冷清,所以儘管 CCA 是一種創新的拍賣方式,仍然沒有收穫到太多關注,因為在市場冷清的當下,發幣的需求並不旺盛,並且改良一種拍賣方式,本質上算是一種技術研究,比起美股代幣化等話題,CCA 帶來的影響跟好處較為隱晦

不過不排斥在市場重新回歸熱絡的時候,會有越來越多的中小型項目方,會利用 Uniswap 發幣,畢竟 Uniswap 已經在幣圈中建立良好的聲譽,以及豐富的生態跟池子流動性,對於需求較為固定沒有太多客制化需求的項目方來說,無疑是相對不錯的選擇,屆時,理解該拍賣方式,並且利用時間差來進行拍賣,來讓自己獲得更多優勢,就會相當重要。


Reference