Skip to content

安全模型

Gatoll 的安全建立在清晰分工:合約無需信任、握有資金;驗證服務是唯一信任元件,權力刻意收窄。

驗證服務透過簽署 EIP-712 憑證授權領取。簽名密鑰逐鏈存在硬體支援的 secret 裡,與應用程式碼隔離,不寫進 log 或設定。即使外圍系統被攻破也不等於拿到密鑰;密鑰只在合約理解的窄 ClaimAuth 結構內簽名。

驗證服務的鏈上地址、獎池實作、治理錢包本身,都只能經多簽變更。單一營運者不能換驗證者、不能改指向的實作、不能奪控。關鍵是:每個獎池在創建時快照驗證者且不再更改——協議輪替驗證者只影響未來 Loot,既有 Loot 的授權者終身固定。

即使驗證服務完全作惡,仍被合約限制——合約會獨立再驗每一筆領取:

  • 不能動帳——不持有資金、沒有提款路徑;
  • 不能付錯池——憑證 domain 綁定單一獎池地址;
  • 不能付給別人——recipient 必須等於 caller;
  • 不能雙付——一次性 nonce 和每錢包一次領取在鏈上強制;
  • 不能憑空造值——轉帳上限是真實餘額。

驗證服務決定資格;合約決定結算

  • 防重放。 domain + poolAddressrecipient、銷毀的一次性 nonce、短 deadline 讓每張憑證只能用一次。見領取與結算
  • 重入防護。 領取和取回都有 reentrancy guard。
  • 不可變設定。 獎池的創作者、驗證者、資產、玩法、時間、名額在創建時快照,之後不能改。
  • 有界取回。 取回讀鏈上帳本,出資者不能取回超過自己出的。見取回
層級假設
獎池資金無需信任——程式託管並釋出
分配與結算無需信任——鏈上計算並強制
領取資格信任驗證服務誠實評估 Gate;密鑰硬體託管、多簽治理
活動資料從索引器讀;永遠可與鏈上事件對帳

這是設計上最小的信任面:一個只能說「這個地址合格」的預言機,由決定一切跟錢有關的事的合約把關。