河南漫云科技有限公司
主营产品: 元宇宙系统开发、元宇宙源码、NFT数字藏品软件开发,nft智能合约开发,盲盒系统app开发搭建,nft源码系统,网络技术开发,软件技术开发,软件定制,技术开发,信息技术服务
区块智能合约开发
发布时间:2024-11-22

  

  说起智能合约,大家一般都会想到其不可篡改的特性。合约一旦部署便yongbu可更改,是以太坊智能合约的一大优点。正因为这个特点,大家才可以放心地使用,而不用担心合约开发者跑路。

  在许多合约里,这个特性非常重要。然而,对另一些应用来说,尽管可以让用户用得放心,代码不可修改也为开发带来了很大的麻烦。在以太坊中,我们可以通过将合约模块化,并更新主合约中记录的子合约地址来实现代码更新。

  在EOS中,情况便发生了180°大转变。默认情况下,合约账户可以随时修改代码而不受任何约束。换而言之,即便用户在这一刻验证过合约源码无误,下一秒,合约便可以修改代码从而实现任何操作。

  这对于涉及到钱的应用来说是个大忌。由于代码可以变更,用户不放心把钱转入该合约,从而使得用户使用的门槛提升不少。但是,另一方面,如果把active权限设定为合约本身,使代码不可更改,如果代码出现了漏洞,又或者在功能上需要更新时,迁移用户至新的合约又十分麻烦。

  综上,我认为,每个合约里都应该有一个权限短暂移交的机制。这个机制能保证合约在一定的时间内不可被更改,而且合约的所有者可以随时延长这个时间。只有当这个时间结束时,合约所有者才可以重新掌握合约的代码更改权限。

  举个例子,一个游戏的合约里应该有一个机制,使得游戏开始前,所有者可以移交权限。而只有在一轮游戏结束后,所有者才可以进行代码更新。这个机制可以大大降低用户参与的信任门槛,而又不会失去合约更新的能力。

  按照这个思路,代码上可以有很多方法实现,我这里介绍我写的一个简单实现。完整的源码已经在GitHub上发布:


展开全文
拨打电话 微信咨询 发送询价