原文:https://medium.com/coinmonks/gaia-df6b86a17d50

image.png

这个过程分4步:

  1. 在虚拟链中查找名称以获得(名称、散列)对。
  2. 将用户名解析为数据(通过BNS和Atlas网络控制),以获得相应的区域文件。
  3. 从zonefile中发现存储后端URI,并查找连接到存储后端的URI。
  4. 从gaia服务规范中获取数据。

解释
应用程序将给定的用户名解析为某些数据。假设我们有一个用户sidra.id。应用程序将使用blockstack.js库中的Blockstack命名系统。Atlas网络获取根文件(区域文件),这将定义很多关于名称的信息。它还将提供存储应用程序数据的URL。

一旦应用程序完成了对应用程序根文件的查找。申请者将能够获得更具体的数据。假设我想查找文件foo.json。然后,唯一的要求是执行一个正常的URL获取。最后的设置是在Gaia规范中定义的。

如何更改 Gaia的储存?
在此系统中,如果用户想要更改正在运行的Gaia提供程序。因为用户拥有自己的用户名,所以他们可以很容易地将不同的数据与他们的用户名相关联,这允许他们选择不同的应用程序路由。这最终将允许他们更改应用程序执行这些查找的方式。查找定义了数据的控制,只要用户能够控制他们控制数据的查找。通过要求应用程序执行此多步骤查找。我们将控制权交给用户,因为查找从用户拥有的数据源开始。

Gaia 接口

由于Gaia是一个存储后端,它提供了一个简单的接口。因此,应用程序可以像普通的应用程序post、get和put请求工作一样从它进行读写。定义了三种路径:

Gaia
  1. PUT/store/<public-key-hash>/<file-name> 通过App代表用户向Gaia服务写入数据
  2. GET/store/<public-key-hash>/<file-name>从公钥哈希定义的用户中读取文件

写入到一个 Gaia hub

Blockstack应用程序代表用户编写,例如,app将做的是调用PUT为一些数据到Gaia服务,并提供和认证头,这就像公钥签名挑战文本。Gaia服务将验证此应用程序实际上被授权向用户Gaia写入数据。

image

从 Gaia 中读取数据

  1. 获取zone文件和数据
  2. 验证zonefile hash 是否匹配用户公钥

Screen Shot 2019-08-27 at 9.07.45 AM.png

结论

Gaia是Blokckstack App的存储后端。它提供了用户拥有自己数据的能力,但是存储的数据仍然依赖于传统的DNS服务和复杂的云存储。它还将大多数用户设备无法处理的计算负载强加给用户。对于去中心化的互联网来说,用户隐私还有很长的路要走。 大多数用户还没有为这种变化做好准备。DApp需要对用户友好,并使其他人做的工作更少才能成功。

参考

https://github.com/blockstack/gaia
https://blockstack.org/whitepaper.pdf
https://www.youtube.com/watch?v=aF4IGcwMgmM&t=503s
https://www.youtube.com/watch?v=e4xIGGv3Wpc


空乱木
4 声望1 粉丝