赞
踩
在一开始,代理合约很难去掌握,在这篇文章中,我们将分析最小代理标准或“EIP-1167”,并创建一个代码示例。
在开始之前,不要混淆可升级代理和最小代理,这是非常重要的,它们是完全不同的。在这篇文章中,我们只讨论最小代理。
最小代理标准早在2018年就正式发布了,这个标准的主要思想是尽可能便宜地部署基础合约的副本。让我进一步展开:
最好的例子是一个多重签名钱包。让我们假设用户创建了一个非常简单的多重签名钱包,它可以接收资金、发送资金和设置n个所有者的数量。当然,为了发送资金,用户需要达到一定的法定人数(n≥m)。一旦智能合约准备好了,有两种主要的方法可以让它准备好投入生产。第一个是部署合约,使所有用户直接交互,这意味着所有的资金将存储在该合约,为了跟踪谁拥有什么,需要创建一个映射(地址 => uint) 公共余额+ 一些修饰符。这种方法的问题在于,用户将所有内容集中在一个地方,最重要的是,用户打开了额外攻击向量的可能性。换句话说,用户使合约更加复杂了。我们不想这样做,我们想把安全作为我们的首要任务。想到的第二种方法是让用户部署合约,为了做到这一点,用户需要编译合约,将字节码放在前端,并让用户部署合约。这种方法的问题是效率非常低,而且gas价格昂贵。想象一下,如果合约变得太大太复杂,部署成本将非常高
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。