我是产品经理,不是区块链编码员,正在寻求第二意见和一些常规的良好实践建议。我有一个粗体的问题,其余的是背景。
背景:
我的担忧:
如果我们的代码中存在可利用的漏洞,那么不良行为者就会有要攻击的合同地址列表。
对我们来说,最坏的风险是,如果我们的公众访问代码中存在缺陷,那么行为不端的人可能会以未加密状态访问每个用户的数据。
Bad-Actor然后使用该缺陷以及他们可以从Etherscan获取的智能合约地址列表来下载多个用户数据。
我的问题
这些现实的担忧吗?
开发人员已外包给第三方和与之共事的优秀人士。但是,我目前正在仔细检查,以寻求替代的意见,而不只是他们的意见。
如果Ive提供的信息令人困惑或不完整,我们深表歉意。
提前感谢您的时间。
答案 0 :(得分:0)
我希望每个SC地址只有其所有者和我们才知道。现在,我看到任何人都可以访问此信息。
如您在此处所述,有关区块链的数据(即交易哈希,合约地址和用户地址)是透明可用的。这是由以太坊设计的,并允许分类账的可追溯性。
此外,智能合约数据可能潜在可用于以太坊网络中的任何参与者。但是,这基于以下条件:
如果是这样,我们可以考虑采取哪些总体方针来减轻这些风险
鉴于您所描述的合同方案,如果有权访问这些用户数据智能合约的唯一参与者是他们自己的用户,那么您只需要应用类似于{{ 3}}转换为您的智能合约逻辑。在链接的示例中,对智能合约数据的访问仅限于单个特定的以太坊用户地址。
如果可以的话,我可以掩盖Etherscan中创建者的地址而不会带来其他负面影响
好的。听起来您当前正在使用一个帐户来部署智能合约,因此创建者地址是不变的。 (旁注:我不确定您为什么要使用此帐户代表用户部署合同,听起来用户应该在部署自己的智能合同)。无论如何,您每次部署智能合约时都可以简单地创建一个新的代理用户地址。但是,我认为这样做没有任何好处,而这只是function modifier的一个示例。