DDAO:去中心化数据访问对象

当前位置:首页 > 币圈百科 > DDAO:去中心化数据访问对象

DDAO:去中心化数据访问对象

2023-01-12币圈百科196

数据管理是指收集、整理、组织、存储、处理、传输和检索不同类型数据的过程。它是计算机的一个重要应用领域。其目的之一就是借助计算机科学来保存和管理复杂、海量的数据,使人们能够方便地充分利用这些信息资源。另一个目的是从大量的原始数据中提取和推断出有价值的信息,然后将这些信息作为行动和决策的依据。目前,企业主要使用集中式数据库和文件系统进行数据管理。大型互联网公司会开发相关系统,如GFS(谷歌文件系统)、SQL Server等,并部署本地化服务。中小公司接入AWS、阿里云等云服务,将数据管理的任务委托给第三方。无论是本地数据库还是云端数据服务,这些集中式的数据库都有一定的应用场景,都在维护很多公司的基础数据。集中式存储是当前数据管理的主要解决方案,但世界各地的集中式数据库和文件系统都存在严重的存储问题。企业通常通过集中式数据库和文件系统存储所有信息和文件。然而,集中式存储方案通常会成为黑客的目标或被灾难破坏。企业将面临所有数据资源的丢失,并且永远无法恢复。然而,企业对数据和文档的依赖导致了前所未有的风险,这是非常令人担忧的。虽然一些大型企业也提供相关的云备份服务,但也只能多提供几个备份点,并没有解决根本问题。

相关工作

随着区块链技术和数字货币市场的发展,分散式数据存储和管理技术越来越受到研究领域和投资市场的重视。

去中心化文件系统

区块链作为一种分布式账本系统,会在每个节点备份链上的数据,因此不适合存储图片、视频、音频等数据量大的文件。在当前的区块链应用程序中,这些文件仍然存储在开发人员的服务器上。这种方式造成了应用的集中化,违背了区块链的本质含义。去中心化文件系统项目主要有IPFS(星际文件系统)[1]、Swarm [2]、Storj [3]等。基本的做法是在上传文件的时候把文件分成更小的数据块,然后存储在节点上。下载文件时,用文件的哈希值作为地址进行请求,然后从节点获取所有的数据块,组合成一个完整的文件。这样,文件分散存储在网络的各个节点,实现了去中心化。这些技术都面临一个问题,就是如何让网络中更多的节点保持在线,并提供下载服务。因此,一些项目提出在去中心化文件系统的基础上增加节点激励的机制,让在线节点获得收益。这样,去中心化的文件系统就变成了一种类似云存储的服务。用户在上传和下载的过程中需要购买服务来奖励提供存储服蓑衣网小编2022务的节点。几个典型的项目包括Filecoin [4],Wolk [5],Fluence [6],Sia [7]。

分散式数据库

分散式文件系统实现了数据的分散存储功能,但是当用户上传数据时,不能对数据进行进一步的修改和搜索,限制了其在数据管理中的应用。传统的集中式数据管理服务通常使用MySQL、Redis等数据库系统来添加、删除和检查数据,因此在去中心化领域也需要类似的数据库服务。在分布式数据库领域研究了一些项目,包括BigchainDB [8],Bluzelle [9],Ties。DB [10]等。基本思路是通过事务将数据库的写请求上传到区块链,然后使用MongoDB等引擎索引数据,响应搜索请求。使用区块链构建分布式数据库有效地利用了区块链成熟的分布式系统架构,在稳定性和安全性方面有很大的优势。 这些项目目前处于起步阶段,在具体实现成熟之前,使用智能合约作为数据库服务也是一个可行的替代方案。该项目的一部分基于以太坊IPFS构建自己的应用程序,并使用Solidity编写的智能合约来管理数据。Solidity支持的数据结构包含常见的类型,如List、Map、Struct等。这对于常见的数据管理场景已经足够了。这些项目在[11]中被完全列出。

系统描述

分散式系统的实现方案多种多样,给开发者带来了很高的成本。本文将设计一个通用库,连接底层的分散系统和顶层的DApp应用,实现各种分散系统的CRUD功能。通过这个库,开发人员可以快速构建自己的数据管理应用程序,而不必关心底层的技术实现。同时,基于这个通用库,可以建立一套云服务,提供各种去中心化系统的在线CRUD接口,为开发者节省部署和维护去中心化系统的成本。以区块链为代表的去中心化技术为数据管理提供了新的解决方案。数字加密和节点共识机制的引入保证了数据的私密性、安全性和不可篡改性。由于网络中存储了大量的数据副本,因此无需担心单节点故障导致的数据丢失,提高了蓑衣网小编2022安全性和可靠性。而加密和分段技术保证了数据的私密性,控制了用户数据的读取权限。同时,为了保证可扩展性,使用了集群技术。也就是说,集群中的一大组节点一起存储和管理数据,并且可以添加新节点或扩展更多集群。

但是,目前随着大量去中心化系统的引入,开发者在选择、学习、开发、部署、维护等方面都面临着更高的成本。因此,我们提出了DDAO(去中心化数据访问对象),以便使用一个公共库来访问各种去中心化系统,从而对数据执行CRUD(创建、读取、更新、删除)操作。通过这个系统,开发人员可以快速地从各种分散的系统中读写数据,构建自己的应用程序,而不必关心底层的技术实现。

系统可以分为三层,分别是DDMI(去中心化数据管理基础设施)、DDAO和DApp(去中心化应用),下面将分别介绍。

DDMI

DDMI层将兼容各种分散式系统,包括区块链、分散式数据库、分散式文件系统等。这些分散的系统可以由开发人员在本地启动,或者部署在远程服务器上,然后通过统一的格式描述符连接起来。比如name://user:password@ip:port格式,即可以通过Qtum://admin:123456 @ 127 . 0 . 0 . 1:13889或者通过IPFS://my name:mypasswd @ 192 . 168 . 1连接到13889端口下的本地Qtum链。

DDAO

DDAO层是本文提出的核心模块。其主要功能包括(1)建立各种分散系统的连接,(2)抽象出具有兼容性的CRUD接口。对于不同类型的分散系统,会抽象成不同的接口:1。对于区块链系统,它将包括诸如发送交易、查询交易、创建合同、读取和写入合同等接口。2.对于分布式数据库系统,它将包括数据库接口,如创建、搜索、插入和更新。3.对于分散式文件系统,它将包括文件上传、下载和加密等主要接口蓑衣网小编2022。这里的设计需要考虑系统的兼容性,所以只抽象了一些通用的功能。同时保留了发送原始命令的接口,这样开发者可以请求一些特定于每个系统的接口。

DApp

DApp可以是运行在浏览器上的JavaScript脚本,也可以是运行在服务器上的程序。DApp程序本身可以存储在分散的文件系统上,并通过特定的地址作为入口获得。DApp可以通过实例化DDAO,连接本地或云分散系统,并在系统上执行CRUD操作来实现数据管理的应用。多个DDAO可以在DApp被实例化,以连接不同的分散系统。 这样可以在一个应用中与多个分散的系统进行数据交互,实现比传统的基于智能合约的DApp更丰富的功能。比如跨链多区块链的数据传输,或者区块链文件系统的数据可视化展示。

应用场景

丰富的应用场景是介绍DDAO重要性的最佳方式。基于DDAO,许多分散的应用程序将变得易于开发和实现。

去中心化的内容分享

DDAO可以用来搭建一个社交、博客、图片、音乐、视频分享平台。通过使用DDAO的编写接口,用户发布的文字、图片、视频等内容可以存储在IPFS等去中心化的文件系统中,元数据(如内容地址、发布时间、用户ID等。)可以存储在智能合约或数据库中。然后使用DDAO的阅读界面对内容进行筛选、排序和展示。这个系统的好处是用户发布的内容是去中心化的,不可篡改。

去中心化交易平台

像淘宝、亚马逊这样的交易平台,都可以基于DDAO来实现。商家上传商品信息时,通过DDAO的编写接口将文字和图片存储在去中心化的文件系统中,商品的元数据(如价格、数量、分类、关键词等。)存储在智能合约或数据库中。在浏览时,用户使用DDAO的阅读界面来搜索和筛选产品。最后,DDAO连接用于订单创建、支付和交易完成的区块链。这个平台的好处是商品信息和交易流程更加透明,支付更加便捷。

云存储服务的去中心化

存储服务提供商通过DDAO将信息写入区块链或数据库进行注册。用户上传文件时,通过在区块链上购买和消费令牌来购买存储服务,通过DDAO将文件上传到去中心化的文件系统。文件的地址存储在区块链或数据库中。下载时,通过DDAO浏览文件的信息和地址,然后从文件系统下载文件。用户消费的代币用来奖励存储服务商,形成一个完整的经济生态。

总结

分散式数据存储和管理具有广泛的应用前景。目前基础设施不完善,制约了地面应用。分散数据库和文件系统正在开发中。可以想象,在不久的将来,这些系统将会陆续实施。DDAO和现在中央集权制下的DAO一样,在实际开发中会被广泛使用。

参考文献

[1]ipfs.https://ipfs.io/.[2]swarm.3359swarm-guide.readthedocs.io/en/latest/.[3]storj.3359storj.io/档案币。https://filecoin.io/.[5]沃尔克。https://wolk.com/.[6]流量。https://fluence.one/.[7]战略影响评价。https://sia.tech/.[8] BigchainDB。https://www.bigchaindb.com/。[9]布鲁泽尔。https://bluzelle.com/.[10]蒂丝https://tiesdb.com/.[11]了不起的IPFS。https://awesome.ipfs.io/.

DDAO:去中心化数据访问对象 | 分享给朋友: