首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不喜欢可升级的智能合同或桥梁?

为什么不喜欢可升级的智能合同或桥梁?
EN

Ethereum用户
提问于 2022-12-09 05:32:27
回答 3查看 55关注 0票数 0

黑客马拉松显示对不可升级的桥智能合同的偏爱。为什么开发人员在构建协议或dapp时会将此视为一种优势?说它是“可升级的”不是更好吗?

对于(1)开发人员和(2) dapp/合同的日常用户来说,可升级合同到底是什么,以及可升级性对这两方的影响?

EN

回答 3

Ethereum用户

回答已采纳

发布于 2022-12-09 05:42:10

可升级契约是一个可以在保持相同存储(数据)的同时更改逻辑的契约。例如,您可以在可升级合同中添加新功能,而不会丢失其任何数据。

从开发人员的角度来看,它通过使用两个契约来工作:代理契约和逻辑(实现)契约。每个人都与代理契约交互,代理契约简单地将事务中继到逻辑契约。通过更新代理中的合同引用(地址),可以将逻辑契约转换为新的契约。所有数据都存储在代理合同中。

从用户的角度来看,两者并没有太大的差别。它们只是与代理契约(它显示实现契约的功能)进行交互,甚至可能没有注意到底层逻辑契约是否被切换(升级)。

一些人认为可升级性不好的原因是某些实体具有改变逻辑的能力。从理论上讲,他们可以通过转换合同,把所有的资产都转让给他们,从而支持这个项目。如果没有可升级性,则不存在此攻击矢量。

票数 3
EN

Ethereum用户

发布于 2022-12-09 05:42:43

可升级契约是智能契约,存储和逻辑存储在两个不同的地址上。这允许在部署契约后更改逻辑(在https://blog.chain.link/upgradable-smart-contracts/上有更多信息)。这些问题的主要问题是集中。我们允许合同所有者在任何时候更改逻辑(可能是恶意的)。不太重要,但仍然值得注意的是,这会带来额外的天然气成本。

对于开发人员来说,可升级能力是一把双刃剑,因为在升级时,您必须注意原始合同的存储布局。

对于最终用户来说,除了我前面提到的问题(集中化问题+增加的天然气成本)之外,它并没有真正改变任何事情。

票数 1
EN

Ethereum用户

发布于 2022-12-09 17:57:48

有人可能更喜欢不可升级的合同的原因很简单:你看到的是你得到了什么。例如,如果你投资一个不能升级的AMM,那么你就知道AMM总是遵循合同中的规则,而不是偷你的钱。

如果合同是可升级的,业主可以升级到一个偷你的钱。因此,一个可升级的合同并不完全是一个合同,但更像是一个复杂的方式,相信别人的钱。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/140893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档