hyperledger-fabric - 超级账本结构用例
问题描述
我目前正在寻求在数百台主机上安全地复制数百 Gbs 的数据。我正在研究超级账本结构的私有区块链,因为它使用 TLS 和对等八卦协议进行数据传输,当然还有区块链本身的安全性。
我考虑使用区块链作为一种安全地进行数据复制的方式是否合理?我在任何区块链用例中都没有看到这一点,但从我所读到的内容来看,这似乎是合理的,尽管我所读到的所有内容似乎都表明在区块链中存储数据是一个坏主意。通常的论点是它的成本太高并且数据必须在系统中的所有对等点之间复制。在这种情况下,成本不是问题,因为它是一个私有区块链,对于我的用例,数据复制(如果可以有效地完成)是我正在寻找的。
我可以使用 ipfs、swift、S3 等来存储数据,但这会增加操作负担,特别是如果 hyperledger-fabric 可以自己完成这项工作。
另外,如果我使用超级账本私有数据集合,我对清除有多少控制权?对于我的用例,我不能只清除最旧的数据,因为在某些情况下,较旧的数据需要保留很长时间,而在某些情况下,可以相当快地清除较新的数据。
解决方案
关于数据复制:
TL;博士; 不是区块链解决方案
这是我背后的想法。
- 正如您所提到的,存储大量数据并不是一个好主意。是的,有数据的复制方面。(但这是这种情况下需要的副作用)。但是还有需要在所有数据中进行的签名和验证等。因此,处理方面的成本意味着它效率低下。
- 安全的定义..您没有说什么服务质量将构成“安全”。例如
- 用户访问数据的访问控制?
- 确保数据已被复制并且在远程位置的磁盘上没有损坏?
- 数据加密以保护传输中和静止时的数据。
- 区块链,我认为这里的 Hyperledger Fabric 会为您提供保证。但是传输中没有加密,您需要添加它。和访问控制,原语在那里,但需要你实现和使用它们。
我倾向于认为在这种情况下使用区块链将提供关于数据如何在主机之间复制的审计跟踪,以及其他一些协议。
关于私人数据收集清除的主题:
目前,这是通过在对等点达到某个块高度时清除数据来实现的。即在 42 块后清除。但我们正在开发一项功能,以允许基于来自链代码的调用“按需清除”。
推荐阅读
- wget - wget 指定目的地的文件列表
- ruby - 在 Ruby GTK 中查看和动画 SVG 图
- php - #1396 - 创建用户时操作 CREATE USER 失败,因为 'myuser'@'localhost' 错误
- java - 方法调用的 Mockito 链
- python - 多类分类:概率和校准
- spring - Spring MVC 返回响应实体
与响应实体 - java - Android (Java) 应用更新 http 为 HttpURLConnection
- java - 什么用于限制docker容器
- reactjs - 除非刷新浏览器,否则 React 组件不会呈现
- node.js - 如何将 zip 文件从服务器下载到客户端(nodejs)