
Публикация
sopleat(E卫兵)
delegatecall借的是别人的代码,动的却是自己的账本
代理合约常用delegatecall执行实现合约的代码。它与普通外部调用最大的差别是:代码来自目标地址,但读取和修改的是调用方自己的存储,当前地址与余额也仍属于代理,原始msg.sender和msg.value不会被替换。实现合约像一套操作说明,真正被改动的是代理保存的资产与状态。
这种设计让多个代理复用逻辑,也让升级成为可能;危险同样集中。实现代码如果误写存储位置、开放不该开放的函数,受影响的不是一份空白模板,而是代理里已经积累的真实状态数据。对管理大量$ETH资产的协议而言,一次错误升级可能同时改变所有用户的账本。
因此看到“资金不在实现合约里”不能放松警惕。实现地址虽然余额很少,却能决定代理怎样处理余额。评估风险必须把代理、实现、存储布局和升级权限放在同一张图里,任何一项单独看都不够完整可靠。
Дисклеймер: контент OKX Orbit предоставляется исключительно в информационных целях. Подробнее
Ответы
Комментариев еще нет. Будьте первым!
Криптовалюты в тренде
BTC/USDTBitcoin
$80 193,5+0,00 %
ETH/USDTEthereum
$2 422,02+0,00 %
OKB/USDTOKB
$110,47+0,00 %
Сегодняшние новости рынка
1#День голосования на промежуточных выборах в США, учтена ли цена BTC на победу Демократической партии
Популярное

2#Скоро отчет Circle, сможет ли рост стейблкоинов принести доход?


3#Прогноз финансовой отчетности AMD: прогресс коммерциализации системы HeliosAI
