这是一篇文章的限制,该条款提出了一项医疗保健领域的智能合同:
在Ethereum区块链中,智能契约存储在链上,使其不可变.然而,这在smart合同的开发过程中提出了一个重大挑战,因为不变性使其缺乏可升级性。一旦智能契约被开发和部署,它们就不能再被修改了。因此,不可能用更新来修补安全漏洞或软件错误。
我想把它定义为我的论文的一个假设,并试图解决它,但我不知道它是否是一个好的话题,它可以解决与否,如何解决它。
你能帮我回答一下这个问题吗?
提前谢谢你
发布于 2020-11-27 13:17:48
事实上,解决这一问题的架构模式多种多样。
是的,聪明的合同是不变的。但诀窍是,您可以使用多个智能契约一起创建特定的功能。然后,您可以用新的合同替换一些合同,同时只需更新一个新地址以用于其他合同--因此您可以切换一个合同,并告诉其他合同引用新的合同版本。
您可以阅读更多关于流行模式,代理模式的信息,例如:https://blog.openzeppelin.com/proxy-patterns/。此外,还有很多关于“可升级合同”的文章,这里有一篇不错的文章:https://medium.com/cardstack/upgradable-contracts-in-solidity-d5af87f0f913
https://ethereum.stackexchange.com/questions/90557
复制相似问题