请选择 进入手机版 | 继续访问电脑版
智能合约 +关注 已有2人关注 +发表新主题

智能合约迁移的工作原理(二)

发表在 2019-10-15 10:53 来自PC 复制链接 手机看帖 扫一扫!手机看帖更爽 0 627

3.迁移成本

数据的恢复是在链外完成的,因此是免费的。Ethereum-etl可以在本地使用。谷歌的BigQuery API提供足够的免费信用来支付其使用。

但是,发送到网络的每个事务和新合同存储的每个字节都有成本。

使用图2的batchTransfer功能,转移200个账户的成本约为2.4M gas,平均gas价格(10 Gwei)的5.04美元(ETH以今天的价格计算)。粗略地说,迁移一个数据需要0.025美元。

如果我们看看按市值排名的前五大ERC20代币的持有人数:



4.交易所

部署新合约可能会对运营产生影响。对于基于token的合同来说,在迁移期间与交换机协作非常重要,以确保将列出新合约,并且将丢弃之前的合约。

幸运的是,前面的标识迁移事件,表明交流有可能进行合作。

智能合约迁移与可升级智能合约

可升级的合约有几个缺点:

· 需要详细的EVM和Solidity的专业知识,基于委托调用的代理要求开发人员掌握EVM和Solidity是必要的。
· 增·加了复杂性和代码大小,合约更难审查,更有可能会有bug和安全问题。
· 增加了要处理的密钥数量,合约将需要多个授权用户(所有者,升级者)。授权用户越多,攻击面越大。
· 每笔交易的gas费用增加。合约变得比没有升级机制的同一版本更具竞争力。
· 他们鼓励在部署后解决问题。如果开发人员知道无法轻松更新合同,他们往往会更彻底地测试和审查合约。
· 它们减少了用户对合约的信任。用户需要信任合约的所有者,这会阻止真正分散的系统。
· 只有在存在强有力的论据时,合约才应具有可升级机制,例如:
· 合约需要经常更新。如果要定期修改合约,则定期迁移的成本可能高到足以证明可升级性机制的合理性。
· 合约要求固定地址。合约的迁移需要使用新地址,这可能会破坏与第三方的交互(例如与其他合同的交互)。
· 合约迁移实现了升级带来的好处,但缺点很少。升级相对于迁移的主要优点是升级成本更低。然而,这种成本并不能证明所有的缺点。

5.小贴士

在合同部署之前准备迁移过程、使用事件来促进数据跟踪。

如果要购买可升级版的合约,则还必须准备迁移程序,因为您的密钥可能会受到损害,或者您的合约可能会遭受错误且不可逆转的操纵。

智能合约带来了新的发展模式,它们的不可变性要求用户重新思考他们构建应用程序的方式,并要求彻底的设计和开发过程。


扫描二维码,手机查看本帖
显示全部楼层 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部
快速回复 发贴