回頭看 Newton Mainnet Beta,有個問題一直在心裏轉:審計在 DeFi 裏不是新概念,爲什麼到這套架構上變得比之前更關鍵?@NewtonProtocol
一條常見的思路是,審計做好就行了——找好的團隊、出詳細的報告、修完漏洞再上線。這套流程在大多數協議上成立,但它默認了一個前提:審計的結果在協議上線後仍然有效。在靜態的智能合約上這個前提勉強成立——合約部署後邏輯不變,審計報告可以當作長期參考。但當協議的執行邏輯有一部分跑在鏈外——策略可以更新、Operator 可以輪換、數據源可以更換——審計報告的有效期就在被提交的那一刻開始倒計時。$LAB
協議上線後,策略版本升級了,審計團隊沒有重新審計新版本的邏輯;Operator 替換了,審計報告裏沒有覆蓋新節點的運行記錄;數據源切換了,審計時假設的數據質量和更新頻率在新的數據源上未必成立。每一行 Rego 策略的變更和每一個 WASM 數據提供者的替換,都在悄無聲息地侵蝕着那份審計報告的適用邊界。$TAG
這不是說審計沒有價值。問題在於靜態審計和動態運行之間有一個結構性的斷層——審計覆蓋的是上線前的某個時間切片,而風險存在於上線後的持續運行中。
Nathaniel Popper 在寫數字黃金的時候提到過一個觀察:比特幣的核心創新不是密碼學——SHA-256 和數字簽名在它之前就存在——而是把密碼學工具組合成了一套可以在沒有中心化信任的情況下持續運行的系統。Mainnet Beta 面對的是同一個問題的審計版本:不是發明新的審計方法,而是讓審計的可驗證性成爲系統運行的一個結構性特徵,而不是上線前的一次性動作。
每筆交易通過之前,Operator 在 TEE 裏跑完策略評估,用 BLS 簽名的形式把執行記錄固定在鏈上。這份記錄包含了輸入數據、策略版本號和評估結果。審計方在任何時候都可以拉取這份記錄,用相同的策略版本和輸入數據在本地重跑一遍,獨立驗證 Chainalysis 的標籤是否匹配、RedStone 的價格是否一致、Rego 的規則分支是否走到了正確的結論。這不是在流程上加一道審計關,而是把審計需要的原始材料嵌入了每次執行之中。
Rego 的確定性在其中解決了一個更具體的工程問題:跨執行的可復現性。如果同一個策略在任意 Operator 的 TEE 裏、任意時間點運行都能輸出相同的結果,那麼審計方只需要抽樣驗證一次執行記錄,就可以推斷該策略在所有執行中的行爲一致性。沒有確定性執行作爲底層假設,審計方需要逐一驗證每次執行的開銷會隨着交易量的增長而線性膨脹,最終在經濟上不可持續。
換來的代價是審計材料的生產過程和執行過程被捆綁在了一起。鏈上的審計記錄只能證明執行過程沒有被篡改,但它證明不了執行時使用的數據是正確的。如果 RedStone 的價格饋送在某個交易對上延遲了,Operator 基於錯誤的價格評估出了錯誤的放行結果——整個執行過程在鏈上留下了完整可查的記錄,每一個簽名都有效,每一條規則分支都跑通了,但決策本身是錯的。這是可審計性和數據正確性之間不可消除的間隙。
以後鏈上授權系統能不能在合規審計中站住腳,衡量的標準不是有沒有保存執行日誌,而是日誌能不能讓一個沒有參與過該次執行的第三方,在僅僅持有策略版本和輸入數據的情況下,獨立復現出完全相同的評估結論。可復現性纔是審計信任的錨點,而不是記錄的完整性。
回到 $NEWT 的定位上,如果可審計性做成了系統的默認產出而不是事後補丁,協議對審計服務的依賴就從"花錢買報告"轉向了"系統自帶證據鏈"。這改變的不是審計的成本結構,而是信任的建立方式——從信任審計公司的品牌,轉向信任系統可以通過鏈上數據被任何人獨立驗證的一種結構性特徵。