帳戶合約

你的錢包不是某個應用程式私有的資料結構。它是一個 Safe v1.4.1 智慧帳戶——同一份 合約正守著遠比 Vela 所能見到的更大的資金——而且完全按照 Safe 發布的樣子部署, 沒有任何改動。

這句話很短,後果卻不短,所以這一頁把它們攤開講。

這條路徑上沒有一樣東西是我們的

在你和你的錢之間,站著四份合約。Vela 一份都沒寫:

合約誰寫的
Safe v1.4.1(帳戶本身,一份代理合約)Safe
Safe 4337 ModuleSafe
SafeWebAuthnSharedSigner(驗證你的 P-256 公鑰)Safe
ERC-4337 EntryPoint v0.7ERC-4337 的作者們

沒有 Vela 合約這種東西。這個儲存庫裡根本沒有 Solidity——一行指令就能查核:

git clone https://github.com/mondaylabsltd/vela-wallet
find vela-wallet -name '*.sol'   # 什麼都不會輸出

Vela 新增一條網路時,部署的是那些合約,用的是它們各自的標準位址。它不會部署 任何自己設計的合約,在你的帳戶上也沒有任何特權角色:沒有管理員金鑰,沒有升級管道, 也沒有我們能加進去的模組。

為什麼「未經改動」才是關鍵的那個詞

很多錢包是建立在「一個 Safe」「一個 Safe 的分支」或是「一個受 Safe 啟發的帳戶」 之上的。分支是一份帶著舊名聲的新合約。實際差別是:

那些稽核,稽的正是你在用的東西。 Safe 的稽核報告涵蓋的是這幾個版本對應的 位元組碼。分支的稽核涵蓋的是分支之前的程式碼。如果一個錢包改過帳戶合約,那麼它 引用的每一份稽核報告,稽的都是另一個東西——而被改動的那部分,恰好沒人看過。

整個生態把你的帳戶當作 Safe 看待,因為它就是。 區塊鏈瀏覽器解析得了它。 Safe 自己的交易工具認得它。如果 Vela 明天不在了,你的錢包也不會變成一種孤兒格式 ——它是以太坊上工具生態最完整的智慧帳戶,任何相容 Safe 的介面都能驅動它。這正是 「Vela 不在了,你的錢包還在」這句話之所以是在講合約, 而不是在講我們的意圖。

它的攻擊面,是所有人都在盯著的那一個。 一份訂製的帳戶合約,只有它的作者在看。 而這一份,所有把錢放在 Safe 裡的人都在看。

代價是什麼

標準化不是免費的,取捨也是真的:

  • Gas。 智慧帳戶要在鏈上驗證一次簽章。視鏈而定,大約是普通 EOA 轉帳的 1.5–3 倍 gas。見網路與費用
  • 帳戶必須被部署。 你的位址是在鏈上還什麼都不存在時用 CREATE2 算出來的, 所以你馬上就能收款,但第一筆送出的交易要負擔部署合約的費用。
  • 不是每條鏈都夠格。 WebAuthn 簽署器要在鏈上驗證一個 P-256 簽章,這需要 RIP-7212 預編譯。沒有它的網路,Vela 寧可拒絕啟用,也不退回更弱的驗證方式。
  • Safe 的風險現在也是你的風險。 信任一份被廣泛使用的合約,仍然是在信任一份 合約。Vela 能說的是:它沒有在上面再加一樣要你去信的東西。

什麼稽核過、什麼沒有

Safe 的合約和 WebAuthn 簽署模組經過第三方稽核,報告也是公開的。Vela 自己的應用 程式碼沒有接受過獨立稽核,而且目前沒有排程——這是一件等專案付得起錢時要做的事, 不是一個帶日期的承諾。Vela 依賴的每一份合約、它的稽核報告,以及我們在盯的問題, 都列在稽核與已知問題裡。

自己去看

你的帳戶就在鏈上。用區塊鏈瀏覽器打開它,讀一下實作位址:在 Vela 支援的每一條 網路上,它都會是 Safe 在 v1.4.1 的標準部署,逐位元組一致。