【问题标题】:Solidity the visibility of mapping 'Value'Solidity映射“价值”的可见性
【发布时间】:2021-04-21 13:27:17
【问题描述】:

在阅读了一些文档和在线教程后,我的理解是 Mapping 的密钥没有存储在存储中。价值如何?如果我想存储一个应该是机密或私有的值,只要没有人拥有密钥,该值就会安全吗?还是我还需要加密值?

【问题讨论】:

    标签: solidity


    【解决方案1】:

    您不能将其完全私密地存储在公共链上。

    有几种方法可以使其以更复杂的方式访问,例如

    • 不发布源代码
    • 通过在函数之间过度跳转、使用按位运算等“混淆”字节码,故意让人难以理解
    • 将存储“私人”数据的交易作为内部交易发送到您的目标合约,以便大多数区块链浏览器不会将其显示为与您的目标合约相关(请参阅this answer 及其附加链接以获得更好的解释)

    但密钥(或存储槽)和值始终是可确定的,因为存储数据的交易是公开的,合约字节码也是公开的。

    【讨论】:

      猜你喜欢
      • 2019-02-26
      • 2019-01-05
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-31
      • 2021-04-28
      相关资源
      最近更新 更多