【问题标题】:Store Secret in EVM blockchain在 EVM 区块链中存储秘密
【发布时间】:2021-09-12 13:18:30
【问题描述】:

我正在考虑在区块链中存储秘密。虽然有一些特定的区块链处理它,但我想看看以太坊的可行性。

这个想法是以加密格式将秘密存储为状态变量,并且此变量值的可访问性仅限于某人。我的问题是,由于区块链是开放的,每个人,如果有人真的很熟练,那么他/她可以读取每个变量的值。您认为,或者需要进一步做些什么,才能使状态变量的值足够安全?

【问题讨论】:

    标签: security blockchain ethereum solidity privacy


    【解决方案1】:

    拥有运行 EVM 全节点的机器的人将有权访问该变量。这种可访问性限制对于保密数据毫无意义。

    您可以在链上存储加密数据。但是您需要将解密器保持在链外。例如。您对一段数据进行 AES 加密并将其发布到链上,但您保留私钥。

    我应该指出,以太坊钱包,也就是 secp256k1 密钥对能够进行数据加密/解密。您可以使用公钥加密数据,将其发布到链上,然后获取然后使用您的私钥解密,这当然是链下的。阅读更多here.

    【讨论】:

    • 感谢 hackape。如果包含解密算法的私有函数是“onlyOwner”来调用返回秘密解密值怎么办?节点是否也可以看到解密算法?这可以防止用户丢失他们的解密密钥。
    • 是的,算法存储为字节码,这只是节点可见的另一种数据类型。
    • 我应该指出您的用户的以太坊钱包,也就是 secp256k1 密钥对能够加密/解密。您可能只是编写使用用户的公钥加密数据的应用程序,因此他们不会丢失解密密钥,因为它只是私钥。检查this answer
    • 再次感谢 hackape。很有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 2017-07-19
    • 2021-03-18
    • 2021-04-13
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    相关资源
    最近更新 更多