1、传统应用的交互模式
在说今天的主题之前,我们先了解传统 Web 或移动应用程序如何与存储服务交互开始说起。
每当用户登录到应用程序时,该应用程序都会从其远程服务器获取用户数据,并将其返回给用户。所有复杂的计算都发生在云中维护的专用服务器上,而不是在客户端。
上图中,我们假设有两个用户Alice和Bob。两者都有客户端,例如:微信。每当Alice想给Bob发消息时,其实是Alice向微信的服务器发消息,微信服务器将消息存储在自己的服务器上,然后将消息转发给Bob;Bob回复Alice一条消息,原理亦是如此。可见这个过程并非Alice与Bob之间直接对话。
不难发现,在Alice→服务器→Bob之间有一条路径,但Alice←→Bob之间没有直接路径。这种模式即中心化,中心化的服务器代表Alice和Bob写入数据,并控制应如何共享这些数据。
在传统应用中,数据虽然是Alice和Bob的,但他们无法控制这些数据。
2、中心化数据存储的问题
一直以来,我们都习惯于中心化集权机构制定的规则,我们信任它们,将自己的信息、资产存储在这些机构中,相信能得到妥善保管。
然而,事实恰好相反,越是中心化集权机构,越存在如下问题:
容易成为黑客攻击的目标
一旦中心化服务器被黑客攻破,我们的敏感信息将暴露,如果我们习惯用一个相同的密码访问互联网各个应用、网站,那么黑客可以通过“撞库”去盗取我们的账号、甚至资产。没有一个中心化系统是绝对的安全。中心化服务提供商作恶
我们将数据存储在中心化服务提供商的服务器上,无人监管,在利益的诱惑下,服务提供商有可能将用户的信息贩卖。数据丢失、被篡改
中心化服务提供商可以篡改我们的数据,甚至如果服务停止,我们的数据将再无法找回。用户不能掌控自己的数据
由于数据是存储在中心化服务器上,即使数据是用户产生的,但用户始终不能掌控这些数据,无法控制这些数据只能自己查看。
3、Blockstack如何解决中心化存储问题
为了使用户能够控制其数据并将其数据与用户身份严格关联,Blockstack提供了去中心化存储系统(Gaia,念‘该呀
:)’)和Blockstack命名系统(BNS),后续我再介绍BNS。
Blockstack为用户提供了默认的Gaia存储空间,用户也可以自己搭建自己的Gaia hub存储。Gaia 是由用户控制的存储设备, 用户可以决定谁可以看到数据,谁可以写入数据到其存储设备。它是分布式高性能存储系统,可支持许多存储服务,如Dropbox,azure,S3存储等。
我们可以用自己Blockstack id登录到Blockstack的应用程序中,这些应用程序将代表我们(仅在我们允许的情况下)将数据读/写到Gaia hub中。在默认情况下,这些数据是通过用户的公钥进行加密的,只有用户的私钥解密之后才能还原查看到内容,任何第三方在不得知我们的私钥的情况下,均无法查看这些数据。
4、小结
最后,我们一起回顾一下,本文从传统互联网应用交互开始,聊了中心化服务器存储的问题,然后介绍了Blockstack为用户提供一种由用户真正自主控制的存储解决方案:Gaia。
在后续的文章中,我们将一起继续了解Blockstack的世界。#Blockstack科普#
版权声明:项目均采集于互联网, 空投币 无法审核全面,且希望大家能赚钱,请谨慎切勿上当受骗!
温馨提示:★★★天上真会掉馅饼!天道酬勤,都是机会!不错过每个空投糖果!真假难以辨认,尽量0撸!