Security
如果合約可以代理到其他合約,使用者如何信任它們?
基於可升級的智能合約模式,智能合約作者可以創建一個合約 x 來代理合約 y。假設合約是一個 ERC20 代幣,愛麗絲在其中購買了 100 個代幣。
Alice 現在怎麼能相信合約的開發者不會簡單地代理 x -> z 其中包含一個新版本的
transfer()
被呼叫,它會將代幣重定向給其他人?如果不能保證不會更改,那麼與信任可以隨時更改訪問權限的任何其他第三方(例如銀行或 Facebook)有何不同?
真的沒什麼。授權帳戶可以使可升級合約做任何他們想做的事情。
另一方面,項目已經創建了對升級施加某些限制的治理契約。一段時間來驗證升級,如果他們不同意升級,則退出。