ERC20 代币合约 / 在 Etherscan 上验证后,所有代币合约都对公众可见

问题描述

我有一个关于 ERC20 代币合约的问题:

显然在 Etherscan 上验证后,所有代币合约都对公众可见。

  • 这不是安全风险吗?
  • 如果我们不验证我们的合同怎么办?
  • Etherscan 上的这些合约(经过验证和可见的)中的一些是否可以再次用于新币, 还是受版权保护?

先谢谢你!

解决方法

显然在 Etherscan 上验证后,所有代币合约都对公众可见。

他们的字节码在部署时已经是公开的。您也只是公开了源代码。

这不是安全风险吗?

仅当您的合同包含安全漏洞时。

但如果您的合约确实包含安全漏洞,即使不发布源代码,部署它也会存在安全风险。有一些方法可以将字节码“反编译”成某种伪代码甚至某种程度的 Solidity,这样即使源代码没有发布,任何人都可以看到您的合约逻辑。

如果我们不验证我们的合同怎么办?

这是一个功能齐全的合约,只是没有经过验证的源代码。

Etherscan 上的这些合约(经过验证和可见的)中的一些是否可以再次用于新代币,或者它们是否受版权保护?

这取决于作者创建它的 license。绕过许可是可能的 - 因此,如果有人在“请勿复制”许可下发布合同,那么仍然有人可以复制......但这是一个法律主题,而不是编程。