在我看來,每個控制項應對的是不同類型的風險。單筆交易上限可以限制一次錯誤決策造成的損失,比如智能體被說服,一次性支付鉅款。總額上限則能限制循環重試造成的持續損耗。 時間限制可以處理你忘了自己曾經授予的權限。任務摘要則把資金用途與明確聲明的目的關聯起來,這也正是事後查看日誌時它能派上用場的原因。 典型的 API 密鑰或已保存的銀行卡通常缺少這些控制:沒有明確用途,往往也沒有有效期,除了賬戶餘額之外更沒有支出上限。
因此,依賴 ZK 證明驗證來覆蓋幾乎所有內容的機密交易(confidential transactions),如果驗證像普通合約調用一樣在 VM 內執行,那麼就會在每一次交易中都爲這種開銷買單。
這也正好回到隱私設計上。可編程隱私不只是一個加密選擇,它同時也是一個性能約束——如果證明驗證很慢,那麼“私密且合規(private and compliant)”最終會在悄無聲息中變成“私密且合規,但最終失效(eventually)”。把加密運算抽離到宿主函數中,正是爲了避免讓隱私變成“附加在每一筆交易之上的稅”,而不是它本身應有的屬性。