美文网首页blockstackblockstack-Trans
naming-Atlas-Overview of the Atl

naming-Atlas-Overview of the Atl

作者: 空乱木 | 来源:发表于2019-08-06 16:25 被阅读2次

FROM : https://docs.blockstack.org/core/atlas/overview.html

本文档描述Atlas网络,这是一个点对点内容寻址存储系统,其块的哈希值在公共区块链上公布。Atlas允许用户和开发人员永久存储跨每个对等点复制的数据块。只要至少有一个图集对等点在线,所有块都可以提供给客户端。

本文档面向开发人员和技术用户。讨论了以下概念:

体系结构
动机
特征比较

本文档的读者应该熟悉blockstack命名服务(BNS),以及blockstack的存储系统Gaia。我们建议读者在阅读本文之前熟悉这两种系统。

体系结构

Atlas被设计成与BNS集成,以便允许用户将名称状态离线存储,并将其编码为DNS区域文件。blockstack中最常见的用例有:

  • 为所有者的Gaia数据存储存储名称的路由信息。
  • 存储BNS子域名事务和关联状态。

Atlas是Blockstack中的中间件系统。大多数开发人员不直接与它交互。像Blockstack浏览器这样的BNS客户端会自动为它们注册的名称生成区域文件,并自动将它们传播到Atlas网络。BNS API端点,包括我们的公共端点和blockstack.js库,当需要在Gaia中查找数据(如概要文件和应用程序数据)时,将自动从Atlas中获取区域文件。

Screen Shot 2019-08-06 at 3.34.07 PM.png

图1:Atlas在块堆栈架构中的位置。每个BNS节点
实现一个Atlas对等点。Atlas对等点将BNS中的名称状态值视为
DNS区域文件的哈希值。Atlas对等点彼此交换区域文件
直到它们各自拥有所有已知区域文件的完整副本。客户可以看到
使用名称的stat值作为区域文件散列,为名称创建区域文件。客户
如果区域文件与先前宣布的匹配,可以广播到网络散列。实际上,区域文件存储到名称所有者的Gaia集线器的url允许blockstack应用程序在Gaia中读写数据。

不过,Atlas是一个通用的内容寻址存储系统,高级开发人员可以使用它以不可变和持久的方式承载数据。除了它在Blockstack中的默认用例,Atlas是理想的任务如下:

  • 以人类可读的名称宣布PGP公钥
  • 存储软件发行版的包散列
  • 安全地将shell脚本部署到远程vm
  • 将人类可读的名称绑定到Tor .onion地址(示例)
动机

Atlas的设计是为了增加BNS。BNS允许每个名称以20字节的顺序存储少量的状态。这个大小非常小,因为必须将状态记录到一个公共区块链中,其中每个字节的成本很高,并且区块链协议限制事务的大小。

为了弥补这一点,我们开发了一个off-chain存储系统,允许BNS名称绑定和存储大量的状态到每个名称,以一种保留将状态写入区块链的安全性的方式。BNS名称所有者将存储其状态的cryptograhpic散列,然后存储实际的状态图,而不是在区块链上存储20字节的数据。这将名称的状态大小与区块链解耦。

Atlas的引用实现目前允许将最多40kb的状态绑定到BNS名称,而不是仅仅20个字节。40kb的数据被复制到每个BNS节点,并永久存储在那里。

特征比较

Atlas并不是现有的唯一的点对点内容可寻址块存储。下表描述了Atlas与其他流行块存储的关系。

特征 Atlas BitTorrent DAT IPFS SWAM
每个对等点存储所有块 X X
副本是永久的[1] X X X
副本是免费的 X X X 5
Sybil-resistant块发现 X X X
Sybil-resistant节点发现 X
固定块大小 X X X X

这里的[1]是“永久的”,意思是一旦某个对等方拥有了数据,他们就永远不会将其作为协议的一部分删除。

相关文章

网友评论

    本文标题:naming-Atlas-Overview of the Atl

    本文链接:https://www.haomeiwen.com/subject/ltiidctx.html