市值: $2.1985T 0.69%
成交额(24h): $48.1994B -26.31%
恐惧与贪婪指数:

23 - 极度恐惧

  • 市值: $2.1985T 0.69%
  • 成交额(24h): $48.1994B -26.31%
  • 恐惧与贪婪指数:
  • 市值: $2.1985T 0.69%
加密货币
话题
百科
资讯
加密话题
视频
热门加密百科

选择语种

选择语种

选择货币

加密货币
话题
百科
资讯
加密话题
视频

什么是代理合同?

Proxy contracts enable upgradable smart contracts by separating logic and storage, allowing developers to update functionality without changing the contract address or losing data.

2025/07/21 07:50

了解代理合同的概念

代理合同是在以太坊等区块链平台上使用的智能合同开发中常用的设计模式。它的主要目的是将合同的逻辑与其存储区分开。这种分离允许开发人员在不更改合同地址或丢失代理本身中存储的数据的情况下升级或修改合同的逻辑。

该代理合同充当中介机构,该中介机构将呼叫另一个合同(通常称为实施合同) 。代理持有所有状态变量,而实施合同包含功能业务逻辑。这种架构模式对于维持分散应用(DAPP)的长期灵活性至关重要。

代理合同的运作方式

代理合同的机制在很大程度上取决于EVM(以太坊虚拟机)中的授权特征。当用户与代理合同进行互动时,代理使用授权将执行转发到当前实施合同。这样可以确保代码在代理的上下文中运行,这意味着存储,地址和平衡属于代理合同。

这是其工作原理的细分:

  • 代理合同包含对当前实施地址的引用。
  • 当在代理上调用函数时,它使用DelegateCall在实现合同的上下文中执行该函数。
  • 执行过程中所做的所有更改都会影响代理的存储,而不是实施合同。

此方法可以升级性能,而无需重新部署整个合同系统,这对于维持用户信任和合同连续性至关重要。

不同类型的代理合同

有几种类型的代理合同,每种合同都有特定的用例和实施详细信息:

  • 透明代理:此类类型的路由不同,取决于它们是来自管理员还是常规用户。管理员呼叫将转发给代理管理合同,而常规电话转到逻辑合同。
  • UUP(通用升级代理标准) :在此模型中,升级功能是在逻辑合同本身中实现的。这使用相同的标准在所有代理中都实施了一致的升级机制。
  • BEACON代理:该代理人没有直接存储实施地址,而是动态提供当前实施地址的信标合同。这允许同时进行多个代理的质量升级。

每种代理类型在安全性升级性复杂性方面都有其优点和权衡。

部署代理合同的步骤

部署代理合同涉及多个步骤。这是一个详细的演练:

  • 部署实施合同:其中包含实际的业务逻辑。如果使用某些代理类型(例如UUP),则不应具有构造函数,因为这可能会干扰未来的升级。
  • 部署代理合同:在部署期间,您指定实施合同的地址。一些代理合同还需要设置管理员地址。
  • 与代理进行互动:所有用户交互应通过代理。使用TruffleHardhatRemix等工具与代理进行交互,并确保使用正确的ABI。
  • 升级实现(如果需要) :当准备就绪逻辑的新版本时,部署新实施合同并更新代理对其的参考。此步骤取决于所使用的代理类型。

这些步骤中的每一个都必须仔细执行,以避免资金或安全漏洞的损失

代理合同的安全考虑

代理合同引入了开发人员必须解决的新安全挑战

  • 存储碰撞:如果实现合同和代理未仔细设计,则存储变量可能会重叠,从而导致意想不到的数据损坏。
  • 初始化问题:实施合同中的构造函数如果不替换为初始化功能,可能会导致问题。必须保护这些功能,以防止部署后重新启动。
  • 访问控制:必须严格控制升级合同的能力。管理密钥管理不善会导致恶意升级
  • 测试复杂性:代理合同增加了测试的复杂性,要求开发人员对代理和实施合同进行彻底测试。

使用诸如Openzeppelin之类的框架的众多审计模式可以减轻许多此类风险。

代理合同的用例

代理合同被广泛用于各种分散融资(FEFI)协议和DAPP,其中长期维护至关重要。一些值得注意的用例包括:

  • 治理控制的升级:诸如AAVE复合使用代理合同之类的协议,可以允许社区驱动的升级而不会破坏用户交互。
  • 错误修复而无需重新部署:如果在部署的合同中发现了一个关键的错误,则开发人员可以在新实施中修复逻辑并升级代理而不会影响用户余额或合同地址。
  • 多合同系统:在多个合同一起工作的系统中,代理合同可以确保所有组件都可以以协调的方式升级。

这些用例证明了在现实世界区块链应用中代理合同的实际价值

常见问题

问:是否可以将代理合同用于所有类型的智能合约?答:虽然代理合同广泛适用,但它们可能不适合不需要升级性的无权不可变的合同。例如,像ERC-20ERC-721这样的令牌标准通常受益于代理模式,但是某些协议更喜欢信任最小化的不变性。

问:如何有效地测试代理合同?答:测试代理合同涉及验证代理和实施逻辑。使用HardhatFoundry等测试框架,并确保所有互动都通过代理进行。嘲笑代理环境和检查存储完整性至关重要。

问:代理合同是否与所有EVM兼容区块链兼容?答:是的,代理合同依赖于EVM功能等EVM功能,这些功能可在所有兼容EVM兼容的链中可用,包括Binance Smart ChainPolygoninotum 。但是,工具或合同验证的差异可能会影响部署工作流程。

问:使用代理合同的气体影响是什么?答:由于额外的授权步骤,代理合同增加了少量的开销。但是,此开销通常很少,并且不会显着影响用户体验。可以通过优化代理设计并最大程度地减少冗余呼叫来节省汽油。

免责声明:info@kdj.com

所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!

如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。

相关百科

什么是资金费率翻转?为什么它经常预示着市场情绪的变化

什么是资金费率翻转?为什么它经常预示着市场情绪的变化

2026-06-14 03:57:05

市场波动模式1. Bitcoin 在重大宏观经济公告期间,24 小时内价格波动往往超过 10%。 2. 合并事件期间,以太坊的波动性指数飙升至 95 以上,反映出 Layer 1 和 Layer 2 生态系统的深度流动性碎片化。 3. 稳定币脱钩——例如 USDC 在 2023 年 3 月暂时偏离至...

如何识别加密货币期货市场中的市场操纵信号

如何识别加密货币期货市场中的市场操纵信号

2026-06-12 17:26:02

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

什么是杠杆陷阱?为什么零售贸易商经常被抓

什么是杠杆陷阱?为什么零售贸易商经常被抓

2026-06-12 23:53:36

市场波动模式1. Bitcoin 在 ETF 批准公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动通常超过 5%。 2. 以太坊的波动性峰值与第 2 层采用指标密切相关,特别是当新的 Rollup 在主网上线并经历快速用户增长时。 3. 稳定币脱钩事件(例如 2023 年 3 月的 ...

什么是突破交易?期货交易者如何捕捉大幅价格变动

什么是突破交易?期货交易者如何捕捉大幅价格变动

2026-06-13 05:19:40

了解加密货币期货的突破机制1. 当 Bitcoin 或山寨币价格果断突破既定阻力位且交易量持续激增时,就会发生突破,通常会引发杠杆多头头寸的级联清算。 2. 在永续合约市场中,突破经常与融资利率飙升和未平仓合约扩张同时发生,这表明机构参与而不是散户噪音。 3. 与现货市场不同,加密货币期货的突破会被...

高杠杆期货头寸的最佳止损策略是什么?

高杠杆期货头寸的最佳止损策略是什么?

2026-06-14 14:19:32

高杠杆期货交易中的止损机制1. 止损设置必须符合价格扩散的统计特性,而不是任意的百分比阈值。在能源期货价差等均值回归市场中,最佳止损水平源自奥恩斯坦-乌伦贝克动力学下的首次退出时间分布。 2. 固定的 1% 或 2% 止损忽略了波动性聚集和状态转变。对取暖油/天然气-油半小时数据的实证回溯测试表明,...

如何在重大经济公告期间交易加密货币期货

如何在重大经济公告期间交易加密货币期货

2026-06-12 22:50:44

市场波动模式1. Bitcoin 在减半公告或主要交易所上市等高流动性事件期间,单个 24 小时窗口内的价格波动通常超过 5%。 2. 过去 36 个月,山寨币与 BTC 的相关性平均高于 0.78,表明对 Bitcoin 方向性走势的强烈依赖。 3. 期货未平仓合约的飙升常常先于急剧逆转——尤其是...

什么是资金费率翻转?为什么它经常预示着市场情绪的变化

什么是资金费率翻转?为什么它经常预示着市场情绪的变化

2026-06-14 03:57:05

市场波动模式1. Bitcoin 在重大宏观经济公告期间,24 小时内价格波动往往超过 10%。 2. 合并事件期间,以太坊的波动性指数飙升至 95 以上,反映出 Layer 1 和 Layer 2 生态系统的深度流动性碎片化。 3. 稳定币脱钩——例如 USDC 在 2023 年 3 月暂时偏离至...

如何识别加密货币期货市场中的市场操纵信号

如何识别加密货币期货市场中的市场操纵信号

2026-06-12 17:26:02

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

什么是杠杆陷阱?为什么零售贸易商经常被抓

什么是杠杆陷阱?为什么零售贸易商经常被抓

2026-06-12 23:53:36

市场波动模式1. Bitcoin 在 ETF 批准公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动通常超过 5%。 2. 以太坊的波动性峰值与第 2 层采用指标密切相关,特别是当新的 Rollup 在主网上线并经历快速用户增长时。 3. 稳定币脱钩事件(例如 2023 年 3 月的 ...

什么是突破交易?期货交易者如何捕捉大幅价格变动

什么是突破交易?期货交易者如何捕捉大幅价格变动

2026-06-13 05:19:40

了解加密货币期货的突破机制1. 当 Bitcoin 或山寨币价格果断突破既定阻力位且交易量持续激增时,就会发生突破,通常会引发杠杆多头头寸的级联清算。 2. 在永续合约市场中,突破经常与融资利率飙升和未平仓合约扩张同时发生,这表明机构参与而不是散户噪音。 3. 与现货市场不同,加密货币期货的突破会被...

高杠杆期货头寸的最佳止损策略是什么?

高杠杆期货头寸的最佳止损策略是什么?

2026-06-14 14:19:32

高杠杆期货交易中的止损机制1. 止损设置必须符合价格扩散的统计特性,而不是任意的百分比阈值。在能源期货价差等均值回归市场中,最佳止损水平源自奥恩斯坦-乌伦贝克动力学下的首次退出时间分布。 2. 固定的 1% 或 2% 止损忽略了波动性聚集和状态转变。对取暖油/天然气-油半小时数据的实证回溯测试表明,...

如何在重大经济公告期间交易加密货币期货

如何在重大经济公告期间交易加密货币期货

2026-06-12 22:50:44

市场波动模式1. Bitcoin 在减半公告或主要交易所上市等高流动性事件期间,单个 24 小时窗口内的价格波动通常超过 5%。 2. 过去 36 个月,山寨币与 BTC 的相关性平均高于 0.78,表明对 Bitcoin 方向性走势的强烈依赖。 3. 期货未平仓合约的飙升常常先于急剧逆转——尤其是...

查看所有文章

User not found or password invalid

Your input is correct