Crypto news affects Bitcoin price

多边形(MATIC)推出可升级智能合约

Polygon(MATIC)为可升级智能合约提供的新特性:我们知道些什么

Polygon,前身为Matic Network,是以太坊的二层扩展解决方案,旨在为去中心化应用提供更快速、更便宜的交易。Polygon最近宣布了一个新功能,允许开发者在其平台上创建可升级的智能合约。

智能合约是在区块链上自动执行的协议,可以在没有中介的情况下强制执行交易规则。然而,智能合约也是不可变的,意味着一旦部署,就无法修改或更新。这对于希望修复错误、添加新功能或改进智能合约性能的开发者来说是一个挑战。

Polygon的解决方案是使用代理模式实现可升级的智能合约。代理模式是一种设计模式,它创建一个占位对象,充当用户和实际智能合约之间的中介。代理对象可以将调用委托给实际的智能合约,或者如果原始合约已升级,则委托给不同的智能合约。

这样,开发者可以部署智能合约的新版本,而不影响现有用户或丢失其状态和数据。Polygon声称,这个功能将增强其平台的安全性、可扩展性和可用性,并在去中心化领域中促进更多创新和实验。

Polygon的解决方案与其他可升级智能合约的解决方案相比如何?创建可升级智能合约有不同的方法,每种方法都有其优缺点。其中一些常见方法包括:

  • 永久存储:这种方法将智能合约的逻辑和数据分离为两个不同的合约。逻辑合约可以通过指向新地址来升级,而数据合约保持不变,并存储智能合约的状态和数据。这种方法保持了数据完整性和安全性,但同时增加了与多个合约交互的燃气成本和复杂性。
  • Delegatecall:这种方法使用一个称为delegatecall的底层操作码,将调用从一个合约委托给另一个合约。delegatecall操作码允许一个合约在保留自己的上下文和状态的同时执行另一个合约的代码。这样,合约可以充当代理,将调用委托给一个升级的合约,而不改变自己的地址或状态。这种方法降低了燃气成本和复杂性,但由于delegatecall的底层特性,也引入了安全风险和潜在的错误。
  • 非结构化存储:这种方法利用一个巧妙的技巧,将升级合约的地址存储在代理合约的存储中的特定槽位中。然后,代理合约使用汇编代码从存储中加载地址,并使用delegatecall将调用委托给它。这样一来,合约可以充当代理,将调用委托给一个升级的合约,而不改变自己的地址或状态。这种方法降低了燃气成本和复杂性,但由于delegatecall和汇编的底层特性,也引入了安全风险和潜在的错误。

Polygon的解决方案使用代理模式,利用delegatecall和非结构化存储创建可升级的智能合约。Polygon声称,其解决方案比其他解决方案更安全、可扩展和可用,因为它提供了:

  • 创建和管理可升级智能合约的标准化接口
  • 升级智能合约而不影响用户或数据的透明机制
  • 允许开发者选择不同的升级策略和治理模型的模块化架构
  • 开发和测试可升级智能合约的全套工具和库

Polygon的可升级智能合约功能目前处于测试阶段,在其Mumbai测试网络上进行测试。Polygon计划很快在其主网上推出该功能,并为希望使用该功能的开发者提供更多的文档和教程