市值: $2.6514T -5.90%
成交额(24h): $192.6442B 48.21%
恐惧与贪婪指数:

18 - 极度恐惧

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

选择语种

选择语种

选择货币

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

区块链中智能合约升级的选择是什么?

Smart contracts can be upgraded using proxy contracts, eternal storage, diamond standard, admin control, or time-locked methods to fix bugs and add features.

2025/04/14 12:01

智能合约是自执行合同,并将其直接写入代码的协议条款。它们在区块链平台上运行,并且一旦部署就不可变。但是,在某些情况下,需要升级智能合约,例如修复错误,添加新功能或适应监管环境中的变化。本文将探讨区块链中智能合约升级的各种选项。

不变的智能合约

不变的智能合约是以太坊等区块链上大多数智能合约的默认状态。部署后,这些合同将无法更改。这种不变性是区块链技术的核心功能,可确保一旦部署合同,其逻辑就无法更改,从而提供了高度的安全性和信任。

但是,此功能也可能是一个限制。如果发现错误或需要新功能,则必须部署全新的合同。这可能很麻烦,可能会导致用户对与哪些合同进行互动的困惑。为了减轻这些问题,已经开发了几种升级机制。

代理合同

代理合同是升级智能合约的最流行方法之一。这种方法涉及部署一份代理合同,该合同将其转发给实施合同。代理合同仍然不可变,而实施合同可以换成新版本。

这是建立代理合同的方法:

  • 部署实施合同:首先,部署智能合约的初始版本。该合同将包含您应用程序的实际逻辑。
  • 部署代理合同:接下来,部署一份代理合同,指向实施合同的地址。代理合同将充当中间人,将所有呼吁转发给实施合同。
  • 升级实现:需要升级时,请部署新版本的实现合同。更新代理合同,以指向新实施的地址。

此方法允许无缝升级而无需更改用户与用户互动的合同地址,从而保持连续性和用户信任。

永恒的存储模式

永恒的存储模式是智能合同升级的另一种方法。此方法将数据存储与合同的逻辑分开。存储合同保持不变,而逻辑合同可以升级。

实施永恒的存储模式:

  • 部署存储合同:部署将保留所有州变量的合同。该合同应具有设置和获取值的功能。
  • 部署逻辑合同:部署逻辑合同的初始版本,该合同与存储合同进行互动以读取数据。
  • 升级逻辑合同:当需要升级时,请部署新版本的逻辑合同。新的逻辑合同将继续与同一存储合同互动。

这种模式可确保数据在逻辑合同的不同版本中保持完整且可访问,从而使升级更易于管理和风险更低。

钻石标准

Diamond Standard ,也称为EIP-2535,是智能合同升级的最新且复杂的方法。它允许独立升级合同的多个方面,从而实现更模块化和灵活的智能合同系统。

使用钻石标准:

  • 部署钻石合同:部署作为主要入口处的钻石合同。它包含一个方面列表,即实施特定功能的个别合同。
  • 部署方面:部署初始组合集,每个方面都代表整体功能的一部分。
  • 升级方面:需要升级时,请部署新版本的方面。更新钻石合同,以指向新的面积地址。

该标准允许对升级进行细粒度的控制,从而可以更新合同的特定部分而不会影响他人。

管理控制的升级

管理控制的升级涉及部署具有管理员职位的合同,该合同有权升级合同。此方法很简单,但具有集中化的风险,因为管理员对合同的运营具有重要的权力。

实施管理员控制的升级:

  • 部署可升级合同:通过定义的管理员角色部署合同的初始版本。
  • 定义升级功能:在合同中包含一个函数,允许管理员更新合同的逻辑。
  • 执行升级:当需要升级时,管理员将调用带有新合同地址的升级功能。

此方法很简单,但要求对管理员的信任才能为合同用户的最大利益行事。

时间锁定的升级

时间锁定的升级通过引入升级的提案及其执行之间的延迟,为管理控制的升级增加了额外的安全性。此延迟使用户可以审查提出的更改并撤回其资金,如果他们不同意升级。

实施时间锁定的升级:

  • 部署可升级合同:用管理员角色和时间锁定机制部署合同的初始版本。
  • 建议升级:管理员通过指定新合同的地址以及执行升级的时间来提出升级。
  • 审查期:在审核期间,用户可以检查提出的更改,并决定是否继续与合同进行互动。
  • 执行升级:指定时间通过后,如果找不到问题,将自动执行升级。

此方法平衡了升级的需求与用户的安全性和信任。

常见问题

问:智能合同升级可以完全分散吗?

答:尽管诸如钻石标准和代理合同之类的一些方法允许对升级进行更多的分散控制,但​​完全分散的升级仍然具有挑战性。管理和锁定的升级通常涉及一定程度的集中化,因为需要提出和执行升级,需要管理或治理机制。

问:与智能合同升级有关的风险是什么?

答:主要风险包括新代码引入的潜在安全漏洞,如果管理不当管理,如果管理员对升级有太多控制权,则丢失数据的可能性以及集中化的风险。适当的测试,审核和透明的沟通可以帮助减轻这些风险。

问:如何了解用户有关智能合同升级的信息?

答:可以通过各种渠道告知用户,例如官方项目公告,社交媒体更新和应用程序中的集成通知系统。透明度和清晰的沟通对于在升级期间维持用户信任至关重要。

问:是否有任何支持智能合同升级的工具或框架?

答:是的,几种工具和框架支持智能合约升级。例如,OpenZeppelin的可升级合同为实施基于代理的升级提供了强大的框架。此外,Truffle和HardHat之类的工具提供插件和脚本以促进升级过程。

免责声明:info@kdj.com

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

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

相关百科

什么是减半? (了解Bitcoin的供应计划)

什么是减半? (了解Bitcoin的供应计划)

2026-01-16 00:19:50

什么是 Bitcoin 减半? 1. Bitcoin 减半是嵌入在 Bitcoin 协议中的预编程事件,它将给予矿工的区块奖励减少 50%。 2. 大约每 210,000 个区块发生一次,根据 Bitcoin 的平均出块时间 10 分钟,大约每四年发生一次。 3. 该机制由中本聪设计,旨在加强稀缺性...

什么是玩赚钱 (P2E) 游戏及其运作方式?

什么是玩赚钱 (P2E) 游戏及其运作方式?

2026-01-12 20:19:33

定义和核心机制1. Play-to-Earn (P2E) 游戏是基于区块链的数字体验,玩家通过游戏活动赚取加密货币代币或不可替代代币 (NFT)。 2. 这些游戏依靠去中心化账本技术来验证所有权、转移资产并在全球参与者网络中透明地分配奖励。 3. 与传统视频游戏不同,P2E 游戏将经济系统直接嵌入其...

什么是内存池以及交易如何得到确认?

什么是内存池以及交易如何得到确认?

2026-01-24 06:00:16

什么是内存池? 1.内存池是每个Bitcoin节点内的临时存储区域,用于保存未确认的交易。 2. 交易在广播到网络后但在矿工将其纳入区块之前进入内存池。 3. 每个完整节点都维护自己的内存池版本,由于延迟或策略变化,该版本可能略有不同。 4. 内存池的大小和组成会根据网络拥塞、交易费用和区块空间可用...

如何用加密货币赚取被动收入?

如何用加密货币赚取被动收入?

2026-01-13 07:39:45

质押机制1. 质押是指在钱包中锁定一定数量的加密货币,以支持交易验证和共识维护等网络操作。 2. 参与者收到以他们所持有的相同代币计价的奖励,通常根据网络定义的参数定期分配。 3. 以太坊向权益证明的过渡显着增加了散户通过 Lido 和 Rocket Pool 等平台的可及性。 4. 一些协议规定了...

什么是零知识证明(ZK-Proofs)?

什么是零知识证明(ZK-Proofs)?

2026-01-22 04:40:14

定义和核心概念1. 零知识证明(ZK-Proofs)是一种加密协议,使一方能够向另一方证明陈述的真实性,而不会泄露超出该陈述有效性的任何潜在信息。 2. ZK-proof 必须满足三个基本属性:完整性、健全性和零知识——这意味着诚实的证明者可以说服诚实的验证者,不诚实的证明者不能误导验证者,除非概率...

什么是区块链三难困境? (安全性、可扩展性和去中心化)

什么是区块链三难困境? (安全性、可扩展性和去中心化)

2026-01-15 17:00:25

了解核心冲突1. 区块链三难困境描述了一个基本的架构约束,即在单个区块链协议中同时最大化安全性、可扩展性和去中心化是极其困难的。 2. 每个重大设计决策都需要权衡——增加吞吐量通常需要减少节点数量或简化共识逻辑,这会削弱去中心化或引入新的攻击向量。 3. Bitcoin优先考虑安全性和去中心化,但将...

什么是减半? (了解Bitcoin的供应计划)

什么是减半? (了解Bitcoin的供应计划)

2026-01-16 00:19:50

什么是 Bitcoin 减半? 1. Bitcoin 减半是嵌入在 Bitcoin 协议中的预编程事件,它将给予矿工的区块奖励减少 50%。 2. 大约每 210,000 个区块发生一次,根据 Bitcoin 的平均出块时间 10 分钟,大约每四年发生一次。 3. 该机制由中本聪设计,旨在加强稀缺性...

什么是玩赚钱 (P2E) 游戏及其运作方式?

什么是玩赚钱 (P2E) 游戏及其运作方式?

2026-01-12 20:19:33

定义和核心机制1. Play-to-Earn (P2E) 游戏是基于区块链的数字体验,玩家通过游戏活动赚取加密货币代币或不可替代代币 (NFT)。 2. 这些游戏依靠去中心化账本技术来验证所有权、转移资产并在全球参与者网络中透明地分配奖励。 3. 与传统视频游戏不同,P2E 游戏将经济系统直接嵌入其...

什么是内存池以及交易如何得到确认?

什么是内存池以及交易如何得到确认?

2026-01-24 06:00:16

什么是内存池? 1.内存池是每个Bitcoin节点内的临时存储区域,用于保存未确认的交易。 2. 交易在广播到网络后但在矿工将其纳入区块之前进入内存池。 3. 每个完整节点都维护自己的内存池版本,由于延迟或策略变化,该版本可能略有不同。 4. 内存池的大小和组成会根据网络拥塞、交易费用和区块空间可用...

如何用加密货币赚取被动收入?

如何用加密货币赚取被动收入?

2026-01-13 07:39:45

质押机制1. 质押是指在钱包中锁定一定数量的加密货币,以支持交易验证和共识维护等网络操作。 2. 参与者收到以他们所持有的相同代币计价的奖励,通常根据网络定义的参数定期分配。 3. 以太坊向权益证明的过渡显着增加了散户通过 Lido 和 Rocket Pool 等平台的可及性。 4. 一些协议规定了...

什么是零知识证明(ZK-Proofs)?

什么是零知识证明(ZK-Proofs)?

2026-01-22 04:40:14

定义和核心概念1. 零知识证明(ZK-Proofs)是一种加密协议,使一方能够向另一方证明陈述的真实性,而不会泄露超出该陈述有效性的任何潜在信息。 2. ZK-proof 必须满足三个基本属性:完整性、健全性和零知识——这意味着诚实的证明者可以说服诚实的验证者,不诚实的证明者不能误导验证者,除非概率...

什么是区块链三难困境? (安全性、可扩展性和去中心化)

什么是区块链三难困境? (安全性、可扩展性和去中心化)

2026-01-15 17:00:25

了解核心冲突1. 区块链三难困境描述了一个基本的架构约束,即在单个区块链协议中同时最大化安全性、可扩展性和去中心化是极其困难的。 2. 每个重大设计决策都需要权衡——增加吞吐量通常需要减少节点数量或简化共识逻辑,这会削弱去中心化或引入新的攻击向量。 3. Bitcoin优先考虑安全性和去中心化,但将...

查看所有文章

User not found or password invalid

Your input is correct