随着亦来云各项基础设施开发的完善,近期,亦来云的去中心化存储 Elastos Hive 2.0也正式上线。Elastos Hive 与 Elastos DID 解决方案、Elastos Carrier 一起构成了Elastos Smartweb 中的平台服务层,并通过 elastOS 为用户提供了一系列去中心化存储解决方案。本文将详细为大家介绍 Hive 2.0的功能、优势和新特性。
Hive 2.0简介:
Hive 2.0是 Elastos 的去中心化存储解决方案。在 Hive 原生的新架构中,Elastos 区块链完全被排除在等式之外,数据存储在”Hive节点”的传统服务器上,并通过传统的 API 调用访问。然而,Hive 的重要特性在于其服务器的提供,Hive 服务器作为独立的服务,由第三方或终端用户自己提供,而不是应用程序开发人员。Hive 还允许用户在任何时间将数据传输到其他位置或存储空间。
具体案例:
以下是普通用户与 Hive 2.0交互时的感受:
在 DID 钱包(如 elastOS identity Capsule 或 Elamask)中创建一个唯一的、去中心化的身份(DID)后,一旦它可用,用户将选择一个Hive节点作为他们初始的”Vault 服务商”。术语”Vault”描述了在给定的 Vault 提供商上为特定用户指定的沙箱存储空间——即 Hive 节点。
在 elastOS 中,Hive Manager 胶囊允许用户通过提供的2个默认 Hive 节点的公共地址来快速开始:”Trinity Tech Hive 1″和”Trinity Tech Hive 2″。用户可以方便地选择默认地址,或选择他们自定义的”Vault 服务商”。目前,Hive 2.0仍在积极开发中,处于 Alpha 版本,因此,只部署了两个 Trinity Tech Hive 节点。然而,任何人都可以自由地部署 Hive 节点,并且用户可以将这些节点添加到他们的 elastOS 配置文件中。Trinity Tech 目前为了演示提供了2个默认节点,使用户可以快速上手。未来,Trinity Tech 的默认节点可能是可用的,也可能是不可用的,这将由 Elastos 社区决定。
一旦用户选择了一个 Hive 节点,该节点的信息将保存到用户的公共 DID 配置文件中,并记录在 DID 侧链上。通过这个机制,其他用户可以找到这个原始用户的 Vault 位置。例如,如果用户A 在他的 Vault 上发布了一条消息,该消息将存储在他所选择的 Vault 服务商上——例如,Trinity Tech Hive 1。如果用户 B 想读用户 A 的消息,用户 B 必须首先从 DID 侧链中检索用户 A 的 DID,在那里他发现用户 A 使用 Trinity Tech Hive 1作为 Vault 服务商。从这里,用户 B 可以查询用户 A 的 Vault 来访问他的消息。
更换 Vault:
如上所述,Hive 2.0的主要特性是它为用户提供的灵活性,让用户自己决定在哪里存储数据,而以前由应用程序开发人员决定。
因此,即使用户选择了一个初始 Vault 服务商,他们也可以随时将数据转移到另一个 Vault 服务商。Hive 2.0已经提供这种支持。
用户将个人数据转移给不同的 Vault 服务商的原因有很多,包括:
寻找一个他们认为更值得信赖的商业 Vault 服务商。
寻找一个提供优质包装、支持、速度或价格的商业 Vault。
希望通过运营商启动并运行一个个人 Hive 节点,以完全控制他们的数据。
此前的保险库提供者服务不可靠或服务中断。
Hive 2.0的主要特性和功能:
身份验证:
DID 访问:所有的 Hive vault 都是通过DID访问的。Elastos 的 DID 解决方案和 Hive 2.0是一对兼容且高效的技术。
存储功能:
文件存储:传统文件存储。
数据库:Mongo 后台数据库查询。
键值存储:一种使用简单键作为引用存储数据对象的方便方法。
发布/订阅:在线时即时获得数据变化通知,无需手动获取数据。
附加功能:
支付模块来以激励 Vault 服务商运行 Hive 节点。
Vault 备份和转移功能。
数据加密。
访问控制使拥有数据的用户可以选择其他可以读取数据或对其数据有贡献的用户,并指定允许和禁止读取的条件。
Hive 2.0的现在和未来
目前,Hive 2.0为用户提供了以下功能:
文件存储
数据库
访问控制
支付
Trinity Tech 计划在 Hive 2.0的下一个版本中为用户提供以下功能:
Vault 备份和传输
键值
发布/订阅
数据加密
为 Elastos Carrier 提供支持
除了为用户提供一系列特有功能外,Hive 2.0还支持 Elastos Carrier。方法如下:
虽然,Elastos Carrier 是一个优秀的分散通信协议,但就像其他任何技术一样,它也有一些不足:
Carrier 采用了一种”缓慢握手”的方式,需要几秒钟才能找到对等点,并确定对等点是在线还是离线。
Carrier 只能支持纯集中式离线存储,或者根本不支持。
支持组对于 Carrier 协议来说是相当麻烦的。
现在,集成 Hive 2.0后,应用程序可以使用 Hive 作为主存储源,大量的数据不再需要流向 Carrier。此外,Hive 节点永远不会离线,因此用户可以放心他们的数据被安全地存储。随着 Hive 作为去中心化存储服务发挥作用,Carrier 可以将其所有的计算资源用于其最擅长的事情:实现去中心化的即时通信。例如,在社区构建的 Hyper IM 中,Hive 2.0和 Carrier 协同工作,确保消息和好友请求不会在一个用户下线后丢失。
在传统的聊天架构中,用户发送消息需要经过以下流程:
API 调用将消息存储在集中的服务器数据库中。
Websocket 将消息传递给在线用户,不需要用户手动从数据库中获取数据,这是一个缓慢且资源密集的过程。
使用 Hive 2.0和 Carrier,相同的流程在 Elastos 上执行如下:
Hive 2.0调用将消息存储在所选用户的 Vault 中。
Carrier 将消息传递给在线用户。
与传统模型相比,Hive 2.0的主要优势:
Hive 2.0的宗旨是用户决定他们数据的存储位置,而不是应用开发者。通过这种方式,Hive 2.0打开了通往重新设想应用程序架构的大门。
在传统模型中,所有用户帐户和用户数据都存储在应用程序开发人员的专用服务器上,用户只能控制应用程序开发人员允许他们控制的内容。在 Elastos 的模型中,用户通过存储在本地设备上的 DID 来控制他们的身份,通过他们选择的 Vault 服务商来控制数据存储位置。
当 dApps 开始使用 DIDs、Carrier 和 Hive 时,例如 Hyper IM,当用户数据通过 Hive 2.0被定向并存储在特定的 Vault 中,用户通过 DID 凭证确定他们选择与 dApps 共享各自配置文件中的哪些元素时,全新的、面向数据的经济模型将进入框架。如,智能合约可以用于根据任意数量的指标自动将令牌分发给不同的用户。例如,Feeds 的内容发布者可能接收到一个计算出来的收益,服务提供者、内容创建者和价值创造链中的任何其他贡献者也可能接收到相应的收益。
当然,最大的问题是财富从何而来。一种潜在的模式可能是用户将个人应用程序使用数据和个人资料数据共享给感兴趣的第三方,比如数据聚合商和广告商。另一个潜在的模式是利用自动化的智能合约,让用户选择如何为他们消费的内容付费。例如,用户可以决定为 Hive Vault 订阅付费,或者通过与第三方共享数据获得折扣,第三方将通过支付订阅费实现折扣。
防止用户利用 Hive 节点进行垄断
在任何新的经济模式中,都必须考虑到参与者可能会为了自己的利益而试图巩固权利和资源。对于 Hive 2.0, 可能会出现 Hive 节点操作员会通过实现可定制的、特别的功能,从而使他们的节点与网络中其他现有节点不兼容。在这种情况下,用户将无法将他们的数据传输给其他Vault 服务商。对此,Trinity Tech 会持续关注这个问题,并且已经讨论了一些预防性的解决方案:如,elastOS 或 Hive 钱包可以在 Hive Manager 胶囊中嵌入自动测试服务,以确保 Vault 服务商给定的兼容标准。
自然,随着 Hive Vault 提供商数量的增加,Hive 的用户群将分布在许多提供商中。在这种情况下,应用程序开发人员自然会受到激励,以确保当用户使用其应用程序的各种功能时,他们所选择的 Vault 服务商不会出现任何问题。因此,开发人员可能会向 Vault 服务商施压,要求他们保持完全兼容。
当然,欢迎社群成员为提高 Hive 标准做出贡献,相关想法可以通过 Hive GitHub 存储库提交请求,以确保改进对整个生态系统有好处。也欢迎其他完善 Vault 服务商的请求,只要它们不影响与其他节点的兼容性。
过渡:从 Hive 1.0升级到 Hive 2.0
简单地说,Hive 2.0支持实际的、真实的 Elastos 应用程序。Hive 1.0主要是面向 IPFS 的,IPFS 有很多缺点:首先,IPFS 通常被认为是分散式的,就像区块链一样,不会丢失数据,这是不正确的,IPFS 最初使用传统服务器(或个人计算机)存储数据。然后,可以在其他用户请求数据的情况下进行数据复制。并且,向其他 IPFS 节点复制的数据大多是临时的,这意味着在用户计算机损坏后无法恢复数据。
同时,IPFS 是一个公开的分布式账本,即使用户加密了数据,也没有简单的内置访问控制与一个用户或一组用户共享数据,这使应用程序开发变得复杂和繁琐。Hive 2.0允许基于 DIDs 对访问权限进行细化定制。
在 IPFS 中,文件不能被修改。每次修改文件都会创建一个新的文件 ID,从而给需要为这些文件保留此前版本以正常运行的应用程序带来新的挑战。最后, IPFS 只存储文件,而不是大多数应用程序所需要的数据库。
elastOS 中的 Hive 2.0
作为 Elastos 生态系统的重要平台,elastOS 构成了 Elastos 应用层的一部分,而 Hive 1.0的很多功能 elastOS 都无法兼容。基于 Hive 2.0性能的改进、数据库管理和访问控制支持,终于可以在 elastOS中探索大量以前未开发的功能,Hive2.0与 DID 进行了有效的集成,为 elasOS 的 DID 会话和登录模式提供了大量兼容的功能。
Hive 2.0已经在 elastOS 中被大量应用。下面是一些例子:
用户可以(或者很快就能)使用 Hive Vault 完全备份已安装的应用程序和收藏夹、联系人列表、钱包同步状态和 DID 凭证。当用户重新安装 elastOS 后,也可以使用他们的 Hive vault 来恢复数据。此外,单个用户(由单个 DID 标识)可以在2个不同的设备上运行 elastOS,并实时同步任何变化。
Hive Manager Capsule 允许用户选择 Vault 服务商,在需要时为存储计划付费,并且很快就可以备份和传输数据。Trinity Hive 插件可以支持100%的 Hive 节点操作,可能 dApps 已经使用了。Hyper IM 将成为第一个充分利用 Elastos DID、Hive 和 Carrier 相关技术的应用程序。
从 Hive 2.0开始:针对开发人员
想要使用 Hive 2.0的开发者可以从两个不同的访问点进行选择:
elastOS:
完整的开发环境,包括 DID 插件,Hive 插件,DID Capsule, Hive Manager Capsule,
身份验证助手,备份和恢复助手,以及终端用户登录。
Hive Demo Capsule 作为源代码的起点。
通过 elastOS Telegram 通道提供支持。
本地应用(Android, iOS, Linux, Windows, Mac):
DID SDK 已经可用了。
Hive SDK 和 Hive Node 还没有作为软件包发布,但相关服务可以在 GitHub 上使用。
更多的开发工作还有待完成,开发环境当前不如 elastOS 先进。
可以在 Elastos 开发者电报频道上直接联系 Trinity Tech 的团队成员来回答问题。