关于ethereum隐私数据的现状
一句话概述:以太坊上没有隐私数据
private 声明帮不了你
string private secret;
如上,将变量设置为private只是确保仅通过特定的 function 才能够更改变量的值。但就数据的隐私性“private”而言,这是没用的。基本上,以太坊smart contract上的所有内容都在(所有)节点(即所有矿工和参与者)的硬盘上,私有变量只是为了使阅读不方便,但并不意味着不可能。它不足以保护您的敏感、隐私信息。如下图所示。
而且,smart contract 的代码是透明的,private 的变量声明是很容易被以太坊用户识别的。
1 | 0x5 - length of the string |
private data 上链的方式如下,但是都觉得是隔靴搔痒:
1.hash 上链,作为存证的证明
2.密文上链。
3.时间锁 Time-locked secrets
4.EIP1024
请参考:How to secure Sensitive data on an Ethereum Smart contract?