主页 > 官网安卓版下载imtoken钱包 > 区块链如何为数据存储问题提供更好的解决方案

区块链如何为数据存储问题提供更好的解决方案

介绍

随着当今技术的快速发展,区块链技术被视为解决包括云存储问题在内的许多现有系统问题的流行解决方案。云存储是采用分布式数据中心和虚拟化技术的数据存储系统。云存储因其方便和高效,受到了个人和企业组织的广泛关注:用户可以随时随地通过网络访问存储在云中的数据。然而,云存储的一些弱点,如数据安全性和数据隐私性,并没有得到有效解决。

当用户上传数据到云端时区块链存储数据太大,数据首先会被系统的“大脑”(主数据服务器)接收。然后将数据备份并存储在不同的数据中心,以防止在源数据损坏时无法访问数据。数据上传时,其安全性完全取决于数据中心的可靠性。如果数据中心因自然灾害或人为因素而损坏,数据可能会完全丢失。近年来,包括谷歌在内的科技公司出现了数据损坏和丢失的问题。例如,2015 年,谷歌在比利时的数据中心被闪电击中四次,导致部分数据永久丢失。

除了对数据安全的担忧之外,缺乏集中的存储方式和数据加密也是目前云存储技术难以解决的问题。大多数云存储服务只提供数据传输之间的加密方法,例如 SSL/TLS。但是,这种加密方法很容易受到攻击。此外,由于中心化,服务器管理员有权直接访问用户上传的数据。尽管大多数公司对保护用户隐私都有严格的规定,但只要有人为干预,信息泄露的风险始终存在。

为了解决以上问题,我们设计了DxChain,并开发了基于DxChain Testnet的区块链存储应用——DxBox。

区块链存储数据太大

架构设计

DxBox 是运行在 DxChain Testnet v0.3.6 上的演示应用,为用户提供简单明了的文件上传和下载功能。该应用程序使用主体和供应商模型进行文件传输。更详细的说,客户端是一个节点,它消费基于 DxChain 的原生代币(DX Token)来获取数据传输和存储服务。提供者是利用闲置磁盘存储空间提供数据存储服务并赚取佣金(DX Tokens)的节点。要成为供应商,节点必须广播,广播内容存储在区块链上。委托方将从区块链中获取广播信息,并将其存储在自己的数据库中。

在上传文件之前,客户必须找到合格的供应商并与他们签订合同。客户将不断向存储在数据库中的每个供应商询问他们的参数,例如合同生成、文件上传、下载和存储费用。根据这些信息,客户将自动选择排名靠前的供应商与之签约。每个合约都包含合约截止日期的区块高度、存储文件的大小等信息。合同签订成功后,用户可以通过委托方上传下载文件。为了简化体验过程,DxBox 应用程序中的所有供应商参数都已预先设置好。

区块链将如何为数据存储问题提供更佳解决方案

区块链存储数据太大

如图 1 所示,当用户开始上传文件时,文件被分成不同的块。每个数据块将由客户端节点生成的私钥加密,然后通过纠删码算法进行分片。纠删码算法通过对原始数据进行扩展和编码来保护数据,可以有效提高存储系统的可靠性。当供应商节点下线或部分数据切片损坏时,只能通过部分数据切片恢复原始文件。

对于 DxBox 应用程序,每个数据块将分为 10 个数据块。其中,一个数据块只能恢复5条数据,其余5条作为备份。文件划分的块数取决于文件大小、恢复块所需的块数以及块大小(默认为 4 MB)。它们之间的关系可以用以下公式表示:

例如,当用户通过 DxBox 上传一个大小为 10MB 的文件时,该文件将被分成 3 个数据块和 30 个数据块。当数据块的每个数据块上传成功后,文件的上传过程就完成了。在这个过程中,数据块加密和纠删码算法的应用保证了文件存储系统的安全性和可靠性。由于每个供应商只能获得数据切片,因此他们想要获得所有需要的数据切片并恢复数据基本上是不可能完成的任务。即使在最坏的情况下,攻击者得到所有的数据切片来恢复数据块,但数据块已经被委托方的私钥加密,仍然无法读取原始文件的内容。

区块链存储数据太大

区块链将如何为数据存储问题提供更佳解决方案

文件下载与文件上传完全相反。如图 2 所示,当用户发送下载请求时,客户端节点会从随机选择的五个供应商处获取数据切片。下载文件时,需要的供应商数量按以下公式计算:

当所需的数据片段从提供者成功下载后,数据片段将被转换为加密数据块。数据块解密成功并恢复为原始文件后,用户可以从客户端节点下载到本地设备。

区块链存储数据太大

经济模型

在生成新的存储合约时,供应商和客户都需要在合约中存入一定数量的资金(DX 代币)。在:

1)客户端投入合约的金额将用于所有文件存储、合约生成、文件上传和文件下载费用;

2)供应商在合同中投入的金额是押金。

区块链存储数据太大

签订合同时,委托方需要支付一定的手续费。之后,委托方必须向供应商支付每次文件上传、下载和文件存储的费用。这些费用都将取决于提供商的设置。客户每消费一次,都会记录在存储合约中,即修改存储合约。但是,为了存储合约的不可否认性,也不要在区块链上存储太多数据,供应商只会提交存储合约的最新修订版本并记录在区块链上。

合同到期后,供应商会自动提交入库证明,并获得合同收益和返还押金。委托人存入合约保证金,未使用的部分将退还给委托人。如果供应商无法证明其为客户存储了有效文件,将扣除一部分押金中的代币。

DxBox 采用自动续约机制,即在合同到期前,客户会尝试与每个供应商建立新的合同。新合同生效时,即使旧合同未到期,存储、上传、下载所有文件的费用也会记录在新合同中。

综上所述

如今,云存储因其方便和高效而变得越来越流行。然而,在人们使用它的同时,人们越来越担心它的安全和隐私问题。随着区块链技术的发展,像DxBox这样基于区块链技术的存储产品的诞生,可以为存储安全和隐私问题提供更好的解决方案:文件被分块,加密,通过纠删码算法进一步编码和分片,保证存储系统的安全性和可靠性。此外,DxBox 使用 DxChain 的原生代币和经济模型,可以鼓励更多的存储提供商和个人用户共享他们的闲置硬盘空间,在获得有效经济效益的同时提高整体生态资源利用率。

DxBox 只是一个基于 DxChain Testnet 开发的 Demo Dapp区块链存储数据太大,还不够完善,还有很多改进空间和附加功能,比如优化注册系统,让有区块链经验的用户手动调试客户端的节点设置等等