已經好幾天了,一直在針對 OpenGradient 的 token 稽核所發現的那一項 QA 問題逐字看著,而真正特別突出的地方是:實務上「floating pragma(浮動版本宣告)」到底有多小……這裡是機制。所謂 floating pragma 是指:智慧合約的 Solidity 版本沒有鎖定到單一特定編譯器版本,而是允許一個版本範圍。風險是微妙的——不同編譯器版本可能引入不同的行為或 bug 修正,因此一份合約今天編譯完全沒問題,理論上在之後若再次用該允許範圍內的其他編譯器版本部署時,可能會出現不同的編譯結果。OpenGradientToken.sol 在稽核結束前就被標出來並修正完成了……
小問題、已完全解決……
我覺得容易被忽略的是:這正是你希望稽核能抓到的那種問題。它不是關鍵性的漏洞,而是最佳實務上的缺口,若有一天被忽視,可能會變得重要。正因為是那些「無聊」的發現,才更能證明這份稽核其實真的做得夠細,而不是只是走過場的「蓋章」而已……
我也蠻喜歡 OpenGradient 的稽核報告不是用「沒有發現問題」這種模糊說法帶過,而是點名了這個具體、細微的項目,並且有可驗證的內容。相較於看起來過於「乾淨到可疑」的報告,點名且已修正的小問題會更令人信服……
但我也不會假裝:已解決的那一項 QA 發現就能告訴你合約長期安全性的全部。稽核是某一個時間點的快照;OpenGradient 的其他合約以及任何未來升級,都需要各自再被獨立審視……
我曾經審過一份合約,當時有 floating pragma,直到好幾年後編譯器更新才有人發現,結果竟真的讓執行時行為改變成沒人預期的樣子。
我仍然無法確定的是:OpenGradient 接下來是否會把 pragma 鎖定用於生態系中任何新合約,還是這只是針對 token 合約這一次性的修正而已?
@OpenGradient $OPG
#OPG
小問題、已完全解決……
我覺得容易被忽略的是:這正是你希望稽核能抓到的那種問題。它不是關鍵性的漏洞,而是最佳實務上的缺口,若有一天被忽視,可能會變得重要。正因為是那些「無聊」的發現,才更能證明這份稽核其實真的做得夠細,而不是只是走過場的「蓋章」而已……
我也蠻喜歡 OpenGradient 的稽核報告不是用「沒有發現問題」這種模糊說法帶過,而是點名了這個具體、細微的項目,並且有可驗證的內容。相較於看起來過於「乾淨到可疑」的報告,點名且已修正的小問題會更令人信服……
但我也不會假裝:已解決的那一項 QA 發現就能告訴你合約長期安全性的全部。稽核是某一個時間點的快照;OpenGradient 的其他合約以及任何未來升級,都需要各自再被獨立審視……
我曾經審過一份合約,當時有 floating pragma,直到好幾年後編譯器更新才有人發現,結果竟真的讓執行時行為改變成沒人預期的樣子。
我仍然無法確定的是:OpenGradient 接下來是否會把 pragma 鎖定用於生態系中任何新合約,還是這只是針對 token 合約這一次性的修正而已?
@OpenGradient $OPG
#OPG