-
bitcoin $105825.078562 USD
3.90% -
ethereum $3631.303623 USD
7.16% -
tether $0.999974 USD
0.03% -
xrp $2.403351 USD
5.74% -
bnb $1009.881652 USD
2.05% -
solana $166.637054 USD
6.09% -
usd-coin $0.999862 USD
-0.02% -
tron $0.291409 USD
0.22% -
dogecoin $0.181310 USD
3.85% -
cardano $0.584441 USD
4.33% -
hyperliquid $41.954853 USD
4.75% -
chainlink $16.132828 USD
5.22% -
zcash $643.726171 USD
12.28% -
bitcoin-cash $506.688543 USD
2.51% -
stellar $0.289921 USD
3.46%
如果区块链是不可变的,智能合约如何更新?
Smart contracts can be upgraded without breaking blockchain immutability by using proxy patterns that redirect logic to new implementations while preserving data and address.
2025/11/09 21:20
了解不可变区块链和智能合约更新的悖论
1. 区块链技术建立在不变性原则之上,这意味着数据一旦写入区块链,就无法更改或删除。这一特性确保了去中心化系统的透明度、安全性和信任。然而,智能合约(在区块链上运行的自动执行程序)通常会随着错误的发现或功能需要改进而不断发展。不变性和更新需求之间的矛盾提出了独特的挑战。
2. 开发人员设计了架构模式和机制,允许在不破坏区块链完整性的情况下升级智能合约逻辑。这些方法不会更改原始代码,而是将执行重定向到新的实现,同时保留合约的状态和地址。
3. 一种常见的方法涉及使用代理模式,其中代理合约保存状态并充当接口,而实际逻辑驻留在单独的、可升级的实现合约中。通过更改对实现的引用,开发人员可以有效地更新功能。
4. 另一种策略是合约迁移,即部署新版本的智能合约,并指示或激励用户将其资产和交互迁移到更新的合约。这种方法通过保持旧合约不变而将活动转移到新合约来保持不变性。
5. 一些区块链平台(例如以太坊)支持 ERC-1967 等标准,该标准定义了实施可升级合约的安全方法。这些标准有助于确保升级透明且可验证,从而降低与恶意更改相关的风险。
代理模式:可升级合约背后的核心机制
1.最广泛采用的更新智能合约的解决方案是代理模式。在此设置中,涉及两个合约:代理合约和实施合约。代理存储所有关键数据并通过 delegatecall 将函数调用转发给实现。
2.当需要更新时,开发人员部署新的实现合约并更新代理中的指针以引用新地址。这允许逻辑改变,同时保持相同的合约地址和存储的数据。
3. 代理模式有多种变体,包括透明代理、UUPS(通用可升级代理标准)和钻石模式。每种方案在 Gas 成本、控制和复杂性方面都提供了不同的权衡。
4. 在透明代理中,指定的管理地址拥有升级实现的专有权利,而普通用户与合约交互而不会注意到任何差异。这种分离有助于防止未经授权的升级。
5. UUPS 将升级逻辑移至实施本身,从而减小了代理的大小和成本。然而,这需要仔细审核,因为实施中的漏洞可能允许攻击者劫持升级机制。
可升级智能合约的风险和注意事项
1. 可升级性带来灵活性的同时,也带来了中心化风险。如果单个实体控制了升级密钥,他们就获得了对合约行为的重大权力,可能会破坏去中心化。
2.恶意升级可能导致盗窃、资金冻结或功能意外改变。由于安全性较差的升级机制被利用,发生了一些备受瞩目的事件,导致了巨大的经济损失。
3. 透明度至关重要。用户必须能够验证升级过程中进行了哪些更改。开源代码、链上公告和社区治理有助于维护信任。
4. 一些项目使用多重签名钱包或去中心化自治组织(DAO)来管理升级,在应用任何更改之前需要达成共识。这分散了控制权并符合去中心化原则。
5. 尽管有保障措施,升级机制的存在本质上会使合约变得更加复杂并增加其攻击面。审计、正式验证和限时升级是减轻这些风险的推荐做法。
常见问题解答
任何人都可以升级智能合约吗?不可以,只有通过治理系统有权访问升级密钥或权限的实体才能发起升级。大多数系统限制这种能力以防止滥用。
可升级合约会破坏区块链的不变性吗?它们不会改变现有代码。相反,它们将执行重定向到新代码。原始合约在区块链上保持不变,保持数据层面的不变性。
合约升级期间用户资金会发生什么变化?用户资金和数据通常存储在代理合约中,该合约仍然有效。只要存储布局兼容,升级后资金仍然安全且可访问。
有没有原生支持合约升级的区块链?是的,EOS 和 Tezos 等一些平台提供了对可升级智能合约的原生支持,允许开发人员直接在协议层中构建更新机制。
免责声明:info@kdj.com
所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!
如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。
- Zcash 价格预测:ZEC 突破会持续吗?
- 2025-11-10 18:45:01
- XRP 价格、AlphaPepe 和预测:最新动态是什么?
- 2025-11-10 18:55:01
- 加密货币爆炸:精明投资者的新闻见解
- 2025-11-10 19:10:01
- XRP 价格在 ETF 热潮中飙升,Zcash 模仿登月计划:崩溃
- 2025-11-10 19:10:01
- SaaS、非人类身份和用户真实性:风险的新时代
- 2025-11-10 19:15:01
- CFTC、加密货币和潜在的看涨走势:这是怎么回事?
- 2025-11-10 18:50:01
相关百科
加密的意图是什么以及它们如何改变用户交互?
2025-11-09 09:00:23
了解去中心化交易所在现代加密货币交易中的作用1. 去中心化交易所(通常称为 DEX)通过消除中介机构重塑了交易者与数字资产的互动方式。这些平台在区块链网络上运行,允许用户直接从钱包进行交易,而无需将资金存入中心化实体。 2. 智能合约为大多数 DEX 操作提供支持,在满足预定义条件时自动执行交易。这...
什么是重新抵押以及它如何增强经济安全?
2025-11-09 23:40:08
了解区块链生态系统中的重质押1. 重新抵押是指已经将其代币抵押在权益证明 (PoS) 网络中的用户可以将这些抵押资产重新用作区块链生态系统内多个协议或层的抵押品的过程。这种机制允许验证者和委托者将其安全贡献扩展到单个链或应用程序之外。 2. 重新质押使参与者能够利用其现有权益,而不是为每个需要经济安...
什么是主权汇总以及它与智能合约汇总有何不同?
2025-11-10 09:00:05
了解主权汇总1. 主权汇总作为独立的区块链层运行,利用基础层(例如以太坊)的数据可用性,而不依赖它进行交易验证。它不是向智能合约提交证明,而是将原始交易数据直接发布到基础链上。 2. 该模型允许 Rollup 保持对其执行环境和共识机制的完全控制。网络参与者根据设计使用欺诈或有效性证明独立验证交易。...
什么是加密随机数以及如何使用它来防止重放攻击?
2025-11-08 17:00:13
了解区块链系统中的加密随机数1. 加密随机数是在特定加密通信或交易中仅使用一次的数字。它充当唯一标识符,确保数字交互中的数据完整性和真实性。在区块链网络中,随机数经常被用来引入随机性并防止可被恶意行为者利用的可预测模式。 2.随机数的主要作用在于即使所有其他输入保持不变,它也能够改变哈希函数的输出。...
共识协议中活性和安全性之间的权衡是什么?
2025-11-09 12:20:03
了解流动性池在去中心化金融中的作用1. 流动性池是去中心化交易所(DEX)的基础组成部分,使用户能够在不依赖传统订单簿的情况下交易代币。相反,这些池使用智能合约来持有两种或多种代币的储备,从而允许通过算法自动做市。 2. 称为流动性提供者的参与者将等值的两种代币存入池中,并获得流动性提供者 (LP)...
什么是以太坊交易中的调用数据以及如何使用它?
2025-11-09 01:59:45
了解以太坊交易中的调用数据1. 调用数据是指与以太坊网络上的交易一起发送的信息,该信息指定应执行智能合约的哪个功能以及向其传递哪些参数。该数据是交易有效负载的一部分,不需要天然气来永久存储,因为它仅在执行上下文期间存在。 2. 当用户与去中心化应用程序 (dApp) 交互时,他们的钱包会构建包含通话...
加密的意图是什么以及它们如何改变用户交互?
2025-11-09 09:00:23
了解去中心化交易所在现代加密货币交易中的作用1. 去中心化交易所(通常称为 DEX)通过消除中介机构重塑了交易者与数字资产的互动方式。这些平台在区块链网络上运行,允许用户直接从钱包进行交易,而无需将资金存入中心化实体。 2. 智能合约为大多数 DEX 操作提供支持,在满足预定义条件时自动执行交易。这...
什么是重新抵押以及它如何增强经济安全?
2025-11-09 23:40:08
了解区块链生态系统中的重质押1. 重新抵押是指已经将其代币抵押在权益证明 (PoS) 网络中的用户可以将这些抵押资产重新用作区块链生态系统内多个协议或层的抵押品的过程。这种机制允许验证者和委托者将其安全贡献扩展到单个链或应用程序之外。 2. 重新质押使参与者能够利用其现有权益,而不是为每个需要经济安...
什么是主权汇总以及它与智能合约汇总有何不同?
2025-11-10 09:00:05
了解主权汇总1. 主权汇总作为独立的区块链层运行,利用基础层(例如以太坊)的数据可用性,而不依赖它进行交易验证。它不是向智能合约提交证明,而是将原始交易数据直接发布到基础链上。 2. 该模型允许 Rollup 保持对其执行环境和共识机制的完全控制。网络参与者根据设计使用欺诈或有效性证明独立验证交易。...
什么是加密随机数以及如何使用它来防止重放攻击?
2025-11-08 17:00:13
了解区块链系统中的加密随机数1. 加密随机数是在特定加密通信或交易中仅使用一次的数字。它充当唯一标识符,确保数字交互中的数据完整性和真实性。在区块链网络中,随机数经常被用来引入随机性并防止可被恶意行为者利用的可预测模式。 2.随机数的主要作用在于即使所有其他输入保持不变,它也能够改变哈希函数的输出。...
共识协议中活性和安全性之间的权衡是什么?
2025-11-09 12:20:03
了解流动性池在去中心化金融中的作用1. 流动性池是去中心化交易所(DEX)的基础组成部分,使用户能够在不依赖传统订单簿的情况下交易代币。相反,这些池使用智能合约来持有两种或多种代币的储备,从而允许通过算法自动做市。 2. 称为流动性提供者的参与者将等值的两种代币存入池中,并获得流动性提供者 (LP)...
什么是以太坊交易中的调用数据以及如何使用它?
2025-11-09 01:59:45
了解以太坊交易中的调用数据1. 调用数据是指与以太坊网络上的交易一起发送的信息,该信息指定应执行智能合约的哪个功能以及向其传递哪些参数。该数据是交易有效负载的一部分,不需要天然气来永久存储,因为它仅在执行上下文期间存在。 2. 当用户与去中心化应用程序 (dApp) 交互时,他们的钱包会构建包含通话...
查看所有文章














