Worldcoin 代幣 WLD 的智慧合約存在哪些安全隱患?深研後,這可能不是加密社群喜歡的「去中心化」概念合約,本文源自 MetaTrust Labs 在微博公眾號所撰寫《被瘋狂FOMO的Worldcoin代幣,多簽合約Owner竟只有一人?》,由星球日報整理。
(前情提要:CoinFund談投資Worldcoin:除了ChatGPT之父,更看重WLD的全球願景.. )
(背景補充:Worldcoin最大爭議:手段邪惡?還是Web3實現的烏托邦? )
我們分析了 Worldcoin 代幣 $WLD 的智慧合約 0x163f8c2467924be0ae7b5347228cabf260318753,發現其存在一定的安全隱患,以下是關於代幣 $WLD 的相關風險詳解。
中心化方法
mintOnce 函式
該合約實現了一個中心化的鑄幣機制 mintOnce,允許 owner 呼叫此函式一次性地對多個地址進行批量鑄幣。經查證,該函式已經被當前的 owner 呼叫過。
當前的 owner 是一個 1/1 多籤錢包合約:0x59a0f98345f54bAB245A043488ECE7FCecD7B596,且只有一個合約擁有者 0xc534a745bFfaF9466Ed7B47fA23B0177b99A3e77 ,這意味著只需要一個簽名就可代表 owner 進行特權操作。
setMinter 函式
該合約還實現了 setMinter 函式,允許 owner 設定一個 minter 地址,不過目前 minter 是零地址。
mintInflation 函式
如果 owner 設定了一個非零 minter,該 minter 就可以隨意呼叫 mintInflation 對任意地址無限量增發代幣。
代幣分配
經過統計,前 6 個地址已經持有了 94.5% 的總發行量,這說明代幣分配非常集中。
綜上所述,$WLD 代幣存在以下安全隱患:
- Owner 目前只有一個簽名者,意味著只需要一個人的簽名就可以代表 owner 對合約進行特權操作
- 存在設定 minter 後無限增發代幣的風險
- 代幣分配過於集中,前 6 個地址持有絕大部分代幣
為降低這些安全風險,我們建議:
- 增加 owner 的簽名者數量,實施多籤管理
- 約束合約擁有者任意設定 minter,防止無限增發
- 採取鎖倉或者持續釋放等措施,降低代幣分配的集中度
安全是區塊鏈生態健康發展的基石,我們會繼續關注專案安全,及時進行安全風險提示,共同維護鏈上資產安全。