市值: $2.6836T 2.96%
成交额(24h): $86.4075B 26.77%
恐惧与贪婪指数:

32 - 恐惧

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

选择语种

选择语种

选择货币

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

智能合约可以更改或更新吗?

Smart contracts are immutable by design, ensuring trust and transparency, but this limits updates—leading developers to use proxy patterns for upgrades while balancing security and decentralization.

2025/12/17 11:00

了解智能合约的不变性

1. 智能合约通常被设计为一旦部署在区块链上就不可变。这意味着管理合约的代码无法更改,从而确保参与者之间的信任和透明度。不变性是大多数区块链网络的核心特征,尤其是以太坊,其中智能合约完全按照编程执行,没有停机、审查、欺诈或第三方干扰的风险。

2. 然而,当发现错误或需要改进时,这种不变性就会带来挑战。存在严重缺陷的合约无法直接修补。相反,开发人员必须部署新版本的合约并手动迁移数据和用户交互。这个过程可能很复杂且有风险,特别是对于管理大量价值的合同而言。

3. 一些区块链平台允许通过代理模式更新合约的机制有限。这些设计将逻辑层与存储层分开,使开发人员能够在保留状态的同时升级逻辑。虽然不更改原始合约,但这种方法通过将函数调用重定向到新的实现来模拟可升级性。

4. 代理合约的使用会带来额外的复杂性和潜在的安全风险。攻击者可能会利用升级机制中的弱点,例如不正确的访问控制或有缺陷的初始化过程。由于多个合约之间逻辑和存储的分离,审计变得更加困难。

5. 尽管有这些解决方法,真正的不变性仍然是去中心化系统的基本原则。部署后无法更改合同增强了责任并减少了恶意更改的可能性。用户与合约交互时知道规则不会意外改变。

实践中的升级模式

1. 实现可升级智能合约的一种常见方法是代理模式,它依赖于将调用转发给实现合约的代理合约。当需要更新时,将部署新的实现,并通过委托调用将代理指向它。这保留了合约的地址和存储的数据。

2. 另一种技术涉及使用钻石模式,其中多个方面(合约组件)在单个代理下注册。每个方面处理特定的功能,并且可以独立添加或替换新的功能。这种模块化方法增强了灵活性,但增加了架构复杂性。

3. 开发人员还可以实现基于控制器的升级,其中特权实体拥有触发更新的权限。虽然这提供了控制,但它与分散化理想相矛盾,并且如果控制器受到损害,就会产生单点故障。

4. 一些项目利用有时间限制的治理提案,仅在延迟后才允许社区批准的升级。这可以缓解突然的变化,并为用户提供反应的时间,尽管在升级过程中它仍然取决于受信任的签名者。

5. 在设计可升级系统时,测试和形式验证变得更加重要。即使升级逻辑中的微小错误也可能导致不可逆转的资金损失或未经授权的访问。

可修改合同的风险和权衡

1. 将可变性引入智能合约会破坏区块链的主要优势之一:可预测性。用户期望代码随着时间的推移表现一致。当合同可以更改时,信任就会从代码转移到控制升级的实体。

2. 对升级的集中控制会产生漏洞。如果多重签名钱包或管理密钥遭到泄露,攻击者可以重定向资金或更改关键功能。由于升级机制配置错误,已经发生了备受瞩目的漏洞攻击。

3. 当逻辑发生链外或通过不透明的治理流程发生变化时,透明度就会受到影响。用户可能不会意识到更新,除非他们积极监控合约事件或治理论坛。

4. 可变合同会增加监管审查。当局可能会将它们视为伪装成去中心化应用程序的中心化系统,从而可能使它们受到更严格的合规要求。

5. 项目必须权衡面向未来的好处与去信任操作的侵蚀。在许多情况下,事实证明,启动新的不可变合约比​​尝试修改现有合约更安全,也更符合区块链理念。

常见问题解答

部署好的智能合约可以直接编辑吗?不可以,一旦智能合约部署在区块链上,其代码就无法编辑。任何更改都需要部署新的合约实例。

什么是代理合同?代理合约充当中介,将函数调用转发到包含实际逻辑的另一个合约。它可以通过切换目标实现来实现升级,而无需更改代理地址。

所有区块链都能抵抗合约变更吗?大多数公共区块链(例如以太坊)都通过设计强制实现不变性。然而,一些私人或联盟链可能允许行政越权,牺牲权力下放以换取运营灵活性。

用户如何知道合约是否已升级?升级事件通常作为区块链上的日志发出。用户可以通过浏览器或监控工具跟踪这些事件,以验证实现地址的变化。

免责声明:info@kdj.com

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

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

相关百科

什么是 DAI?它与 USDT 有何不同?

什么是 DAI?它与 USDT 有何不同?

2026-09-08 17:00:22

市场波动模式1. 自2021年以来,Bitcoin超过68%的交易日在24小时窗口内价格波动超过15%。 2. 在流动性较低的时期,尤其是在 02:00 至 06:00 UTC 期间,以太坊表现出比 Bitcoin 更高的日内波动性。 3. 稳定币脱钩事件(例如 2023 年 3 月的 USDC 事...

USDT、USDC 和 DAI:这些稳定币有何不同?

USDT、USDC 和 DAI:这些稳定币有何不同?

2026-09-20 05:59:44

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

为什么稳定币会失去 1 美元的挂钩?

为什么稳定币会失去 1 美元的挂钩?

2026-09-08 02:00:03

储备构成和透明度差距1. 许多稳定币声称完全由现金或短期美国国债支持,但储备披露往往缺乏实时验证机制。 2. 第三方证明可能仅每季度进行一次,从而留下较长的窗口,使不匹配的资产负债结构仍未被发现。 3. 一些发行人持有的商业票据或逆回购协议存在未反映在公共资产负债表中的交易对手风险。 4. 链下银行...

什么是加密稳定币 Depeg?

什么是加密稳定币 Depeg?

2026-09-24 16:39:41

脱钩的定义和机制1. 当稳定币的市场价格显着偏离其预期锚定价值(对于与美元挂钩的代币来说,最常见的是 1.00 美元)时,就会发生加密稳定币脱钩。 2. 这种偏差不是短暂的波动,而是持续的信心丧失,体现在订单簿失衡、流动性撤回和级联赎回上。 3. 脱钩源于结构性缺陷,包括储备不足或不透明、算法再平衡...

什么是加密货币中的自我托管以及为什么它很重要?

什么是加密货币中的自我托管以及为什么它很重要?

2026-09-10 04:19:32

定义和核心机制1. 自我保管是指个人保留对其私钥的完全控制权,而不将该权力委托给任何第三方服务的做法。 2. 自我托管钱包的服务器上不持有资产;相反,它提供了一个使用本地存储的加密密钥与区块链网络交互的接口。 3. 用户的设备(无论是智能手机、台式机还是硬件模块)托管种子短语和私钥,并且在正常操作期...

托管钱包与非托管钱包:有什么区别?

托管钱包与非托管钱包:有什么区别?

2026-09-17 03:19:46

托管钱包定义1. 托管钱包是一种由第三方服务提供商持有和管理用户私钥的数字资产存储解决方案。 2. 用户通过电子邮件、密码和双因素身份验证等登录凭据访问资金,而不是直接加密控制。 3. 简化帐户恢复——忘记密码或失去设备访问权限的用户可以通过平台管理的身份验证协议重新获得访问权限。 4. 这些钱包通...

什么是 DAI?它与 USDT 有何不同?

什么是 DAI?它与 USDT 有何不同?

2026-09-08 17:00:22

市场波动模式1. 自2021年以来,Bitcoin超过68%的交易日在24小时窗口内价格波动超过15%。 2. 在流动性较低的时期,尤其是在 02:00 至 06:00 UTC 期间,以太坊表现出比 Bitcoin 更高的日内波动性。 3. 稳定币脱钩事件(例如 2023 年 3 月的 USDC 事...

USDT、USDC 和 DAI:这些稳定币有何不同?

USDT、USDC 和 DAI:这些稳定币有何不同?

2026-09-20 05:59:44

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

为什么稳定币会失去 1 美元的挂钩?

为什么稳定币会失去 1 美元的挂钩?

2026-09-08 02:00:03

储备构成和透明度差距1. 许多稳定币声称完全由现金或短期美国国债支持,但储备披露往往缺乏实时验证机制。 2. 第三方证明可能仅每季度进行一次,从而留下较长的窗口,使不匹配的资产负债结构仍未被发现。 3. 一些发行人持有的商业票据或逆回购协议存在未反映在公共资产负债表中的交易对手风险。 4. 链下银行...

什么是加密稳定币 Depeg?

什么是加密稳定币 Depeg?

2026-09-24 16:39:41

脱钩的定义和机制1. 当稳定币的市场价格显着偏离其预期锚定价值(对于与美元挂钩的代币来说,最常见的是 1.00 美元)时,就会发生加密稳定币脱钩。 2. 这种偏差不是短暂的波动,而是持续的信心丧失,体现在订单簿失衡、流动性撤回和级联赎回上。 3. 脱钩源于结构性缺陷,包括储备不足或不透明、算法再平衡...

什么是加密货币中的自我托管以及为什么它很重要?

什么是加密货币中的自我托管以及为什么它很重要?

2026-09-10 04:19:32

定义和核心机制1. 自我保管是指个人保留对其私钥的完全控制权,而不将该权力委托给任何第三方服务的做法。 2. 自我托管钱包的服务器上不持有资产;相反,它提供了一个使用本地存储的加密密钥与区块链网络交互的接口。 3. 用户的设备(无论是智能手机、台式机还是硬件模块)托管种子短语和私钥,并且在正常操作期...

托管钱包与非托管钱包:有什么区别?

托管钱包与非托管钱包:有什么区别?

2026-09-17 03:19:46

托管钱包定义1. 托管钱包是一种由第三方服务提供商持有和管理用户私钥的数字资产存储解决方案。 2. 用户通过电子邮件、密码和双因素身份验证等登录凭据访问资金,而不是直接加密控制。 3. 简化帐户恢复——忘记密码或失去设备访问权限的用户可以通过平台管理的身份验证协议重新获得访问权限。 4. 这些钱包通...

查看所有文章

User not found or password invalid

Your input is correct