【发布时间】:2019-05-31 22:48:03
【问题描述】:
我是产品经理而不是区块链编码员,我正在寻找第二意见和一些一般性的良好实践建议。我有一个粗体问题,其余的都是背景。
背景:
- 我们正在开发一个应用程序,它将用户信息写入 ETH 区块链上的智能合约。
- 我们部署的 SC 仅包含信息,不包含 Ether。
- 每个用户都有自己的 SC,它只存储该用户的特定信息。
- 我们的应用程序允许用户编辑和更新这些信息,然后将更改上传到他们自己的 SC。
- 用户的 SC 地址与他们自己的 Ether 钱包“绑定”(抱歉,缺少正确的术语)。
- 我在 Etherscan (Ropsten) 上看到有一个 Contract Creator 地址,它是我们的应用创建的所有 SC 的常量。
- 我假设合约创建者地址对我们来说是唯一的,它是我们创建的代码,因此它只代表我们的应用程序部署我们的智能合约。
- 我希望每个 SC 地址只有其所有者和我们自己知道。现在我发现任何人都可以访问这些信息。
我的担忧:
如果我们的代码中存在可利用的缺陷,那么不良行为者就会拥有要攻击的合约地址列表。
对我们来说最糟糕的风险是,如果我们可公开访问的代码中存在缺陷,不良行为者可能会以未加密状态访问每个用户的数据。
然后,Bad-Actor 使用该缺陷和他们可以从 Etherscan 获得的智能合约地址列表来下载多个用户数据。
我的问题
这些是现实的担忧吗?
- 如果是这样,我们可以参考哪些总体方向来降低这些风险
- 如果是这样,有没有办法可以在 Etherscan 中隐藏 Creator 地址,而不会产生其他负面影响
开发人员是外包的第 3 方和优秀的合作伙伴。但我目前正在寻找一种替代意见,而不只是他们的意见。
如果我提供的信息令人困惑或不完整,我们深表歉意。
提前感谢您的宝贵时间。
【问题讨论】: