原文:https://medium.com/coinmonks/gaia-df6b86a17d50
这个过程分4步:
- 在虚拟链中查找名称以获得(名称、散列)对。
- 将用户名解析为数据(通过BNS和Atlas网络控制),以获得相应的区域文件。
- 从zonefile中发现存储后端URI,并查找连接到存储后端的URI。
- 从gaia服务规范中获取数据。
解释
应用程序将给定的用户名解析为某些数据。假设我们有一个用户sidra.id。应用程序将使用blockstack.js库中的Blockstack命名系统。Atlas网络获取根文件(区域文件),这将定义很多关于名称的信息。它还将提供存储应用程序数据的URL。
一旦应用程序完成了对应用程序根文件的查找。申请者将能够获得更具体的数据。假设我想查找文件foo.json。然后,唯一的要求是执行一个正常的URL获取。最后的设置是在Gaia规范中定义的。
如何更改 Gaia的储存?
在此系统中,如果用户想要更改正在运行的Gaia提供程序。因为用户拥有自己的用户名,所以他们可以很容易地将不同的数据与他们的用户名相关联,这允许他们选择不同的应用程序路由。这最终将允许他们更改应用程序执行这些查找的方式。查找定义了数据的控制,只要用户能够控制他们控制数据的查找。通过要求应用程序执行此多步骤查找。我们将控制权交给用户,因为查找从用户拥有的数据源开始。
Gaia 接口
由于Gaia是一个存储后端,它提供了一个简单的接口。因此,应用程序可以像普通的应用程序post、get和put请求工作一样从它进行读写。定义了三种路径:
-
PUT/store/<public-key-hash>/<file-name>
通过App代表用户向Gaia服务写入数据 -
GET/store/<public-key-hash>/<file-name>
从公钥哈希定义的用户中读取文件
写入到一个 Gaia hub
Blockstack应用程序代表用户编写,例如,app将做的是调用PUT为一些数据到Gaia服务,并提供和认证头,这就像公钥签名挑战文本。Gaia服务将验证此应用程序实际上被授权向用户Gaia写入数据。
从 Gaia 中读取数据
- 获取zone文件和数据
- 验证zonefile hash 是否匹配用户公钥
结论
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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。