我正在进行区块链开发的第一步,我有一个关于在区块链上存储一些敏感数据的问题。
假设两家公司通过Blockchain开发了文档交换协议。除了他们自己,他们不想让任何人接触他们的信息。
好吧,我想他们可以在两种可能性中做出选择:
是否存在在区块链上存储敏感信息的最佳实践?
发布于 2016-11-01 23:07:22
首先,让我说一下,Blockchain技术并不打算提供数据存储,不应该像数据库一样使用。其主要目的是在不信任第三方的情况下处理交易,并消除双重支出。尽管如此,人们还是找到了在区块链上存储少量数据的方法,如PDF文件、图像、音频文件等。但是,在这样做的时候,人们只是使用区块链技术作为一个存储系统。
1)文档的内容是加密编码的。结果直接记录在Blockchain上。
正如您已经指出的,在公共区块链上存储数据是非常昂贵的。有关更多详细信息,请参阅这。这很快就会使区块链的尺寸膨胀。此外,如果您加密数据并将其放置在区块链上,则有许多缺点。现在用于加密文本的密钥和机制可能会在几年后被打破。但是,在一个区块链中,所有从时间开始的数据都将出现。因此,几年后,您的密码文本可能会被解密,要么通过密码分析,要么通过使用穷尽搜索(蛮力)破解密钥。
此外,在很长一段时间内使用相同的密钥对文档进行加密也不是最佳做法。如果密钥被破坏一次,攻击者可能会破坏所有过去和未来的通信,即在您的情况下的文档交换。这违反了完美前向保密的原则。
2)交易对手只能记录文档内容的链式散列结果。
目前,这是使用块链来验证文档完整性的理想方法。MIT使用这种机制存储学术证书的散列。这段代码是开源的.他们的文章的一个重要亮点是:
区块链并不是一个简单的解决方案,它将修复当前凭据中的所有错误。但它确实为改进我们今天的系统提供了一些可能性--这也是我们很高兴探索的。
最后,您提到的第一个用例对交换的文档进行了prevents
更改,而第二个用例只能detect
更改。
https://ethereum.stackexchange.com/questions/9758
复制相似问题